diff --git a/Cargo.lock b/Cargo.lock index 9d51ccccb622..6aae513b69a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -679,6 +679,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.13.1" @@ -1302,7 +1308,21 @@ dependencies = [ "serde", "snark_wrapper", "zk_evm 1.4.0", - "zkevm_circuits", + "zkevm_circuits 1.4.0", +] + +[[package]] +name = "circuit_definitions" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#44975f894aff0893b5f98e34d0e364375390bcb8" +dependencies = [ + "crossbeam 0.8.2", + "derivative", + "seq-macro", + "serde", + "snark_wrapper", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1", ] [[package]] @@ -1790,8 +1810,10 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ + "generic-array", "rand_core 0.6.4", "subtle", + "zeroize", ] [[package]] @@ -1876,6 +1898,36 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "curl" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2 0.4.10", + "winapi", +] + +[[package]] +name = "curl-sys" +version = "0.4.70+curl-8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0333d8849afe78a4c8102a429a446bfdd055832af071945520e835ae2d841e" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.48.0", +] + [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -2057,11 +2109,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der 0.6.1", - "elliptic-curve", - "rfc6979", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", "signature 1.6.4", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.8", + "digest 0.10.7", + "elliptic-curve 0.13.7", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.2", +] + [[package]] name = "ed25519" version = "2.2.3" @@ -2101,16 +2167,35 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct", + "base16ct 0.1.1", "crypto-bigint 0.4.9", "der 0.6.1", "digest 0.10.7", - "ff", + "ff 0.12.1", "generic-array", - "group", + "group 0.12.1", "pkcs8 0.9.0", "rand_core 0.6.4", - "sec1", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.3", + "digest 0.10.7", + "ff 0.13.0", + "generic-array", + "group 0.13.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", "subtle", "zeroize", ] @@ -2333,6 +2418,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "ff_ce" version = "0.14.3" @@ -2678,6 +2773,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -2866,7 +2962,18 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff", + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", "rand_core 0.6.4", "subtle", ] @@ -3611,9 +3718,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.8", +] + +[[package]] +name = "k256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +dependencies = [ + "cfg-if 1.0.0", + "ecdsa 0.16.9", + "elliptic-curve 0.13.7", + "once_cell", "sha2 0.10.8", + "signature 2.2.0", ] [[package]] @@ -3706,6 +3827,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", + "libc", "pkg-config", "vcpkg", ] @@ -4099,7 +4221,9 @@ dependencies = [ "zk_evm 1.3.1", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", + "zk_evm 1.4.1", "zkevm_test_harness 1.4.0", + "zkevm_test_harness 1.4.1", "zksync_contracts", "zksync_eth_signer", "zksync_state", @@ -5659,6 +5783,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + [[package]] name = "ring" version = "0.16.20" @@ -6010,7 +6144,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct", + "base16ct 0.1.1", "der 0.6.1", "generic-array", "pkcs8 0.9.0", @@ -6018,6 +6152,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.8", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + [[package]] name = "secp256k1" version = "0.20.3" @@ -6201,6 +6349,12 @@ dependencies = [ "uuid", ] +[[package]] +name = "seq-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" + [[package]] name = "serde" version = "1.0.189" @@ -8268,7 +8422,7 @@ version = "1.3.1" source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.1-rc2#0a7c775932db4839ff6b7fb0db9bdb3583ab54c0" dependencies = [ "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", - "k256", + "k256 0.11.6", "lazy_static", "num 0.4.1", "serde", @@ -8290,7 +8444,7 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] @@ -8305,7 +8459,7 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] @@ -8320,10 +8474,25 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zk_evm" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.1#6250dbf64b2d14ced87a127735da559f27a432d5" +dependencies = [ + "anyhow", + "lazy_static", + "num 0.4.1", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 1.4.1", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zk_evm_abstractions" version = "0.1.0" @@ -8336,6 +8505,18 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zk_evm_abstractions" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.4.1#0aac08c3b097ee8147e748475117ac46bddcdcef" +dependencies = [ + "anyhow", + "num_enum", + "serde", + "static_assertions", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm-assembly" version = "1.3.2" @@ -8355,6 +8536,25 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zkevm-assembly" +version = "1.3.2" +source = "git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1#50282016d01bd2fd147021dd558209778db2268b" +dependencies = [ + "env_logger 0.9.3", + "hex", + "lazy_static", + "log", + "nom", + "num-bigint 0.4.4", + "num-traits", + "sha3 0.10.8", + "smallvec", + "structopt", + "thiserror", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_circuits" version = "1.4.0" @@ -8375,6 +8575,27 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#70234e99c2492740226b9f40091e7fccc7ef28e9" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_opcode_defs" version = "1.3.1" @@ -8394,12 +8615,26 @@ dependencies = [ "bitflags 2.4.1", "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", "ethereum-types 0.14.1", - "k256", + "k256 0.11.6", "lazy_static", "sha2 0.10.6", "sha3 0.10.6", ] +[[package]] +name = "zkevm_opcode_defs" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" +dependencies = [ + "bitflags 2.4.1", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.14.1", + "k256 0.13.2", + "lazy_static", + "sha2 0.10.8", + "sha3 0.10.8", +] + [[package]] name = "zkevm_test_harness" version = "1.3.3" @@ -8424,7 +8659,7 @@ dependencies = [ "test-log", "tracing", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3)", - "zkevm-assembly", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2)", ] [[package]] @@ -8433,7 +8668,7 @@ version = "1.4.0" source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#43aeb53d7d9c909508a98f9fc140edff0e9d2357" dependencies = [ "bincode", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0)", "codegen 0.2.0", "crossbeam 0.8.2", "derivative", @@ -8447,7 +8682,36 @@ dependencies = [ "structopt", "test-log", "tracing", - "zkevm-assembly", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2)", +] + +[[package]] +name = "zkevm_test_harness" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#44975f894aff0893b5f98e34d0e364375390bcb8" +dependencies = [ + "bincode", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "codegen 0.2.0", + "crossbeam 0.8.2", + "curl", + "derivative", + "env_logger 0.9.3", + "hex", + "lazy_static", + "rand 0.4.6", + "rayon", + "reqwest", + "rescue_poseidon 0.4.1 (git+https://github.com/matter-labs/rescue-poseidon.git?branch=poseidon2)", + "serde", + "serde_json", + "smallvec", + "snark_wrapper", + "structopt", + "test-log", + "tracing", + "walkdir", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", ] [[package]] @@ -8504,6 +8768,7 @@ dependencies = [ name = "zksync_commitment_utils" version = "0.1.0" dependencies = [ + "multivm", "zkevm_test_harness 1.4.0", "zksync_types", "zksync_utils", @@ -9154,8 +9419,10 @@ dependencies = [ "tokio", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", + "zk_evm 1.4.1", "zkevm_test_harness 1.3.3", "zksync_basic_types", + "zksync_config", "zksync_consensus_roles", "zksync_contracts", "zksync_mini_merkle_tree", diff --git a/checks-config/era.dic b/checks-config/era.dic index dfe4cabdbf45..f0ec14591b1f 100644 --- a/checks-config/era.dic +++ b/checks-config/era.dic @@ -879,3 +879,5 @@ decommitment hardcoded plookup shivini +EIP4844 +KZG diff --git a/contracts b/contracts index fa45ef1d2b04..2dfbc6bac84e 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit fa45ef1d2b04c640395ec1f34f76ef03f8d19849 +Subproject commit 2dfbc6bac84ecada93cab4a0dea113bc2aceba1c diff --git a/core/bin/external_node/src/config/mod.rs b/core/bin/external_node/src/config/mod.rs index cc923e1eb3c3..6bf06f049303 100644 --- a/core/bin/external_node/src/config/mod.rs +++ b/core/bin/external_node/src/config/mod.rs @@ -3,7 +3,7 @@ use std::{env, time::Duration}; use anyhow::Context; use serde::Deserialize; use url::Url; -use zksync_basic_types::{Address, L1ChainId, L2ChainId, MiniblockNumber}; +use zksync_basic_types::{Address, L1ChainId, L2ChainId}; use zksync_core::api_server::{ tx_sender::TxSenderConfig, web3::{state::InternalApiConfig, Namespace}, @@ -11,7 +11,7 @@ use zksync_core::api_server::{ use zksync_types::api::BridgeAddresses; use zksync_web3_decl::{ jsonrpsee::http_client::{HttpClient, HttpClientBuilder}, - namespaces::{EnNamespaceClient, EthNamespaceClient, ZksNamespaceClient}, + namespaces::{EthNamespaceClient, ZksNamespaceClient}, }; #[cfg(test)] @@ -30,8 +30,6 @@ pub struct RemoteENConfig { pub l2_testnet_paymaster_addr: Option
, pub l2_chain_id: L2ChainId, pub l1_chain_id: L1ChainId, - - pub fair_l2_gas_price: u64, } impl RemoteENConfig { @@ -63,15 +61,6 @@ impl RemoteENConfig { .context("Failed to fetch L1 chain ID")? .as_u64(), ); - let current_miniblock = client - .get_block_number() - .await - .context("Failed to fetch block number")?; - let block_header = client - .sync_l2_block(MiniblockNumber(current_miniblock.as_u32()), false) - .await - .context("Failed to fetch last miniblock header")? - .expect("Block is known to exist"); Ok(Self { diamond_proxy_addr, @@ -82,7 +71,6 @@ impl RemoteENConfig { l2_weth_bridge_addr: bridges.l2_weth_bridge, l2_chain_id, l1_chain_id, - fair_l2_gas_price: block_header.l2_fair_gas_price, }) } } @@ -154,6 +142,15 @@ pub struct OptionalENConfig { /// The max possible number of gas that `eth_estimateGas` is allowed to overestimate. #[serde(default = "OptionalENConfig::default_estimate_gas_acceptable_overestimation")] pub estimate_gas_acceptable_overestimation: u32, + /// Whether to use the compatibility mode for gas estimation for L1->L2 transactions. + /// During the migration to the 1.4.1 fee model, there will be a period, when the server + /// will already have the 1.4.1 fee model, while the L1 contracts will still expect the transactions + /// to use the previous fee model with much higher overhead. + /// + /// When set to `true`, the API will ensure to return gasLimit is high enough overhead for both the old + /// and the new fee model when estimating L1->L2 transactions. + #[serde(default = "OptionalENConfig::default_l1_to_l2_transactions_compatibility_mode")] + pub l1_to_l2_transactions_compatibility_mode: bool, /// The multiplier to use when suggesting gas price. Should be higher than one, /// otherwise if the L1 prices soar, the suggested gas price won't be sufficient to be included in block #[serde(default = "OptionalENConfig::default_gas_price_scale_factor")] @@ -226,6 +223,10 @@ impl OptionalENConfig { 1_000 } + const fn default_l1_to_l2_transactions_compatibility_mode() -> bool { + true + } + const fn default_gas_price_scale_factor() -> f64 { 1.2 } @@ -527,13 +528,15 @@ impl From for TxSenderConfig { .unwrap(), gas_price_scale_factor: config.optional.gas_price_scale_factor, max_nonce_ahead: config.optional.max_nonce_ahead, - fair_l2_gas_price: config.remote.fair_l2_gas_price, vm_execution_cache_misses_limit: config.optional.vm_execution_cache_misses_limit, // We set these values to the maximum since we don't know the actual values // and they will be enforced by the main node anyway. max_allowed_l2_tx_gas_limit: u32::MAX, validation_computational_gas_limit: u32::MAX, chain_id: config.remote.l2_chain_id, + l1_to_l2_transactions_compatibility_mode: config + .optional + .l1_to_l2_transactions_compatibility_mode, } } } diff --git a/core/bin/snapshots_creator/src/tests.rs b/core/bin/snapshots_creator/src/tests.rs index e3f4179f5410..d061b0906705 100644 --- a/core/bin/snapshots_creator/src/tests.rs +++ b/core/bin/snapshots_creator/src/tests.rs @@ -143,6 +143,7 @@ async fn create_miniblock( l1_tx_count: 0, l2_tx_count: 0, base_fee_per_gas: 0, + gas_per_pubdata_limit: 0, batch_fee_input: Default::default(), base_system_contracts_hashes: Default::default(), protocol_version: Some(Default::default()), diff --git a/core/bin/system-constants-generator/src/main.rs b/core/bin/system-constants-generator/src/main.rs index 0557eccd9d6e..3c5c056ffe72 100644 --- a/core/bin/system-constants-generator/src/main.rs +++ b/core/bin/system-constants-generator/src/main.rs @@ -3,7 +3,7 @@ use std::fs; use codegen::{Block, Scope}; use multivm::{ utils::{get_bootloader_encoding_space, get_bootloader_max_txs_in_batch}, - vm_latest::constants::{BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_L1_GAS, MAX_PUBDATA_PER_BLOCK}, + vm_latest::constants::MAX_PUBDATA_PER_BLOCK, }; use serde::{Deserialize, Serialize}; use zksync_types::{ @@ -15,9 +15,13 @@ use zksync_types::{ system_params::MAX_TX_ERGS_LIMIT, }, IntrinsicSystemGasConstants, ProtocolVersionId, GUARANTEED_PUBDATA_IN_TX, - L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, + L1_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, }; +// For configs we will use the default value of `800_000` to represent the rough amount of L1 gas +// needed to cover the batch expenses. +const BLOCK_OVERHEAD_L1_GAS: u32 = 800_000; + mod intrinsic_costs; mod utils; @@ -30,7 +34,6 @@ struct L1SystemConfig { priority_tx_max_pubdata: u32, fair_l2_gas_price: u64, l1_gas_per_pubdata_byte: u32, - block_overhead_l2_gas: u32, block_overhead_l1_gas: u32, max_transactions_in_block: u32, bootloader_tx_encoding_space: u32, @@ -56,7 +59,6 @@ pub fn generate_l1_contracts_system_config(gas_constants: &IntrinsicSystemGasCon priority_tx_max_pubdata: (L1_TX_DECREASE * (MAX_PUBDATA_PER_BLOCK as f64)) as u32, fair_l2_gas_price: FAIR_L2_GAS_PRICE_ON_L1_CONTRACT, l1_gas_per_pubdata_byte: L1_GAS_PER_PUBDATA_BYTE, - block_overhead_l2_gas: BLOCK_OVERHEAD_GAS, block_overhead_l1_gas: BLOCK_OVERHEAD_L1_GAS, max_transactions_in_block: get_bootloader_max_txs_in_batch( ProtocolVersionId::latest().into(), @@ -64,7 +66,6 @@ pub fn generate_l1_contracts_system_config(gas_constants: &IntrinsicSystemGasCon bootloader_tx_encoding_space: get_bootloader_encoding_space( ProtocolVersionId::latest().into(), ), - l1_tx_intrinsic_l2_gas: gas_constants.l1_tx_intrinsic_gas, l1_tx_intrinsic_pubdata: gas_constants.l1_tx_intrinsic_pubdata, l1_tx_min_l2_gas_base: gas_constants.l1_tx_min_gas_base, @@ -72,7 +73,7 @@ pub fn generate_l1_contracts_system_config(gas_constants: &IntrinsicSystemGasCon l1_tx_delta_factory_deps_l2_gas: gas_constants.l1_tx_delta_factory_dep_gas, l1_tx_delta_factory_deps_pubdata: gas_constants.l1_tx_delta_factory_dep_pubdata, max_new_factory_deps: MAX_NEW_FACTORY_DEPS as u32, - required_l2_gas_price_per_pubdata: MAX_GAS_PER_PUBDATA_BYTE, + required_l2_gas_price_per_pubdata: REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, }; serde_json::to_string_pretty(&l1_contracts_config).unwrap() @@ -85,7 +86,6 @@ struct L2SystemConfig { guaranteed_pubdata_bytes: u32, max_pubdata_per_block: u32, max_transactions_in_block: u32, - block_overhead_l2_gas: u32, block_overhead_l1_gas: u32, l2_tx_intrinsic_gas: u32, l2_tx_intrinsic_pubdata: u32, @@ -106,7 +106,6 @@ pub fn generate_l2_contracts_system_config(gas_constants: &IntrinsicSystemGasCon max_transactions_in_block: get_bootloader_max_txs_in_batch( ProtocolVersionId::latest().into(), ) as u32, - block_overhead_l2_gas: BLOCK_OVERHEAD_GAS, block_overhead_l1_gas: BLOCK_OVERHEAD_L1_GAS, l2_tx_intrinsic_gas: gas_constants.l2_tx_intrinsic_gas, l2_tx_intrinsic_pubdata: gas_constants.l2_tx_intrinsic_pubdata, diff --git a/core/bin/system-constants-generator/src/utils.rs b/core/bin/system-constants-generator/src/utils.rs index c594f3065bea..993a995e6195 100644 --- a/core/bin/system-constants-generator/src/utils.rs +++ b/core/bin/system-constants-generator/src/utils.rs @@ -2,7 +2,7 @@ use std::{cell::RefCell, rc::Rc}; use multivm::{ interface::{ - dyn_tracers::vm_1_4_0::DynTracer, tracer::VmExecutionStopReason, L1BatchEnv, L2BlockEnv, + dyn_tracers::vm_1_4_1::DynTracer, tracer::VmExecutionStopReason, L1BatchEnv, L2BlockEnv, SystemEnv, TxExecutionMode, VmExecutionMode, VmInterface, }, vm_latest::{ @@ -10,6 +10,7 @@ use multivm::{ BootloaderState, HistoryEnabled, HistoryMode, SimpleMemory, ToTracerPointer, Vm, VmTracer, ZkSyncVmState, }, + zk_evm_1_4_1::aux_structures::Timestamp, }; use once_cell::sync::Lazy; use zksync_contracts::{ @@ -20,10 +21,9 @@ use zksync_state::{InMemoryStorage, StorageView, WriteStorage}; use zksync_types::{ block::MiniblockHasher, ethabi::Token, fee::Fee, fee_model::BatchFeeInput, l1::L1Tx, l2::L2Tx, utils::storage_key_for_eth_balance, AccountTreeId, Address, Execute, L1BatchNumber, - L1TxCommonData, L2ChainId, MiniblockNumber, Nonce, ProtocolVersionId, StorageKey, Timestamp, - Transaction, BOOTLOADER_ADDRESS, H256, SYSTEM_CONTEXT_ADDRESS, - SYSTEM_CONTEXT_GAS_PRICE_POSITION, SYSTEM_CONTEXT_TX_ORIGIN_POSITION, U256, - ZKPORTER_IS_AVAILABLE, + L1TxCommonData, L2ChainId, MiniblockNumber, Nonce, ProtocolVersionId, StorageKey, Transaction, + BOOTLOADER_ADDRESS, H256, SYSTEM_CONTEXT_ADDRESS, SYSTEM_CONTEXT_GAS_PRICE_POSITION, + SYSTEM_CONTEXT_TX_ORIGIN_POSITION, U256, ZKPORTER_IS_AVAILABLE, }; use zksync_utils::{bytecode::hash_bytecode, bytes_to_be_words, u256_to_h256}; diff --git a/core/lib/commitment_utils/Cargo.toml b/core/lib/commitment_utils/Cargo.toml index 801f90ea0f23..bb286d6216a0 100644 --- a/core/lib/commitment_utils/Cargo.toml +++ b/core/lib/commitment_utils/Cargo.toml @@ -13,3 +13,4 @@ categories = ["cryptography"] zksync_types = { path = "../../lib/types" } zksync_utils = { path = "../../lib/utils" } zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" } +multivm = { path = "../../lib/multivm" } diff --git a/core/lib/commitment_utils/src/lib.rs b/core/lib/commitment_utils/src/lib.rs index ac6dc8ff9178..3c2db1471cc6 100644 --- a/core/lib/commitment_utils/src/lib.rs +++ b/core/lib/commitment_utils/src/lib.rs @@ -1,23 +1,33 @@ //! Utils for commitment calculation. +use multivm::utils::get_used_bootloader_memory_bytes; use zkevm_test_harness::witness::utils::{ events_queue_commitment_fixed, initial_heap_content_commitment_fixed, }; -use zksync_types::{LogQuery, H256, U256, USED_BOOTLOADER_MEMORY_BYTES}; +use zksync_types::{LogQuery, ProtocolVersionId, H256, U256}; use zksync_utils::expand_memory_contents; -pub fn events_queue_commitment(events_queue: &Vec, is_pre_boojum: bool) -> Option { - (!is_pre_boojum).then(|| H256(events_queue_commitment_fixed(events_queue))) +pub fn events_queue_commitment( + events_queue: &Vec, + protocol_version: ProtocolVersionId, +) -> Option { + (!protocol_version.is_pre_boojum()).then(|| H256(events_queue_commitment_fixed(events_queue))) } pub fn bootloader_initial_content_commitment( initial_bootloader_contents: &[(usize, U256)], - is_pre_boojum: bool, + protocol_version: ProtocolVersionId, ) -> Option { - (!is_pre_boojum).then(|| { - let full_bootloader_memory = - expand_memory_contents(initial_bootloader_contents, USED_BOOTLOADER_MEMORY_BYTES); - H256(initial_heap_content_commitment_fixed( - &full_bootloader_memory, - )) - }) + let expanded_memory_size = if protocol_version.is_pre_boojum() { + return None; + } else { + get_used_bootloader_memory_bytes(protocol_version.into()) + }; + + let full_bootloader_memory = + expand_memory_contents(initial_bootloader_contents, expanded_memory_size); + let commitment = H256(initial_heap_content_commitment_fixed( + &full_bootloader_memory, + )); + + Some(commitment) } diff --git a/core/lib/config/src/configs/api.rs b/core/lib/config/src/configs/api.rs index 609634d6f34a..a06b9fa53dfe 100644 --- a/core/lib/config/src/configs/api.rs +++ b/core/lib/config/src/configs/api.rs @@ -51,6 +51,14 @@ pub struct Web3JsonRpcConfig { pub estimate_gas_scale_factor: f64, /// The max possible number of gas that `eth_estimateGas` is allowed to overestimate. pub estimate_gas_acceptable_overestimation: u32, + /// Whether to use the compatibility mode for gas estimation for L1->L2 transactions. + /// During the migration to the 1.4.1 fee model, there will be a period, when the server + /// will already have the 1.4.1 fee model, while the L1 contracts will still expect the transactions + /// to use the previous fee model with much higher overhead. + /// + /// When set to `true`, the API will ensure to return gasLimit is high enough overhead for both the old + /// and the new fee model when estimating L1->L2 transactions. + pub l1_to_l2_transactions_compatibility_mode: bool, /// Max possible size of an ABI encoded tx (in bytes). pub max_tx_size: usize, /// Max number of cache misses during one VM execution. If the number of cache misses exceeds this value, the API server panics. @@ -101,6 +109,7 @@ impl Web3JsonRpcConfig { account_pks: Default::default(), estimate_gas_scale_factor: 1.2, estimate_gas_acceptable_overestimation: 1000, + l1_to_l2_transactions_compatibility_mode: true, max_tx_size: 1000000, vm_execution_cache_misses_limit: Default::default(), vm_concurrency_limit: Default::default(), diff --git a/core/lib/config/src/configs/chain.rs b/core/lib/config/src/configs/chain.rs index 47f43c9f3f06..d35c6ed52b55 100644 --- a/core/lib/config/src/configs/chain.rs +++ b/core/lib/config/src/configs/chain.rs @@ -26,6 +26,25 @@ impl NetworkConfig { } } +/// An enum that represents the version of the fee model to use. +/// - `V1`, the first model that was used in zkSync Era. In this fee model, the pubdata price must be pegged to the L1 gas price. +/// Also, the fair L2 gas price is expected to only include the proving/computation price for the operator and not the costs that come from +/// processing the batch on L1. +/// - `V2`, the second model that was used in zkSync Era. There the pubdata price might be independent from the L1 gas price. Also, +/// The fair L2 gas price is expected to both the proving/computation price for the operator and the costs that come from +/// processing the batch on L1. +#[derive(Debug, Clone, Copy, Deserialize, PartialEq, Eq)] +pub enum FeeModelVersion { + V1, + V2, +} + +impl Default for FeeModelVersion { + fn default() -> Self { + Self::V1 + } +} + #[derive(Debug, Deserialize, Clone, PartialEq, Default)] pub struct StateKeeperConfig { /// The max number of slots for txs in a block before it should be sealed by the slots sealer. @@ -63,8 +82,26 @@ pub struct StateKeeperConfig { pub fee_account_addr: Address, - /// The price the operator spends on 1 gas of computation in wei. - pub fair_l2_gas_price: u64, + /// The minimal acceptable L2 gas price, i.e. the price that should include the cost of computation/proving as well + /// as potentially premium for congestion. + pub minimal_l2_gas_price: u64, + /// The constant that represents the possibility that a batch can be sealed because of overuse of computation resources. + /// It has range from 0 to 1. If it is 0, the compute will not depend on the cost for closing the batch. + /// If it is 1, the gas limit per batch will have to cover the entire cost of closing the batch. + pub compute_overhead_part: f64, + /// The constant that represents the possibility that a batch can be sealed because of overuse of pubdata. + /// It has range from 0 to 1. If it is 0, the pubdata will not depend on the cost for closing the batch. + /// If it is 1, the pubdata limit per batch will have to cover the entire cost of closing the batch. + pub pubdata_overhead_part: f64, + /// The constant amount of L1 gas that is used as the overhead for the batch. It includes the price for batch verification, etc. + pub batch_overhead_l1_gas: u64, + /// The maximum amount of gas that can be used by the batch. This value is derived from the circuits limitation per batch. + pub max_gas_per_batch: u64, + /// The maximum amount of pubdata that can be used by the batch. Note that if the calldata is used as pubdata, this variable should not exceed 128kb. + pub max_pubdata_per_batch: u64, + + /// The version of the fee model to use. + pub fee_model_version: FeeModelVersion, /// Max number of computational gas that validation step is allowed to take. pub validation_computational_gas_limit: u32, @@ -100,7 +137,13 @@ impl StateKeeperConfig { close_block_at_gas_percentage: 0.95, fee_account_addr: Address::from_str("0xde03a0B5963f75f1C8485B355fF6D30f3093BDE7") .unwrap(), - fair_l2_gas_price: 250000000, + compute_overhead_part: 0.0, + pubdata_overhead_part: 1.0, + batch_overhead_l1_gas: 800_000, + max_gas_per_batch: 200_000_000, + max_pubdata_per_batch: 100_000, + minimal_l2_gas_price: 100000000, + fee_model_version: FeeModelVersion::V2, validation_computational_gas_limit: 300000, save_call_traces: true, virtual_blocks_interval: 1, diff --git a/core/lib/constants/src/crypto.rs b/core/lib/constants/src/crypto.rs index a2a7d8d24bf4..8b97af9d2370 100644 --- a/core/lib/constants/src/crypto.rs +++ b/core/lib/constants/src/crypto.rs @@ -23,8 +23,6 @@ pub const MAX_NEW_FACTORY_DEPS: usize = 32; pub const PAD_MSG_BEFORE_HASH_BITS_LEN: usize = 736; -/// The size of the bootloader memory in bytes which is used by the protocol. -/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce -/// the requirements on RAM. -pub const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; -pub const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; +/// To avoid DDoS we limit the size of the transactions size. +/// TODO(X): remove this as a constant and introduce a config. +pub const MAX_ENCODED_TX_SIZE: usize = 1 << 24; diff --git a/core/lib/constants/src/ethereum.rs b/core/lib/constants/src/ethereum.rs index 9e88e77c0dfb..d9a137c7c22c 100644 --- a/core/lib/constants/src/ethereum.rs +++ b/core/lib/constants/src/ethereum.rs @@ -5,11 +5,6 @@ pub const PRIORITY_EXPIRATION: u64 = 50000; pub const MAX_L1_TRANSACTION_GAS_LIMIT: u64 = 300000; pub static ETHEREUM_ADDRESS: Address = Address::zero(); -/// This the number of pubdata such that it should be always possible to publish -/// from a single transaction. Note, that these pubdata bytes include only bytes that are -/// to be published inside the body of transaction (i.e. excluding of factory deps). -pub const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; - /// The maximum number of pubdata per L1 batch. This limit is due to the fact that the Ethereum /// nodes do not accept transactions that have more than 128kb of pubdata. /// The 18kb margin is left in case of any impreciseness of the pubdata calculation. @@ -18,10 +13,10 @@ pub const MAX_PUBDATA_PER_L1_BATCH: u64 = 110000; // TODO: import from `zkevm_opcode_defs` once `VM1.3` is supported pub const MAX_L2_TX_GAS_LIMIT: u64 = 80000000; -// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their -// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per -// transaction. -pub const MAX_GAS_PER_PUBDATA_BYTE: u64 = MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; - // The L1->L2 are required to have the following gas per pubdata byte. pub const REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE: u64 = 800; + +// The default gas per pubdata byte for L2 transactions, that is used, for instance, when we need to +// insert some default value for type 2 transactions. +// It is a realistic value, but it is large enough to fill into any batch regardless of the pubdata price. +pub const DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE: u64 = 50_000; diff --git a/core/lib/contracts/src/lib.rs b/core/lib/contracts/src/lib.rs index de1a591b95f7..3ed725baa7da 100644 --- a/core/lib/contracts/src/lib.rs +++ b/core/lib/contracts/src/lib.rs @@ -38,7 +38,7 @@ const IERC20_CONTRACT_FILE: &str = const FAIL_ON_RECEIVE_CONTRACT_FILE: &str = "contracts/l1-contracts/artifacts/cache/solpp-generated-contracts/zksync/dev-contracts/FailOnReceive.sol/FailOnReceive.json"; const L2_BRIDGE_CONTRACT_FILE: &str = - "contracts/l2-contracts/artifacts-zk/cache-zk/solpp-generated-contracts/bridge/interfaces/IL2Bridge.sol/IL2Bridge.json"; + "contracts/l2-contracts/artifacts-zk/contracts-preprocessed/bridge/interfaces/IL2Bridge.sol/IL2Bridge.json"; const LOADNEXT_CONTRACT_FILE: &str = "etc/contracts-test-data/artifacts-zk/contracts/loadnext/loadnext_contract.sol/LoadnextContract.json"; const LOADNEXT_SIMPLE_CONTRACT_FILE: &str = @@ -147,6 +147,10 @@ pub fn deployer_contract() -> Contract { load_sys_contract("ContractDeployer") } +pub fn l1_messenger_contract() -> Contract { + load_sys_contract("L1Messenger") +} + pub fn eth_contract() -> Contract { load_sys_contract("L2EthToken") } @@ -370,6 +374,13 @@ impl BaseSystemContracts { BaseSystemContracts::load_with_bootloader(bootloader_bytecode) } + pub fn playground_post_1_4_1() -> Self { + let bootloader_bytecode = read_zbin_bytecode( + "etc/multivm_bootloaders/vm_1_4_1/playground_batch.yul/playground_batch.yul.zbin", + ); + BaseSystemContracts::load_with_bootloader(bootloader_bytecode) + } + /// BaseSystemContracts with playground bootloader - used for handling eth_calls. pub fn estimate_gas() -> Self { let bootloader_bytecode = read_bootloader_code("fee_estimate"); @@ -411,6 +422,13 @@ impl BaseSystemContracts { BaseSystemContracts::load_with_bootloader(bootloader_bytecode) } + pub fn estimate_gas_post_1_4_1() -> Self { + let bootloader_bytecode = read_zbin_bytecode( + "etc/multivm_bootloaders/vm_1_4_1/fee_estimate.yul/fee_estimate.yul.zbin", + ); + BaseSystemContracts::load_with_bootloader(bootloader_bytecode) + } + pub fn hashes(&self) -> BaseSystemContractsHashes { BaseSystemContractsHashes { bootloader: self.bootloader.hash, diff --git a/core/lib/dal/.sqlx/query-4c7df374959728085b12ef71c8c34ea99bfdcb422a5066529dde25308f961f37.json b/core/lib/dal/.sqlx/query-5880a85667ccc26d392ff6272e317afe4e38bcfe5ce93bf229d68622066ab8a1.json similarity index 75% rename from core/lib/dal/.sqlx/query-4c7df374959728085b12ef71c8c34ea99bfdcb422a5066529dde25308f961f37.json rename to core/lib/dal/.sqlx/query-5880a85667ccc26d392ff6272e317afe4e38bcfe5ce93bf229d68622066ab8a1.json index b6cf07da5200..31ce6f31993f 100644 --- a/core/lib/dal/.sqlx/query-4c7df374959728085b12ef71c8c34ea99bfdcb422a5066529dde25308f961f37.json +++ b/core/lib/dal/.sqlx/query-5880a85667ccc26d392ff6272e317afe4e38bcfe5ce93bf229d68622066ab8a1.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT\n miniblocks.number,\n COALESCE(\n miniblocks.l1_batch_number,\n (\n SELECT\n (MAX(number) + 1)\n FROM\n l1_batches\n )\n ) AS \"l1_batch_number!\",\n (\n SELECT\n MAX(m2.number)\n FROM\n miniblocks m2\n WHERE\n miniblocks.l1_batch_number = m2.l1_batch_number\n ) AS \"last_batch_miniblock?\",\n miniblocks.timestamp,\n miniblocks.l1_gas_price,\n miniblocks.l2_fair_gas_price,\n miniblocks.bootloader_code_hash,\n miniblocks.default_aa_code_hash,\n miniblocks.virtual_blocks,\n miniblocks.hash,\n miniblocks.protocol_version AS \"protocol_version!\",\n l1_batches.fee_account_address AS \"fee_account_address?\"\n FROM\n miniblocks\n LEFT JOIN l1_batches ON miniblocks.l1_batch_number = l1_batches.number\n WHERE\n miniblocks.number = $1\n ", + "query": "\n SELECT\n miniblocks.number,\n COALESCE(\n miniblocks.l1_batch_number,\n (\n SELECT\n (MAX(number) + 1)\n FROM\n l1_batches\n )\n ) AS \"l1_batch_number!\",\n (\n SELECT\n MAX(m2.number)\n FROM\n miniblocks m2\n WHERE\n miniblocks.l1_batch_number = m2.l1_batch_number\n ) AS \"last_batch_miniblock?\",\n miniblocks.timestamp,\n miniblocks.l1_gas_price,\n miniblocks.l2_fair_gas_price,\n miniblocks.fair_pubdata_price,\n miniblocks.bootloader_code_hash,\n miniblocks.default_aa_code_hash,\n miniblocks.virtual_blocks,\n miniblocks.hash,\n miniblocks.protocol_version AS \"protocol_version!\",\n l1_batches.fee_account_address AS \"fee_account_address?\"\n FROM\n miniblocks\n LEFT JOIN l1_batches ON miniblocks.l1_batch_number = l1_batches.number\n WHERE\n miniblocks.number = $1\n ", "describe": { "columns": [ { @@ -35,31 +35,36 @@ }, { "ordinal": 6, + "name": "fair_pubdata_price", + "type_info": "Int8" + }, + { + "ordinal": 7, "name": "bootloader_code_hash", "type_info": "Bytea" }, { - "ordinal": 7, + "ordinal": 8, "name": "default_aa_code_hash", "type_info": "Bytea" }, { - "ordinal": 8, + "ordinal": 9, "name": "virtual_blocks", "type_info": "Int8" }, { - "ordinal": 9, + "ordinal": 10, "name": "hash", "type_info": "Bytea" }, { - "ordinal": 10, + "ordinal": 11, "name": "protocol_version!", "type_info": "Int4" }, { - "ordinal": 11, + "ordinal": 12, "name": "fee_account_address?", "type_info": "Bytea" } @@ -78,11 +83,12 @@ false, true, true, + true, false, false, true, false ] }, - "hash": "4c7df374959728085b12ef71c8c34ea99bfdcb422a5066529dde25308f961f37" + "hash": "5880a85667ccc26d392ff6272e317afe4e38bcfe5ce93bf229d68622066ab8a1" } diff --git a/core/lib/dal/.sqlx/query-5c39f043c9b36693b0a845eb36549374a2d931e62615bc7e6ecd0af957b42a13.json b/core/lib/dal/.sqlx/query-5c7b6b58261faa0a164181987eec4055c22895316ce68d9d41619db7fcfb7563.json similarity index 72% rename from core/lib/dal/.sqlx/query-5c39f043c9b36693b0a845eb36549374a2d931e62615bc7e6ecd0af957b42a13.json rename to core/lib/dal/.sqlx/query-5c7b6b58261faa0a164181987eec4055c22895316ce68d9d41619db7fcfb7563.json index fd793cb9b83b..cd76205be813 100644 --- a/core/lib/dal/.sqlx/query-5c39f043c9b36693b0a845eb36549374a2d931e62615bc7e6ecd0af957b42a13.json +++ b/core/lib/dal/.sqlx/query-5c7b6b58261faa0a164181987eec4055c22895316ce68d9d41619db7fcfb7563.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks\n FROM\n miniblocks\n WHERE\n number = $1\n ", + "query": "\n SELECT\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n gas_per_pubdata_limit,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks,\n fair_pubdata_price\n FROM\n miniblocks\n WHERE\n number = $1\n ", "describe": { "columns": [ { @@ -45,23 +45,33 @@ }, { "ordinal": 8, + "name": "gas_per_pubdata_limit", + "type_info": "Int8" + }, + { + "ordinal": 9, "name": "bootloader_code_hash", "type_info": "Bytea" }, { - "ordinal": 9, + "ordinal": 10, "name": "default_aa_code_hash", "type_info": "Bytea" }, { - "ordinal": 10, + "ordinal": 11, "name": "protocol_version", "type_info": "Int4" }, { - "ordinal": 11, + "ordinal": 12, "name": "virtual_blocks", "type_info": "Int8" + }, + { + "ordinal": 13, + "name": "fair_pubdata_price", + "type_info": "Int8" } ], "parameters": { @@ -78,11 +88,13 @@ false, false, false, + false, true, true, true, - false + false, + true ] }, - "hash": "5c39f043c9b36693b0a845eb36549374a2d931e62615bc7e6ecd0af957b42a13" + "hash": "5c7b6b58261faa0a164181987eec4055c22895316ce68d9d41619db7fcfb7563" } diff --git a/core/lib/dal/.sqlx/query-314f7e619a34efa89255a58c89f85d4402ff6005446bbded68c8d3dbca510f37.json b/core/lib/dal/.sqlx/query-65cc4517c3693c8bdb66b332151d4cb46ca093129707ee14f2fa42dc1800cc9e.json similarity index 69% rename from core/lib/dal/.sqlx/query-314f7e619a34efa89255a58c89f85d4402ff6005446bbded68c8d3dbca510f37.json rename to core/lib/dal/.sqlx/query-65cc4517c3693c8bdb66b332151d4cb46ca093129707ee14f2fa42dc1800cc9e.json index 3034791742c4..5f967c6d265b 100644 --- a/core/lib/dal/.sqlx/query-314f7e619a34efa89255a58c89f85d4402ff6005446bbded68c8d3dbca510f37.json +++ b/core/lib/dal/.sqlx/query-65cc4517c3693c8bdb66b332151d4cb46ca093129707ee14f2fa42dc1800cc9e.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n INSERT INTO\n miniblocks (\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n gas_per_pubdata_limit,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks,\n created_at,\n updated_at\n )\n VALUES\n ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, NOW(), NOW())\n ", + "query": "\n INSERT INTO\n miniblocks (\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n gas_per_pubdata_limit,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks,\n fair_pubdata_price,\n created_at,\n updated_at\n )\n VALUES\n ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, NOW(), NOW())\n ", "describe": { "columns": [], "parameters": { @@ -17,10 +17,11 @@ "Bytea", "Bytea", "Int4", + "Int8", "Int8" ] }, "nullable": [] }, - "hash": "314f7e619a34efa89255a58c89f85d4402ff6005446bbded68c8d3dbca510f37" + "hash": "65cc4517c3693c8bdb66b332151d4cb46ca093129707ee14f2fa42dc1800cc9e" } diff --git a/core/lib/dal/.sqlx/query-6ccb3beec0624153ef2e7bff61ba896e34b757421fca9682aecb3a98b54695a6.json b/core/lib/dal/.sqlx/query-66554ab87e5fe4776786217d1f71a525c87d390df21250ab4dce08e09be72591.json similarity index 70% rename from core/lib/dal/.sqlx/query-6ccb3beec0624153ef2e7bff61ba896e34b757421fca9682aecb3a98b54695a6.json rename to core/lib/dal/.sqlx/query-66554ab87e5fe4776786217d1f71a525c87d390df21250ab4dce08e09be72591.json index 69cb14ce7816..eb2ee1d31bc9 100644 --- a/core/lib/dal/.sqlx/query-6ccb3beec0624153ef2e7bff61ba896e34b757421fca9682aecb3a98b54695a6.json +++ b/core/lib/dal/.sqlx/query-66554ab87e5fe4776786217d1f71a525c87d390df21250ab4dce08e09be72591.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks\n FROM\n miniblocks\n ORDER BY\n number DESC\n LIMIT\n 1\n ", + "query": "\n SELECT\n number,\n timestamp,\n hash,\n l1_tx_count,\n l2_tx_count,\n base_fee_per_gas,\n l1_gas_price,\n l2_fair_gas_price,\n gas_per_pubdata_limit,\n bootloader_code_hash,\n default_aa_code_hash,\n protocol_version,\n virtual_blocks,\n fair_pubdata_price\n FROM\n miniblocks\n ORDER BY\n number DESC\n LIMIT\n 1\n ", "describe": { "columns": [ { @@ -45,23 +45,33 @@ }, { "ordinal": 8, + "name": "gas_per_pubdata_limit", + "type_info": "Int8" + }, + { + "ordinal": 9, "name": "bootloader_code_hash", "type_info": "Bytea" }, { - "ordinal": 9, + "ordinal": 10, "name": "default_aa_code_hash", "type_info": "Bytea" }, { - "ordinal": 10, + "ordinal": 11, "name": "protocol_version", "type_info": "Int4" }, { - "ordinal": 11, + "ordinal": 12, "name": "virtual_blocks", "type_info": "Int8" + }, + { + "ordinal": 13, + "name": "fair_pubdata_price", + "type_info": "Int8" } ], "parameters": { @@ -76,11 +86,13 @@ false, false, false, + false, true, true, true, - false + false, + true ] }, - "hash": "6ccb3beec0624153ef2e7bff61ba896e34b757421fca9682aecb3a98b54695a6" + "hash": "66554ab87e5fe4776786217d1f71a525c87d390df21250ab4dce08e09be72591" } diff --git a/core/lib/dal/migrations/20231229181653_fair_pubdata_price.down.sql b/core/lib/dal/migrations/20231229181653_fair_pubdata_price.down.sql new file mode 100644 index 000000000000..9002b3924e09 --- /dev/null +++ b/core/lib/dal/migrations/20231229181653_fair_pubdata_price.down.sql @@ -0,0 +1 @@ +ALTER TABLE miniblocks DROP COLUMN fair_pubdata_price; diff --git a/core/lib/dal/migrations/20231229181653_fair_pubdata_price.up.sql b/core/lib/dal/migrations/20231229181653_fair_pubdata_price.up.sql new file mode 100644 index 000000000000..f79547b11234 --- /dev/null +++ b/core/lib/dal/migrations/20231229181653_fair_pubdata_price.up.sql @@ -0,0 +1,2 @@ +ALTER TABLE miniblocks + ADD COLUMN IF NOT EXISTS fair_pubdata_price BIGINT; diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs index 72f7ad926b52..87195d965ada 100644 --- a/core/lib/dal/src/blocks_dal.rs +++ b/core/lib/dal/src/blocks_dal.rs @@ -11,8 +11,7 @@ use zksync_types::{ aggregated_operations::AggregatedActionType, block::{BlockGasCount, L1BatchHeader, MiniblockHeader}, commitment::{L1BatchMetadata, L1BatchWithMetadata}, - Address, L1BatchNumber, LogQuery, MiniblockNumber, ProtocolVersionId, H256, - MAX_GAS_PER_PUBDATA_BYTE, U256, + Address, L1BatchNumber, LogQuery, MiniblockNumber, ProtocolVersionId, H256, U256, }; use crate::{ @@ -595,6 +594,7 @@ impl BlocksDal<'_, '_> { ) -> anyhow::Result<()> { let base_fee_per_gas = BigDecimal::from_u64(miniblock_header.base_fee_per_gas) .context("base_fee_per_gas should fit in u64")?; + sqlx::query!( r#" INSERT INTO @@ -612,11 +612,12 @@ impl BlocksDal<'_, '_> { default_aa_code_hash, protocol_version, virtual_blocks, + fair_pubdata_price, created_at, updated_at ) VALUES - ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, NOW(), NOW()) + ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, NOW(), NOW()) "#, miniblock_header.number.0 as i64, miniblock_header.timestamp as i64, @@ -626,7 +627,7 @@ impl BlocksDal<'_, '_> { base_fee_per_gas, miniblock_header.batch_fee_input.l1_gas_price() as i64, miniblock_header.batch_fee_input.fair_l2_gas_price() as i64, - MAX_GAS_PER_PUBDATA_BYTE as i64, + miniblock_header.gas_per_pubdata_limit as i64, miniblock_header .base_system_contracts_hashes .bootloader @@ -637,6 +638,7 @@ impl BlocksDal<'_, '_> { .as_bytes(), miniblock_header.protocol_version.map(|v| v as i32), miniblock_header.virtual_blocks as i64, + miniblock_header.batch_fee_input.fair_pubdata_price() as i64, ) .execute(self.storage.conn()) .await?; @@ -658,10 +660,12 @@ impl BlocksDal<'_, '_> { base_fee_per_gas, l1_gas_price, l2_fair_gas_price, + gas_per_pubdata_limit, bootloader_code_hash, default_aa_code_hash, protocol_version, - virtual_blocks + virtual_blocks, + fair_pubdata_price FROM miniblocks ORDER BY @@ -691,10 +695,12 @@ impl BlocksDal<'_, '_> { base_fee_per_gas, l1_gas_price, l2_fair_gas_price, + gas_per_pubdata_limit, bootloader_code_hash, default_aa_code_hash, protocol_version, - virtual_blocks + virtual_blocks, + fair_pubdata_price FROM miniblocks WHERE diff --git a/core/lib/dal/src/models/proto/mod.proto b/core/lib/dal/src/models/proto/mod.proto index 66f3ba411a06..33e8bbb03242 100644 --- a/core/lib/dal/src/models/proto/mod.proto +++ b/core/lib/dal/src/models/proto/mod.proto @@ -17,6 +17,7 @@ message Payload { optional uint64 timestamp = 3; // required; seconds since UNIX epoch optional uint64 l1_gas_price = 4; // required; gwei optional uint64 l2_fair_gas_price = 5; // required; gwei + optional uint64 fair_pubdata_price = 11; // required since 1.4.1; gwei optional uint32 virtual_blocks = 6; // required optional bytes operator_address = 7; // required; H160 repeated Transaction transactions = 8; diff --git a/core/lib/dal/src/models/storage_block.rs b/core/lib/dal/src/models/storage_block.rs index 1e8e97d5dca1..2aa5e4d30efa 100644 --- a/core/lib/dal/src/models/storage_block.rs +++ b/core/lib/dal/src/models/storage_block.rs @@ -12,8 +12,9 @@ use zksync_types::{ api, block::{L1BatchHeader, MiniblockHeader}, commitment::{L1BatchMetaParameters, L1BatchMetadata}, + fee_model::{BatchFeeInput, L1PeggedBatchFeeModelInput, PubdataIndependentBatchFeeModelInput}, l2_to_l1_log::{L2ToL1Log, SystemL2ToL1Log, UserL2ToL1Log}, - Address, L1BatchNumber, MiniblockNumber, H2048, H256, + Address, L1BatchNumber, MiniblockNumber, ProtocolVersionId, H2048, H256, }; #[derive(Debug, Error)] @@ -518,6 +519,10 @@ pub struct StorageMiniblockHeader { pub default_aa_code_hash: Option>, pub protocol_version: Option, + pub fair_pubdata_price: Option, + + pub gas_per_pubdata_limit: i64, + // The maximal number of virtual blocks that can be created with this miniblock. // If this value is greater than zero, then at least 1 will be created, but no more than // `min(virtual_blocks`, `miniblock_number - virtual_block_number`), i.e. making sure that virtual blocks @@ -527,6 +532,27 @@ pub struct StorageMiniblockHeader { impl From for MiniblockHeader { fn from(row: StorageMiniblockHeader) -> Self { + let protocol_version = row.protocol_version.map(|v| (v as u16).try_into().unwrap()); + + let fee_input = protocol_version + .filter(|version: &ProtocolVersionId| version.is_post_1_4_1()) + .map(|_| { + BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + fair_pubdata_price: row + .fair_pubdata_price + .expect("No fair pubdata price for 1.4.1 miniblock") + as u64, + fair_l2_gas_price: row.l2_fair_gas_price as u64, + l1_gas_price: row.l1_gas_price as u64, + }) + }) + .unwrap_or_else(|| { + BatchFeeInput::L1Pegged(L1PeggedBatchFeeModelInput { + fair_l2_gas_price: row.l2_fair_gas_price as u64, + l1_gas_price: row.l1_gas_price as u64, + }) + }); + MiniblockHeader { number: MiniblockNumber(row.number as u32), timestamp: row.timestamp as u64, @@ -534,16 +560,13 @@ impl From for MiniblockHeader { l1_tx_count: row.l1_tx_count as u16, l2_tx_count: row.l2_tx_count as u16, base_fee_per_gas: row.base_fee_per_gas.to_u64().unwrap(), - // For now, only L1 pegged fee model is supported. - batch_fee_input: zksync_types::fee_model::BatchFeeInput::l1_pegged( - row.l1_gas_price as u64, - row.l2_fair_gas_price as u64, - ), + batch_fee_input: fee_input, base_system_contracts_hashes: convert_base_system_contracts_hashes( row.bootloader_code_hash, row.default_aa_code_hash, ), - protocol_version: row.protocol_version.map(|v| (v as u16).try_into().unwrap()), + gas_per_pubdata_limit: row.gas_per_pubdata_limit as u64, + protocol_version, virtual_blocks: row.virtual_blocks as u32, } } diff --git a/core/lib/dal/src/models/storage_sync.rs b/core/lib/dal/src/models/storage_sync.rs index 7ef804c2d809..2836d2820d80 100644 --- a/core/lib/dal/src/models/storage_sync.rs +++ b/core/lib/dal/src/models/storage_sync.rs @@ -16,6 +16,7 @@ pub(crate) struct StorageSyncBlock { pub l1_gas_price: i64, // L2 gas price assumed in the corresponding batch pub l2_fair_gas_price: i64, + pub fair_pubdata_price: Option, pub bootloader_code_hash: Option>, pub default_aa_code_hash: Option>, pub fee_account_address: Option>, // May be None if the block is not yet sealed @@ -39,6 +40,7 @@ pub(crate) struct SyncBlock { pub timestamp: u64, pub l1_gas_price: u64, pub l2_fair_gas_price: u64, + pub fair_pubdata_price: Option, pub base_system_contracts_hashes: BaseSystemContractsHashes, pub fee_account_address: Option
, pub virtual_blocks: u32, @@ -64,6 +66,10 @@ impl TryFrom for SyncBlock { .l2_fair_gas_price .try_into() .context("l2_fair_gas_price")?, + fair_pubdata_price: block + .fair_pubdata_price + .map(|v| v.try_into().context("fair_pubdata_price")) + .transpose()?, // TODO (SMA-1635): Make these fields non optional in database base_system_contracts_hashes: BaseSystemContractsHashes { bootloader: parse_h256( @@ -107,6 +113,7 @@ impl SyncBlock { timestamp: self.timestamp, l1_gas_price: self.l1_gas_price, l2_fair_gas_price: self.l2_fair_gas_price, + fair_pubdata_price: self.fair_pubdata_price, base_system_contracts_hashes: self.base_system_contracts_hashes, operator_address: self.fee_account_address.unwrap_or(current_operator_address), transactions, @@ -128,6 +135,7 @@ impl SyncBlock { timestamp: self.timestamp, l1_gas_price: self.l1_gas_price, l2_fair_gas_price: self.l2_fair_gas_price, + fair_pubdata_price: self.fair_pubdata_price, virtual_blocks: self.virtual_blocks, operator_address: self.fee_account_address.unwrap_or(current_operator_address), transactions, @@ -145,6 +153,7 @@ pub struct Payload { pub timestamp: u64, pub l1_gas_price: u64, pub l2_fair_gas_price: u64, + pub fair_pubdata_price: Option, pub virtual_blocks: u32, pub operator_address: Address, pub transactions: Vec, @@ -178,6 +187,7 @@ impl ProtoFmt for Payload { l1_gas_price: *required(&message.l1_gas_price).context("l1_gas_price")?, l2_fair_gas_price: *required(&message.l2_fair_gas_price) .context("l2_fair_gas_price")?, + fair_pubdata_price: message.fair_pubdata_price, virtual_blocks: *required(&message.virtual_blocks).context("virtual_blocks")?, operator_address: required(&message.operator_address) .and_then(|a| parse_h160(a)) @@ -186,6 +196,7 @@ impl ProtoFmt for Payload { last_in_batch: *required(&message.last_in_batch).context("last_in_batch")?, }) } + fn build(&self) -> Self::Proto { Self::Proto { protocol_version: Some((self.protocol_version as u16).into()), @@ -194,6 +205,7 @@ impl ProtoFmt for Payload { timestamp: Some(self.timestamp), l1_gas_price: Some(self.l1_gas_price), l2_fair_gas_price: Some(self.l2_fair_gas_price), + fair_pubdata_price: self.fair_pubdata_price, virtual_blocks: Some(self.virtual_blocks), operator_address: Some(self.operator_address.as_bytes().into()), // Transactions are stored in execution order, therefore order is deterministic. diff --git a/core/lib/dal/src/sync_dal.rs b/core/lib/dal/src/sync_dal.rs index 9ece7dad4841..53310603d2ce 100644 --- a/core/lib/dal/src/sync_dal.rs +++ b/core/lib/dal/src/sync_dal.rs @@ -43,6 +43,7 @@ impl SyncDal<'_, '_> { miniblocks.timestamp, miniblocks.l1_gas_price, miniblocks.l2_fair_gas_price, + miniblocks.fair_pubdata_price, miniblocks.bootloader_code_hash, miniblocks.default_aa_code_hash, miniblocks.virtual_blocks, diff --git a/core/lib/dal/src/tests/mod.rs b/core/lib/dal/src/tests/mod.rs index 1e4b4c95e4b7..5f6d2fddb27b 100644 --- a/core/lib/dal/src/tests/mod.rs +++ b/core/lib/dal/src/tests/mod.rs @@ -10,7 +10,7 @@ use zksync_types::{ l2::L2Tx, tx::{tx_execution_info::TxExecutionStatus, ExecutionMetrics, TransactionExecutionResult}, Address, Execute, L1BlockNumber, L1TxCommonData, L2ChainId, MiniblockNumber, PriorityOpId, - ProtocolVersionId, H160, H256, MAX_GAS_PER_PUBDATA_BYTE, U256, + ProtocolVersionId, H160, H256, U256, }; use crate::{ @@ -36,6 +36,7 @@ pub(crate) fn create_miniblock_header(number: u32) -> MiniblockHeader { hash: MiniblockHasher::new(number, 0, H256::zero()).finalize(protocol_version), l1_tx_count: 0, l2_tx_count: 0, + gas_per_pubdata_limit: 100, base_fee_per_gas: 100, batch_fee_input: BatchFeeInput::l1_pegged(100, 100), base_system_contracts_hashes: BaseSystemContractsHashes::default(), @@ -79,7 +80,7 @@ fn mock_l1_execute() -> L1Tx { full_fee: U256::zero(), gas_limit: U256::from(100_100), max_fee_per_gas: U256::from(1u32), - gas_per_pubdata_limit: MAX_GAS_PER_PUBDATA_BYTE.into(), + gas_per_pubdata_limit: 100.into(), op_processing_type: OpProcessingType::Common, priority_queue_type: PriorityQueueType::Deque, eth_hash: H256::random(), diff --git a/core/lib/env_config/src/api.rs b/core/lib/env_config/src/api.rs index 3bffb281ad5c..5368122437ff 100644 --- a/core/lib/env_config/src/api.rs +++ b/core/lib/env_config/src/api.rs @@ -75,6 +75,7 @@ mod tests { estimate_gas_scale_factor: 1.0f64, gas_price_scale_factor: 1.2, estimate_gas_acceptable_overestimation: 1000, + l1_to_l2_transactions_compatibility_mode: true, max_tx_size: 1000000, vm_execution_cache_misses_limit: None, vm_concurrency_limit: Some(512), @@ -119,6 +120,7 @@ mod tests { API_WEB3_JSON_RPC_ACCOUNT_PKS="0x0000000000000000000000000000000000000000000000000000000000000001,0x0000000000000000000000000000000000000000000000000000000000000002" API_WEB3_JSON_RPC_ESTIMATE_GAS_SCALE_FACTOR=1.0 API_WEB3_JSON_RPC_ESTIMATE_GAS_ACCEPTABLE_OVERESTIMATION=1000 + API_WEB3_JSON_RPC_L1_TO_L2_TRANSACTIONS_COMPATIBILITY_MODE=true API_WEB3_JSON_RPC_MAX_TX_SIZE=1000000 API_WEB3_JSON_RPC_VM_CONCURRENCY_LIMIT=512 API_WEB3_JSON_RPC_FACTORY_DEPS_CACHE_SIZE_MB=128 diff --git a/core/lib/env_config/src/chain.rs b/core/lib/env_config/src/chain.rs index 22a397d290fc..c258c5092e51 100644 --- a/core/lib/env_config/src/chain.rs +++ b/core/lib/env_config/src/chain.rs @@ -37,6 +37,7 @@ impl FromEnv for MempoolConfig { #[cfg(test)] mod tests { use zksync_basic_types::L2ChainId; + use zksync_config::configs::chain::FeeModelVersion; use super::*; use crate::test_utils::{addr, EnvMutex}; @@ -80,7 +81,13 @@ mod tests { reject_tx_at_geometry_percentage: 0.3, fee_account_addr: addr("de03a0B5963f75f1C8485B355fF6D30f3093BDE7"), reject_tx_at_gas_percentage: 0.5, - fair_l2_gas_price: 250000000, + minimal_l2_gas_price: 100000000, + compute_overhead_part: 0.0, + pubdata_overhead_part: 1.0, + batch_overhead_l1_gas: 800_000, + max_gas_per_batch: 200_000_000, + max_pubdata_per_batch: 100_000, + fee_model_version: FeeModelVersion::V2, validation_computational_gas_limit: 10_000_000, save_call_traces: false, virtual_blocks_interval: 1, @@ -107,7 +114,13 @@ mod tests { CHAIN_STATE_KEEPER_BLOCK_COMMIT_DEADLINE_MS="2500" CHAIN_STATE_KEEPER_MINIBLOCK_COMMIT_DEADLINE_MS="1000" CHAIN_STATE_KEEPER_MINIBLOCK_SEAL_QUEUE_CAPACITY="10" - CHAIN_STATE_KEEPER_FAIR_L2_GAS_PRICE="250000000" + CHAIN_STATE_KEEPER_MINIMAL_L2_GAS_PRICE="100000000" + CHAIN_STATE_KEEPER_COMPUTE_OVERHEAD_PART="0.0" + CHAIN_STATE_KEEPER_PUBDATA_OVERHEAD_PART="1.0" + CHAIN_STATE_KEEPER_BATCH_OVERHEAD_L1_GAS="800000" + CHAIN_STATE_KEEPER_MAX_GAS_PER_BATCH="200000000" + CHAIN_STATE_KEEPER_MAX_PUBDATA_PER_BATCH="100000" + CHAIN_STATE_KEEPER_FEE_MODEL_VERSION="V2" CHAIN_STATE_KEEPER_VALIDATION_COMPUTATIONAL_GAS_LIMIT="10000000" CHAIN_STATE_KEEPER_SAVE_CALL_TRACES="false" CHAIN_STATE_KEEPER_UPLOAD_WITNESS_INPUTS_TO_GCS="false" diff --git a/core/lib/multivm/Cargo.toml b/core/lib/multivm/Cargo.toml index 5f87b5ae5543..fc7218e16e2c 100644 --- a/core/lib/multivm/Cargo.toml +++ b/core/lib/multivm/Cargo.toml @@ -10,11 +10,14 @@ keywords = ["blockchain", "zksync"] categories = ["cryptography"] [dependencies] +zk_evm_1_4_1 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.1" } zk_evm_1_4_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.0" } zk_evm_1_3_3 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", tag= "v1.3.3-rc2" } zk_evm_1_3_1 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", tag= "v1.3.1-rc2" } zkevm_test_harness_1_4_0 = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0", package = "zkevm_test_harness" } +zkevm_test_harness_1_4_1 = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1", package = "zkevm_test_harness" } + zksync_types = { path = "../types" } zksync_state = { path = "../state" } diff --git a/core/lib/multivm/src/glue/history_mode.rs b/core/lib/multivm/src/glue/history_mode.rs index 40b33ec32bf6..f820477c10a5 100644 --- a/core/lib/multivm/src/glue/history_mode.rs +++ b/core/lib/multivm/src/glue/history_mode.rs @@ -7,14 +7,14 @@ pub trait HistoryMode: + GlueInto + GlueInto + GlueInto - + GlueInto + + GlueInto { type VmM6Mode: crate::vm_m6::HistoryMode; type Vm1_3_2Mode: crate::vm_1_3_2::HistoryMode; type VmVirtualBlocksMode: crate::vm_virtual_blocks::HistoryMode; type VmVirtualBlocksRefundsEnhancement: crate::vm_refunds_enhancement::HistoryMode; type VmBoojumIntegration: crate::vm_boojum_integration::HistoryMode; - type VmLatest: crate::vm_latest::HistoryMode; + type Vm1_4_1: crate::vm_latest::HistoryMode; } impl GlueFrom for crate::vm_m6::HistoryEnabled { @@ -85,7 +85,7 @@ impl HistoryMode for crate::vm_latest::HistoryEnabled { type VmVirtualBlocksMode = crate::vm_virtual_blocks::HistoryEnabled; type VmVirtualBlocksRefundsEnhancement = crate::vm_refunds_enhancement::HistoryEnabled; type VmBoojumIntegration = crate::vm_boojum_integration::HistoryEnabled; - type VmLatest = crate::vm_latest::HistoryEnabled; + type Vm1_4_1 = crate::vm_latest::HistoryEnabled; } impl HistoryMode for crate::vm_latest::HistoryDisabled { @@ -94,5 +94,5 @@ impl HistoryMode for crate::vm_latest::HistoryDisabled { type VmVirtualBlocksMode = crate::vm_virtual_blocks::HistoryDisabled; type VmVirtualBlocksRefundsEnhancement = crate::vm_refunds_enhancement::HistoryDisabled; type VmBoojumIntegration = crate::vm_boojum_integration::HistoryDisabled; - type VmLatest = crate::vm_latest::HistoryDisabled; + type Vm1_4_1 = crate::vm_latest::HistoryDisabled; } diff --git a/core/lib/multivm/src/glue/tracers/mod.rs b/core/lib/multivm/src/glue/tracers/mod.rs index 860aaf6de330..10d9cbe8ed8d 100644 --- a/core/lib/multivm/src/glue/tracers/mod.rs +++ b/core/lib/multivm/src/glue/tracers/mod.rs @@ -51,7 +51,7 @@ pub trait MultiVMTracer: } pub trait IntoLatestTracer { - fn latest(&self) -> crate::vm_latest::TracerPointer; + fn latest(&self) -> crate::vm_latest::TracerPointer; } pub trait IntoVmVirtualBlocksTracer { @@ -76,9 +76,9 @@ impl IntoLatestTracer for T where S: WriteStorage, H: HistoryMode, - T: crate::vm_latest::VmTracer + Clone + 'static, + T: crate::vm_latest::VmTracer + Clone + 'static, { - fn latest(&self) -> crate::vm_latest::TracerPointer { + fn latest(&self) -> crate::vm_latest::TracerPointer { Box::new(self.clone()) } } diff --git a/core/lib/multivm/src/glue/types/mod.rs b/core/lib/multivm/src/glue/types/mod.rs index c72aff347577..03d003212f4b 100644 --- a/core/lib/multivm/src/glue/types/mod.rs +++ b/core/lib/multivm/src/glue/types/mod.rs @@ -7,3 +7,4 @@ mod vm; mod zk_evm_1_3_1; +mod zk_evm_1_4_1; diff --git a/core/lib/multivm/src/glue/types/zk_evm_1_4_1.rs b/core/lib/multivm/src/glue/types/zk_evm_1_4_1.rs new file mode 100644 index 000000000000..c4c4c06c7f8d --- /dev/null +++ b/core/lib/multivm/src/glue/types/zk_evm_1_4_1.rs @@ -0,0 +1,65 @@ +use zk_evm_1_4_1::{ + aux_structures::{LogQuery as LogQuery_1_4_1, Timestamp as Timestamp_1_4_1}, + zkevm_opcode_defs::FarCallOpcode as FarCallOpcode_1_4_1, +}; +use zksync_types::{FarCallOpcode, LogQuery, Timestamp}; + +use crate::glue::{GlueFrom, GlueInto}; + +impl GlueFrom for FarCallOpcode { + fn glue_from(value: FarCallOpcode_1_4_1) -> Self { + match value { + FarCallOpcode_1_4_1::Normal => FarCallOpcode::Normal, + FarCallOpcode_1_4_1::Delegate => FarCallOpcode::Delegate, + FarCallOpcode_1_4_1::Mimic => FarCallOpcode::Mimic, + } + } +} + +impl GlueFrom for Timestamp { + fn glue_from(value: Timestamp_1_4_1) -> Timestamp { + Timestamp(value.0) + } +} + +impl GlueFrom for Timestamp_1_4_1 { + fn glue_from(value: Timestamp) -> Timestamp_1_4_1 { + Timestamp_1_4_1(value.0) + } +} + +impl GlueFrom for LogQuery { + fn glue_from(value: LogQuery_1_4_1) -> LogQuery { + LogQuery { + timestamp: value.timestamp.glue_into(), + tx_number_in_block: value.tx_number_in_block, + aux_byte: value.aux_byte, + shard_id: value.shard_id, + address: value.address, + key: value.key, + read_value: value.read_value, + written_value: value.written_value, + rw_flag: value.rw_flag, + rollback: value.rollback, + is_service: value.is_service, + } + } +} + +impl GlueFrom for LogQuery_1_4_1 { + fn glue_from(value: LogQuery) -> LogQuery_1_4_1 { + LogQuery_1_4_1 { + timestamp: value.timestamp.glue_into(), + tx_number_in_block: value.tx_number_in_block, + aux_byte: value.aux_byte, + shard_id: value.shard_id, + address: value.address, + key: value.key, + read_value: value.read_value, + written_value: value.written_value, + rw_flag: value.rw_flag, + rollback: value.rollback, + is_service: value.is_service, + } + } +} diff --git a/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/mod.rs b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/mod.rs index bc34775e6133..8a0fbbe93cdc 100644 --- a/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/mod.rs +++ b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/mod.rs @@ -1,2 +1,3 @@ pub mod vm_1_3_3; pub mod vm_1_4_0; +pub mod vm_1_4_1; diff --git a/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_0.rs b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_0.rs index 3ce69d02942b..7237e24cb681 100644 --- a/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_0.rs +++ b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_0.rs @@ -4,7 +4,7 @@ use zk_evm_1_4_0::{ }; use zksync_state::StoragePtr; -/// Version of zk_evm_1_3_3::Tracer suitable for dynamic dispatch. +/// Version of `zk_evm_1_4_0::Tracer` suitable for dynamic dispatch. pub trait DynTracer { fn before_decoding(&mut self, _state: VmLocalStateData<'_>, _memory: &M) {} fn after_decoding( diff --git a/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_1.rs b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_1.rs new file mode 100644 index 000000000000..4772d14cd20f --- /dev/null +++ b/core/lib/multivm/src/interface/traits/tracers/dyn_tracers/vm_1_4_1.rs @@ -0,0 +1,33 @@ +use zk_evm_1_4_1::{ + abstractions::Memory, + tracing::{AfterDecodingData, AfterExecutionData, BeforeExecutionData, VmLocalStateData}, +}; +use zksync_state::StoragePtr; + +/// Version of `zk_evm_1_4_1::Tracer` suitable for dynamic dispatch. +pub trait DynTracer { + fn before_decoding(&mut self, _state: VmLocalStateData<'_>, _memory: &M) {} + fn after_decoding( + &mut self, + _state: VmLocalStateData<'_>, + _data: AfterDecodingData, + _memory: &M, + ) { + } + fn before_execution( + &mut self, + _state: VmLocalStateData<'_>, + _data: BeforeExecutionData, + _memory: &M, + _storage: StoragePtr, + ) { + } + fn after_execution( + &mut self, + _state: VmLocalStateData<'_>, + _data: AfterExecutionData, + _memory: &M, + _storage: StoragePtr, + ) { + } +} diff --git a/core/lib/multivm/src/interface/types/inputs/l1_batch_env.rs b/core/lib/multivm/src/interface/types/inputs/l1_batch_env.rs index fe0577c6a471..3af7bcd3e05a 100644 --- a/core/lib/multivm/src/interface/types/inputs/l1_batch_env.rs +++ b/core/lib/multivm/src/interface/types/inputs/l1_batch_env.rs @@ -2,13 +2,15 @@ use zksync_types::{fee_model::BatchFeeInput, Address, L1BatchNumber, H256}; use super::L2BlockEnv; -/// Unique params for each block +/// Unique params for each batch #[derive(Debug, Clone)] pub struct L1BatchEnv { // If previous batch hash is None, then this is the first batch pub previous_batch_hash: Option, pub number: L1BatchNumber, pub timestamp: u64, + + /// The fee input into the batch. It contains information such as L1 gas price, L2 fair gas price, etc. pub fee_input: BatchFeeInput, pub fee_account: Address, pub enforced_base_fee: Option, diff --git a/core/lib/multivm/src/lib.rs b/core/lib/multivm/src/lib.rs index a2327eba6f89..f5a84a1dc60f 100644 --- a/core/lib/multivm/src/lib.rs +++ b/core/lib/multivm/src/lib.rs @@ -4,7 +4,7 @@ pub use zk_evm_1_3_1; pub use zk_evm_1_3_3; -pub use zk_evm_1_4_0; +pub use zk_evm_1_4_1; pub use zksync_types::vm_version::VmVersion; pub use self::versions::{ diff --git a/core/lib/multivm/src/tracers/call_tracer/vm_latest/mod.rs b/core/lib/multivm/src/tracers/call_tracer/vm_latest/mod.rs index 1c6221f1bf7d..d7889c910e2f 100644 --- a/core/lib/multivm/src/tracers/call_tracer/vm_latest/mod.rs +++ b/core/lib/multivm/src/tracers/call_tracer/vm_latest/mod.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ tracing::{AfterExecutionData, VmLocalStateData}, zkevm_opcode_defs::{ FarCallABI, FatPointer, Opcode, RetOpcode, CALL_IMPLICIT_CALLDATA_FAT_PTR_REGISTER, @@ -13,8 +13,9 @@ use zksync_types::{ }; use crate::{ + glue::GlueInto, interface::{ - tracer::VmExecutionStopReason, traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, + tracer::VmExecutionStopReason, traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, VmRevertReason, }, tracers::call_tracer::CallTracer, @@ -45,7 +46,7 @@ impl DynTracer> for CallTracer { .unwrap_or(current_ergs); let mut current_call = Call { - r#type: CallType::Call(far_call), + r#type: CallType::Call(far_call.glue_into()), gas: 0, parent_gas, ..Default::default() diff --git a/core/lib/multivm/src/tracers/multivm_dispatcher.rs b/core/lib/multivm/src/tracers/multivm_dispatcher.rs index c7cbbf7f19bc..aee09fe0f497 100644 --- a/core/lib/multivm/src/tracers/multivm_dispatcher.rs +++ b/core/lib/multivm/src/tracers/multivm_dispatcher.rs @@ -30,7 +30,7 @@ impl Default for TracerDispatcher { } impl From> - for crate::vm_latest::TracerDispatcher + for crate::vm_latest::TracerDispatcher { fn from(value: TracerDispatcher) -> Self { Self::new(value.tracers.into_iter().map(|x| x.latest()).collect()) diff --git a/core/lib/multivm/src/tracers/storage_invocation/vm_latest/mod.rs b/core/lib/multivm/src/tracers/storage_invocation/vm_latest/mod.rs index 46213ff54fc1..3fa04401782c 100644 --- a/core/lib/multivm/src/tracers/storage_invocation/vm_latest/mod.rs +++ b/core/lib/multivm/src/tracers/storage_invocation/vm_latest/mod.rs @@ -3,7 +3,7 @@ use zksync_state::WriteStorage; use crate::{ interface::{ tracer::{TracerExecutionStatus, TracerExecutionStopReason}, - traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, + traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, Halt, }, tracers::storage_invocation::StorageInvocations, diff --git a/core/lib/multivm/src/tracers/validator/vm_latest/mod.rs b/core/lib/multivm/src/tracers/validator/vm_latest/mod.rs index f77a70041c50..095f1a20b38b 100644 --- a/core/lib/multivm/src/tracers/validator/vm_latest/mod.rs +++ b/core/lib/multivm/src/tracers/validator/vm_latest/mod.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ tracing::{BeforeExecutionData, VmLocalStateData}, zkevm_opcode_defs::{ContextOpcode, FarCallABI, LogOpcode, Opcode}, }; @@ -11,7 +11,7 @@ use zksync_utils::{h256_to_account_address, u256_to_account_address, u256_to_h25 use crate::{ interface::{ - traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, + traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, types::tracer::{TracerExecutionStatus, TracerExecutionStopReason}, Halt, }, @@ -33,7 +33,7 @@ impl ValidationTracer { &mut self, state: VmLocalStateData<'_>, data: BeforeExecutionData, - memory: &SimpleMemory, + memory: &SimpleMemory, storage: StoragePtr, ) -> ValidationRoundResult { if self.computational_gas_used > self.computational_gas_limit { @@ -127,14 +127,14 @@ impl ValidationTracer { } } -impl DynTracer> +impl DynTracer> for ValidationTracer { fn before_execution( &mut self, state: VmLocalStateData<'_>, data: BeforeExecutionData, - memory: &SimpleMemory, + memory: &SimpleMemory, storage: StoragePtr, ) { // For now, we support only validations for users. @@ -182,10 +182,10 @@ impl DynTracer> } } -impl VmTracer for ValidationTracer { +impl VmTracer for ValidationTracer { fn finish_cycle( &mut self, - _state: &mut ZkSyncVmState, + _state: &mut ZkSyncVmState, _bootloader_state: &mut BootloaderState, ) -> TracerExecutionStatus { if self.should_stop_execution { diff --git a/core/lib/multivm/src/utils.rs b/core/lib/multivm/src/utils.rs index 1f639124b94b..459739c45baf 100644 --- a/core/lib/multivm/src/utils.rs +++ b/core/lib/multivm/src/utils.rs @@ -38,6 +38,9 @@ pub fn derive_base_fee_and_gas_per_pubdata( batch_fee_input.into_l1_pegged(), ) } + VmVersion::Vm1_4_1 => crate::vm_latest::utils::fee::derive_base_fee_and_gas_per_pubdata( + batch_fee_input.into_pubdata_independent(), + ), } } @@ -59,6 +62,7 @@ pub fn get_batch_base_fee(l1_batch_env: &L1BatchEnv, vm_version: VmVersion) -> u VmVersion::VmBoojumIntegration => { crate::vm_boojum_integration::utils::fee::get_batch_base_fee(l1_batch_env) } + VmVersion::Vm1_4_1 => crate::vm_latest::utils::fee::get_batch_base_fee(l1_batch_env), } } @@ -136,6 +140,7 @@ pub fn derive_overhead( ), ) } + VmVersion::Vm1_4_1 => crate::vm_latest::utils::overhead::derive_overhead(encoded_len), } } @@ -157,6 +162,7 @@ pub fn get_bootloader_encoding_space(version: VmVersion) -> u32 { VmVersion::VmBoojumIntegration => { crate::vm_boojum_integration::constants::BOOTLOADER_TX_ENCODING_SPACE } + VmVersion::Vm1_4_1 => crate::vm_latest::constants::BOOTLOADER_TX_ENCODING_SPACE, } } @@ -174,5 +180,70 @@ pub fn get_bootloader_max_txs_in_batch(version: VmVersion) -> usize { crate::vm_refunds_enhancement::constants::MAX_TXS_IN_BLOCK } VmVersion::VmBoojumIntegration => crate::vm_boojum_integration::constants::MAX_TXS_IN_BLOCK, + VmVersion::Vm1_4_1 => crate::vm_latest::constants::MAX_TXS_IN_BATCH, + } +} + +pub fn get_max_gas_per_pubdata_byte(version: VmVersion) -> u64 { + match version { + VmVersion::M5WithRefunds | VmVersion::M5WithoutRefunds => { + crate::vm_m5::vm_with_bootloader::MAX_GAS_PER_PUBDATA_BYTE + } + VmVersion::M6Initial | VmVersion::M6BugWithCompressionFixed => { + crate::vm_m6::vm_with_bootloader::MAX_GAS_PER_PUBDATA_BYTE + } + VmVersion::Vm1_3_2 => crate::vm_1_3_2::vm_with_bootloader::MAX_GAS_PER_PUBDATA_BYTE, + VmVersion::VmVirtualBlocks => crate::vm_virtual_blocks::constants::MAX_GAS_PER_PUBDATA_BYTE, + VmVersion::VmVirtualBlocksRefundsEnhancement => { + crate::vm_refunds_enhancement::constants::MAX_GAS_PER_PUBDATA_BYTE + } + VmVersion::VmBoojumIntegration => { + crate::vm_boojum_integration::constants::MAX_GAS_PER_PUBDATA_BYTE + } + VmVersion::Vm1_4_1 => crate::vm_latest::constants::MAX_GAS_PER_PUBDATA_BYTE, + } +} + +pub fn get_used_bootloader_memory_bytes(version: VmVersion) -> usize { + match version { + VmVersion::M5WithRefunds | VmVersion::M5WithoutRefunds => { + crate::vm_m5::vm_with_bootloader::USED_BOOTLOADER_MEMORY_BYTES + } + VmVersion::M6Initial | VmVersion::M6BugWithCompressionFixed => { + crate::vm_m6::vm_with_bootloader::USED_BOOTLOADER_MEMORY_BYTES + } + VmVersion::Vm1_3_2 => crate::vm_1_3_2::vm_with_bootloader::USED_BOOTLOADER_MEMORY_BYTES, + VmVersion::VmVirtualBlocks => { + crate::vm_virtual_blocks::constants::USED_BOOTLOADER_MEMORY_BYTES + } + VmVersion::VmVirtualBlocksRefundsEnhancement => { + crate::vm_refunds_enhancement::constants::USED_BOOTLOADER_MEMORY_BYTES + } + VmVersion::VmBoojumIntegration => { + crate::vm_boojum_integration::constants::USED_BOOTLOADER_MEMORY_BYTES + } + VmVersion::Vm1_4_1 => crate::vm_latest::constants::USED_BOOTLOADER_MEMORY_BYTES, + } +} + +pub fn get_used_bootloader_memory_words(version: VmVersion) -> usize { + match version { + VmVersion::M5WithRefunds | VmVersion::M5WithoutRefunds => { + crate::vm_m5::vm_with_bootloader::USED_BOOTLOADER_MEMORY_WORDS + } + VmVersion::M6Initial | VmVersion::M6BugWithCompressionFixed => { + crate::vm_m6::vm_with_bootloader::USED_BOOTLOADER_MEMORY_WORDS + } + VmVersion::Vm1_3_2 => crate::vm_1_3_2::vm_with_bootloader::USED_BOOTLOADER_MEMORY_WORDS, + VmVersion::VmVirtualBlocks => { + crate::vm_virtual_blocks::constants::USED_BOOTLOADER_MEMORY_WORDS + } + VmVersion::VmVirtualBlocksRefundsEnhancement => { + crate::vm_refunds_enhancement::constants::USED_BOOTLOADER_MEMORY_WORDS + } + VmVersion::VmBoojumIntegration => { + crate::vm_boojum_integration::constants::USED_BOOTLOADER_MEMORY_WORDS + } + VmVersion::Vm1_4_1 => crate::vm_latest::constants::USED_BOOTLOADER_MEMORY_WORDS, } } diff --git a/core/lib/multivm/src/versions/vm_1_3_2/transaction_data.rs b/core/lib/multivm/src/versions/vm_1_3_2/transaction_data.rs index 63d0418c2969..58d8d29b6044 100644 --- a/core/lib/multivm/src/versions/vm_1_3_2/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_1_3_2/transaction_data.rs @@ -10,8 +10,10 @@ use zksync_utils::{ address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, ceil_div_u256, h256_to_u256, }; +use super::vm_with_bootloader::MAX_TXS_IN_BLOCK; use crate::vm_1_3_2::vm_with_bootloader::{ - BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_PUBDATA, BOOTLOADER_TX_ENCODING_SPACE, MAX_TXS_IN_BLOCK, + BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_PUBDATA, BOOTLOADER_TX_ENCODING_SPACE, + MAX_GAS_PER_PUBDATA_BYTE, }; // This structure represents the data that is used by @@ -58,12 +60,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: common_data.initiator_address, to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs index 8bf8c78235d4..c8d8d828c45c 100644 --- a/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_1_3_2/vm_with_bootloader.rs @@ -13,11 +13,11 @@ use zk_evm_1_3_3::{ }; use zksync_contracts::BaseSystemContracts; use zksync_state::WriteStorage; +use zksync_system_constants::MAX_L2_TX_GAS_LIMIT; use zksync_types::{ fee_model::L1PeggedBatchFeeModelInput, l1::is_l1_tx_type, zkevm_test_harness::INITIAL_MONOTONIC_CYCLE_COUNTER, Address, Transaction, BOOTLOADER_ADDRESS, - L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, U256, - USED_BOOTLOADER_MEMORY_WORDS, + L1_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, U256, }; use zksync_utils::{ address_to_u256, @@ -110,7 +110,7 @@ pub(crate) fn derive_base_fee_and_gas_per_pubdata( ( base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), + base_fee_to_gas_per_pubdata(fee_input.l1_gas_price, base_fee), ) } @@ -135,6 +135,23 @@ impl From for DerivedBlockContext { } } +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; @@ -180,7 +197,7 @@ pub const BOOTLOADER_TX_DESCRIPTION_OFFSET: usize = COMPRESSED_BYTECODES_OFFSET + COMPRESSED_BYTECODES_SLOTS; // The size of the bootloader memory dedicated to the encodings of transactions -pub(crate) const BOOTLOADER_TX_ENCODING_SPACE: u32 = +pub const BOOTLOADER_TX_ENCODING_SPACE: u32 = (USED_BOOTLOADER_MEMORY_WORDS - TX_DESCRIPTION_OFFSET - MAX_TXS_IN_BLOCK) as u32; // Size of the bootloader tx description in words diff --git a/core/lib/multivm/src/versions/vm_boojum_integration/constants.rs b/core/lib/multivm/src/versions/vm_boojum_integration/constants.rs index 7fc196974dc4..29a67aa20a65 100644 --- a/core/lib/multivm/src/versions/vm_boojum_integration/constants.rs +++ b/core/lib/multivm/src/versions/vm_boojum_integration/constants.rs @@ -2,13 +2,27 @@ use zk_evm_1_4_0::aux_structures::MemoryPage; pub use zk_evm_1_4_0::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; -use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, - USED_BOOTLOADER_MEMORY_WORDS, -}; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS}; use crate::vm_boojum_integration::old_vm::utils::heap_page_from_base; +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; diff --git a/core/lib/multivm/src/versions/vm_boojum_integration/types/internals/transaction_data.rs b/core/lib/multivm/src/versions/vm_boojum_integration/types/internals/transaction_data.rs index 277affb39ef3..81d967029f64 100644 --- a/core/lib/multivm/src/versions/vm_boojum_integration/types/internals/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_boojum_integration/types/internals/transaction_data.rs @@ -11,7 +11,10 @@ use zksync_types::{ }; use zksync_utils::{address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, h256_to_u256}; -use crate::vm_boojum_integration::utils::overhead::{get_amortized_overhead, OverheadCoefficients}; +use crate::vm_boojum_integration::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, + utils::overhead::{get_amortized_overhead, OverheadCoefficients}, +}; /// This structure represents the data that is used by /// the Bootloader to describe the transaction. @@ -59,12 +62,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: common_data.initiator_address, to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_boojum_integration/utils/fee.rs b/core/lib/multivm/src/versions/vm_boojum_integration/utils/fee.rs index 511dc7bccd57..55c7d0894598 100644 --- a/core/lib/multivm/src/versions/vm_boojum_integration/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_boojum_integration/utils/fee.rs @@ -1,10 +1,12 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_types::fee_model::L1PeggedBatchFeeModelInput; use zksync_utils::ceil_div; use crate::{ - vm_boojum_integration::old_vm::utils::eth_price_per_pubdata_byte, vm_latest::L1BatchEnv, + vm_boojum_integration::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, old_vm::utils::eth_price_per_pubdata_byte, + }, + vm_latest::L1BatchEnv, }; /// Calculates the amount of gas required to publish one byte of pubdata diff --git a/core/lib/multivm/src/versions/vm_latest/bootloader_state/l2_block.rs b/core/lib/multivm/src/versions/vm_latest/bootloader_state/l2_block.rs index 9a4ae2df871b..70b6a2b866ee 100644 --- a/core/lib/multivm/src/versions/vm_latest/bootloader_state/l2_block.rs +++ b/core/lib/multivm/src/versions/vm_latest/bootloader_state/l2_block.rs @@ -22,7 +22,7 @@ pub(crate) struct BootloaderL2Block { // Number of the first L2 block tx in L1 batch pub(crate) first_tx_index: usize, pub(crate) max_virtual_blocks_to_create: u32, - pub(super) txs: Vec, + pub(crate) txs: Vec, } impl BootloaderL2Block { diff --git a/core/lib/multivm/src/versions/vm_latest/bootloader_state/tx.rs b/core/lib/multivm/src/versions/vm_latest/bootloader_state/tx.rs index 21aee75b38b5..9f44d848a4ed 100644 --- a/core/lib/multivm/src/versions/vm_latest/bootloader_state/tx.rs +++ b/core/lib/multivm/src/versions/vm_latest/bootloader_state/tx.rs @@ -5,20 +5,20 @@ use crate::vm_latest::types::internals::TransactionData; /// Information about tx necessary for execution in bootloader. #[derive(Debug, Clone)] -pub(super) struct BootloaderTx { - pub(super) hash: H256, +pub(crate) struct BootloaderTx { + pub(crate) hash: H256, /// Encoded transaction - pub(super) encoded: Vec, + pub(crate) encoded: Vec, /// Compressed bytecodes, which has been published during this transaction - pub(super) compressed_bytecodes: Vec, + pub(crate) compressed_bytecodes: Vec, /// Refunds for this transaction - pub(super) refund: u32, + pub(crate) refund: u32, /// Gas overhead - pub(super) gas_overhead: u32, + pub(crate) gas_overhead: u32, /// Gas Limit for this transaction. It can be different from the gas limit inside the transaction - pub(super) trusted_gas_limit: U256, + pub(crate) trusted_gas_limit: U256, /// Offset of the tx in bootloader memory - pub(super) offset: usize, + pub(crate) offset: usize, } impl BootloaderTx { diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index 944000178825..1652a2f9424d 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -1,16 +1,32 @@ -use zk_evm_1_4_0::aux_structures::MemoryPage; -pub use zk_evm_1_4_0::zkevm_opcode_defs::system_params::{ +use zk_evm_1_4_1::aux_structures::MemoryPage; +pub use zk_evm_1_4_1::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; -use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, - USED_BOOTLOADER_MEMORY_WORDS, -}; +use zksync_system_constants::{MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS}; use crate::vm_latest::old_vm::utils::heap_page_from_base; -// The maximal number of transactions in a single batch -pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +/// In this version of the VM the used bootloader memory bytes has increased from `2^24`` to `24_000_000`. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 24_000_000; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 2500; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + +// The maximal number of transactions in a single batch. +// In this version of the VM the limit has been increased from `1024` to to `10000`. +pub(crate) const MAX_TXS_IN_BATCH: usize = 10000; /// Max cycles for a single transaction. pub const MAX_CYCLES_FOR_TX: u32 = u32::MAX; @@ -18,6 +34,7 @@ pub const MAX_CYCLES_FOR_TX: u32 = u32::MAX; /// The first 32 slots are reserved for debugging purposes pub(crate) const DEBUG_SLOTS_OFFSET: usize = 8; pub(crate) const DEBUG_FIRST_SLOTS: usize = 32; + /// The next 33 slots are reserved for dealing with the paymaster context (1 slot for storing length + 32 slots for storing the actual context). pub(crate) const PAYMASTER_CONTEXT_SLOTS: usize = 32 + 1; /// The next PAYMASTER_CONTEXT_SLOTS + 7 slots free slots are needed before each tx, so that the @@ -35,7 +52,7 @@ const CURRENT_L2_TX_HASHES_SLOTS: usize = 2; const NEW_FACTORY_DEPS_RESERVED_SLOTS: usize = MAX_NEW_FACTORY_DEPS + 4; /// The operator can provide for each transaction the proposed minimal refund -pub(crate) const OPERATOR_REFUNDS_SLOTS: usize = MAX_TXS_IN_BLOCK; +pub(crate) const OPERATOR_REFUNDS_SLOTS: usize = MAX_TXS_IN_BATCH; pub(crate) const OPERATOR_REFUNDS_OFFSET: usize = DEBUG_SLOTS_OFFSET + DEBUG_FIRST_SLOTS @@ -44,10 +61,10 @@ pub(crate) const OPERATOR_REFUNDS_OFFSET: usize = DEBUG_SLOTS_OFFSET + NEW_FACTORY_DEPS_RESERVED_SLOTS; pub(crate) const TX_OVERHEAD_OFFSET: usize = OPERATOR_REFUNDS_OFFSET + OPERATOR_REFUNDS_SLOTS; -pub(crate) const TX_OVERHEAD_SLOTS: usize = MAX_TXS_IN_BLOCK; +pub(crate) const TX_OVERHEAD_SLOTS: usize = MAX_TXS_IN_BATCH; pub(crate) const TX_TRUSTED_GAS_LIMIT_OFFSET: usize = TX_OVERHEAD_OFFSET + TX_OVERHEAD_SLOTS; -pub(crate) const TX_TRUSTED_GAS_LIMIT_SLOTS: usize = MAX_TXS_IN_BLOCK; +pub(crate) const TX_TRUSTED_GAS_LIMIT_SLOTS: usize = MAX_TXS_IN_BATCH; pub(crate) const COMPRESSED_BYTECODES_SLOTS: usize = 32768; @@ -73,7 +90,7 @@ pub(crate) const BOOTLOADER_TX_DESCRIPTION_OFFSET: usize = /// The size of the bootloader memory dedicated to the encodings of transactions pub(crate) const BOOTLOADER_TX_ENCODING_SPACE: u32 = - (USED_BOOTLOADER_MEMORY_WORDS - TX_DESCRIPTION_OFFSET - MAX_TXS_IN_BLOCK) as u32; + (USED_BOOTLOADER_MEMORY_WORDS - TX_DESCRIPTION_OFFSET - MAX_TXS_IN_BATCH) as u32; // Size of the bootloader tx description in words pub(crate) const BOOTLOADER_TX_DESCRIPTION_SIZE: usize = 2; @@ -81,16 +98,13 @@ pub(crate) const BOOTLOADER_TX_DESCRIPTION_SIZE: usize = 2; /// The actual descriptions of transactions should start after the minor descriptions and a MAX_POSTOP_SLOTS /// free slots to allow postOp encoding. pub(crate) const TX_DESCRIPTION_OFFSET: usize = BOOTLOADER_TX_DESCRIPTION_OFFSET - + BOOTLOADER_TX_DESCRIPTION_SIZE * MAX_TXS_IN_BLOCK + + BOOTLOADER_TX_DESCRIPTION_SIZE * MAX_TXS_IN_BATCH + MAX_POSTOP_SLOTS; pub(crate) const TX_GAS_LIMIT_OFFSET: usize = 4; const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; -pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; -pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE; /// VM Hooks are used for communication between bootloader and tracers. /// The 'type' / 'opcode' is put into VM_HOOK_POSITION slot, @@ -101,17 +115,15 @@ pub const VM_HOOK_POSITION: u32 = RESULT_SUCCESS_FIRST_SLOT - 1; pub const VM_HOOK_PARAMS_COUNT: u32 = 2; pub const VM_HOOK_PARAMS_START_POSITION: u32 = VM_HOOK_POSITION - VM_HOOK_PARAMS_COUNT; -pub(crate) const MAX_MEM_SIZE_BYTES: u32 = 16777216; // 2^24 - /// Arbitrary space in memory closer to the end of the page pub const RESULT_SUCCESS_FIRST_SLOT: u32 = - (MAX_MEM_SIZE_BYTES - (MAX_TXS_IN_BLOCK as u32) * 32) / 32; + ((USED_BOOTLOADER_MEMORY_BYTES as u32) - (MAX_TXS_IN_BATCH as u32) * 32) / 32; /// How many gas bootloader is allowed to spend within one block. /// Note that this value doesn't correspond to the gas limit of any particular transaction /// (except for the fact that, of course, gas limit for each transaction should be <= `BLOCK_GAS_LIMIT`). pub const BLOCK_GAS_LIMIT: u32 = - zk_evm_1_4_0::zkevm_opcode_defs::system_params::VM_INITIAL_FRAME_ERGS; + zk_evm_1_4_1::zkevm_opcode_defs::system_params::VM_INITIAL_FRAME_ERGS; /// How many gas is allowed to spend on a single transaction in eth_call method pub const ETH_CALL_GAS_LIMIT: u32 = MAX_L2_TX_GAS_LIMIT as u32; @@ -124,7 +136,35 @@ pub(crate) const TX_OPERATOR_L2_BLOCK_INFO_OFFSET: usize = pub(crate) const TX_OPERATOR_SLOTS_PER_L2_BLOCK_INFO: usize = 4; pub(crate) const TX_OPERATOR_L2_BLOCK_INFO_SLOTS: usize = - (MAX_TXS_IN_BLOCK + 1) * TX_OPERATOR_SLOTS_PER_L2_BLOCK_INFO; + (MAX_TXS_IN_BATCH + 1) * TX_OPERATOR_SLOTS_PER_L2_BLOCK_INFO; pub(crate) const COMPRESSED_BYTECODES_OFFSET: usize = TX_OPERATOR_L2_BLOCK_INFO_OFFSET + TX_OPERATOR_L2_BLOCK_INFO_SLOTS; + +/// The maximal gas limit that gets passed into an L1->L2 transaction. +/// +/// It is equal to the `MAX_GAS_PER_TRANSACTION` in the bootloader. +/// We need to limit the number of gas that can be passed into the L1->L2 transaction due to the fact +/// that unlike L2 transactions they can not be rejected by the operator and must be executed. In turn, +/// this means that if a transaction spends more than `MAX_GAS_PER_TRANSACTION`, it use up all the limited resources of a batch. +/// +/// It the gas limit cap on Mailbox for a priority transactions should generally be low enough to never cross that boundary, since +/// artificially limiting the gas price is bad UX. However, during the transition between the pre-1.4.1 fee model and the 1.4.1 one, +/// we need to process such transactions somehow. +pub(crate) const PRIORITY_TX_MAX_GAS_LIMIT: usize = 80_000_000; + +/// The amount of gas to be charged for occupying a single slot of a transaction. +/// It is roughly equal to `80kk/MAX_TRANSACTIONS_PER_BATCH`, i.e. how many gas would an L1->L2 transaction +/// need to pay to compensate for the batch being closed. +/// While the derived formula is used for the worst case for L1->L2 transaction, it suits L2 transactions as well +/// and serves to compensate the operator for the fact that they need to process the transaction. In case batches start +/// getting often sealed due to the slot limit being reached, the L2 fair gas price will be increased. +pub(crate) const TX_SLOT_OVERHEAD_GAS: u32 = 10_000; + +/// The amount of gas to be charged for occupying a single byte of the bootloader's memory. +/// It is roughly equal to `80kk/BOOTLOADER_MEMORY_FOR_TXS`, i.e. how many gas would an L1->L2 transaction +/// need to pay to compensate for the batch being closed. +/// While the derived formula is used for the worst case for L1->L2 transaction, it suits L2 transactions as well +/// and serves to compensate the operator for the fact that they need to fill up the bootloader memory. In case batches start +/// getting often sealed due to the memory limit being reached, the L2 fair gas price will be increased. +pub(crate) const TX_MEMORY_OVERHEAD_GAS: u32 = 10; diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/execution.rs b/core/lib/multivm/src/versions/vm_latest/implementation/execution.rs index 1dfdc5b36499..9bda37e20dd6 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/execution.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/execution.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use crate::{ @@ -19,7 +19,7 @@ use crate::{ impl Vm { pub(crate) fn inspect_inner( &mut self, - dispatcher: TracerDispatcher, + dispatcher: TracerDispatcher, execution_mode: VmExecutionMode, ) -> VmExecutionResultAndLogs { let mut enable_refund_tracer = false; @@ -38,13 +38,13 @@ impl Vm { /// Collect the result from the default tracers. fn inspect_and_collect_results( &mut self, - dispatcher: TracerDispatcher, + dispatcher: TracerDispatcher, execution_mode: VmExecutionMode, with_refund_tracer: bool, ) -> (VmExecutionStopReason, VmExecutionResultAndLogs) { let refund_tracers = with_refund_tracer.then_some(RefundsTracer::new(self.batch_env.clone())); - let mut tx_tracer: DefaultExecutionTracer = DefaultExecutionTracer::new( + let mut tx_tracer: DefaultExecutionTracer = DefaultExecutionTracer::new( self.system_env.default_validation_computational_gas_limit, execution_mode, dispatcher, @@ -96,7 +96,7 @@ impl Vm { /// Execute vm with given tracers until the stop reason is reached. fn execute_with_default_tracer( &mut self, - tracer: &mut DefaultExecutionTracer, + tracer: &mut DefaultExecutionTracer, ) -> VmExecutionStopReason { tracer.initialize_tracer(&mut self.state); let result = loop { diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/gas.rs b/core/lib/multivm/src/versions/vm_latest/implementation/gas.rs index 41443298658d..8b21e7aeca1a 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/gas.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/gas.rs @@ -20,7 +20,7 @@ impl Vm { pub(crate) fn calculate_computational_gas_used( &self, - tracer: &DefaultExecutionTracer, + tracer: &DefaultExecutionTracer, gas_remaining_before: u32, spent_pubdata_counter_before: u32, ) -> u32 { diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/logs.rs b/core/lib/multivm/src/versions/vm_latest/implementation/logs.rs index 9e0817aa9394..a2682ef03af6 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/logs.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/logs.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use zksync_types::{ event::extract_l2tol1logs_from_l1_messenger, @@ -7,6 +7,7 @@ use zksync_types::{ }; use crate::{ + glue::GlueInto, interface::types::outputs::VmExecutionLogs, vm_latest::{old_vm::utils::precompile_calls_count_after_timestamp, utils::logs, vm::Vm}, HistoryMode, @@ -66,7 +67,7 @@ impl Vm { logs::collect_events_and_l1_system_logs_after_timestamp( &self.state, &self.batch_env, - from_timestamp, + from_timestamp.glue_into(), ) } } diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/snapshots.rs b/core/lib/multivm/src/versions/vm_latest/implementation/snapshots.rs index d7cba6ffd24b..6f27c031d09e 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/snapshots.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/snapshots.rs @@ -1,7 +1,7 @@ use std::time::Duration; use vise::{Buckets, EncodeLabelSet, EncodeLabelValue, Family, Histogram, Metrics}; -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use crate::vm_latest::{ diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/statistics.rs b/core/lib/multivm/src/versions/vm_latest/implementation/statistics.rs index 3f88629ffb00..bdaf425ee27d 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/statistics.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/statistics.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use zksync_types::U256; @@ -18,7 +18,7 @@ impl Vm { &self, timestamp_initial: Timestamp, cycles_initial: u32, - tracer: &DefaultExecutionTracer, + tracer: &DefaultExecutionTracer, gas_remaining_before: u32, gas_remaining_after: u32, spent_pubdata_counter_before: u32, diff --git a/core/lib/multivm/src/versions/vm_latest/implementation/tx.rs b/core/lib/multivm/src/versions/vm_latest/implementation/tx.rs index 6293ea13617e..d7d948c8b573 100644 --- a/core/lib/multivm/src/versions/vm_latest/implementation/tx.rs +++ b/core/lib/multivm/src/versions/vm_latest/implementation/tx.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use zksync_types::{l1::is_l1_tx_type, Transaction}; @@ -7,7 +7,6 @@ use crate::{ constants::BOOTLOADER_HEAP_PAGE, implementation::bytecode::{bytecode_to_factory_dep, compress_bytecodes}, types::internals::TransactionData, - utils::fee::get_batch_gas_per_pubdata, vm::Vm, }, HistoryMode, @@ -39,7 +38,7 @@ impl Vm { .decommittment_processor .populate(codes_for_decommiter, timestamp); - let trusted_ergs_limit = tx.trusted_ergs_limit(get_batch_gas_per_pubdata(&self.batch_env)); + let trusted_ergs_limit = tx.trusted_ergs_limit(); let memory = self.bootloader_state.push_tx( tx, @@ -61,8 +60,7 @@ impl Vm { with_compression: bool, ) { let tx: TransactionData = tx.into(); - let block_gas_per_pubdata_byte = get_batch_gas_per_pubdata(&self.batch_env); - let overhead = tx.overhead_gas(block_gas_per_pubdata_byte as u32); + let overhead = tx.overhead_gas(); self.push_raw_transaction(tx, overhead, 0, with_compression); } } diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/event_sink.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/event_sink.rs index 564d26fcbde3..7e3097aaeb44 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/event_sink.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/event_sink.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use itertools::Itertools; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ abstractions::EventSink, aux_structures::{LogQuery, Timestamp}, reference_impls::event_sink::EventMessage, diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/events.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/events.rs index eed8fee4ac86..fc97b6f4a419 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/events.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/events.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ethereum_types::Address, reference_impls::event_sink::EventMessage}; +use zk_evm_1_4_1::{ethereum_types::Address, reference_impls::event_sink::EventMessage}; use zksync_types::{L1BatchNumber, VmEvent, EVENT_WRITER_ADDRESS, H256}; use zksync_utils::{be_chunks_to_h256_words, h256_to_account_address}; diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/history_recorder.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/history_recorder.rs index d82fb60dd6e7..d4c5b6367a9b 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/history_recorder.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/history_recorder.rs @@ -1,6 +1,6 @@ use std::{collections::HashMap, fmt::Debug, hash::Hash}; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::Timestamp, vm_state::PrimitiveValue, zkevm_opcode_defs::{self}, @@ -770,7 +770,7 @@ impl HistoryRecorder, H> { #[cfg(test)] mod tests { - use zk_evm_1_4_0::{aux_structures::Timestamp, vm_state::PrimitiveValue}; + use zk_evm_1_4_1::{aux_structures::Timestamp, vm_state::PrimitiveValue}; use zksync_types::U256; use crate::vm_latest::{ diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/memory.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/memory.rs index 388ed31b5134..120ff43acffb 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/memory.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/memory.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ abstractions::{Memory, MemoryType}, aux_structures::{MemoryPage, MemoryQuery, Timestamp}, vm_state::PrimitiveValue, diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/decommitter.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/decommitter.rs index f9f0e57a2d14..86e8f6f6da1e 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/decommitter.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/decommitter.rs @@ -1,6 +1,6 @@ use std::{collections::HashMap, fmt::Debug}; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ abstractions::{DecommittmentProcessor, Memory, MemoryType}, aux_structures::{ DecommittmentQuery, MemoryIndex, MemoryLocation, MemoryPage, MemoryQuery, Timestamp, @@ -14,8 +14,7 @@ use super::OracleWithHistory; use crate::vm_latest::old_vm::history_recorder::{ HistoryEnabled, HistoryMode, HistoryRecorder, WithHistory, }; - -/// The main job of the DecommiterOracle is to implement the DecommitmentProcessor trait - that is +/// The main job of the DecommiterOracle is to implement the DecommittmentProcessor trait - that is /// used by the VM to 'load' bytecodes into memory. #[derive(Debug)] pub struct DecommitterOracle { @@ -169,7 +168,7 @@ impl DecommittmentProcess memory: &mut M, ) -> Result< ( - zk_evm_1_4_0::aux_structures::DecommittmentQuery, + zk_evm_1_4_1::aux_structures::DecommittmentQuery, Option>, ), anyhow::Error, diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/mod.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/mod.rs index 3f8d2d0f1383..7d463ad082be 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/mod.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/mod.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; pub(crate) mod decommitter; pub(crate) mod precompile; diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/precompile.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/precompile.rs index fed5c1b6c0e5..8de51a9619df 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/precompile.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/precompile.rs @@ -1,6 +1,6 @@ use std::convert::TryFrom; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ abstractions::{Memory, PrecompileCyclesWitness, PrecompilesProcessor}, aux_structures::{LogQuery, MemoryQuery, Timestamp}, zk_evm_abstractions::precompiles::{ecrecover, keccak256, sha256, PrecompileAddress}, diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/storage.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/storage.rs deleted file mode 100644 index b2c471832e46..000000000000 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/oracles/storage.rs +++ /dev/null @@ -1,337 +0,0 @@ -use std::collections::HashMap; - -use crate::vm_latest::old_vm::history_recorder::{ - AppDataFrameManagerWithHistory, HashMapHistoryEvent, HistoryEnabled, HistoryMode, - HistoryRecorder, StorageWrapper, WithHistory, -}; - -use zk_evm_1_4_0::abstractions::RefundedAmounts; -use zk_evm_1_4_0::zkevm_opcode_defs::system_params::INITIAL_STORAGE_WRITE_PUBDATA_BYTES; -use zk_evm_1_4_0::{ - abstractions::{RefundType, Storage as VmStorageOracle}, - aux_structures::{LogQuery, Timestamp}, -}; - -use zksync_state::{StoragePtr, WriteStorage}; -use zksync_types::utils::storage_key_for_eth_balance; -use zksync_types::{ - AccountTreeId, Address, StorageKey, StorageLogQuery, StorageLogQueryType, BOOTLOADER_ADDRESS, - U256, -}; -use zksync_utils::u256_to_h256; - -use super::OracleWithHistory; - -// While the storage does not support different shards, it was decided to write the -// code of the StorageOracle with the shard parameters in mind. -pub(crate) fn triplet_to_storage_key(_shard_id: u8, address: Address, key: U256) -> StorageKey { - StorageKey::new(AccountTreeId::new(address), u256_to_h256(key)) -} - -pub(crate) fn storage_key_of_log(query: &LogQuery) -> StorageKey { - triplet_to_storage_key(query.shard_id, query.address, query.key) -} - -#[derive(Debug)] -pub struct StorageOracle { - // Access to the persistent storage. Please note that it - // is used only for read access. All the actual writes happen - // after the execution ended. - pub(crate) storage: HistoryRecorder, H>, - - pub(crate) frames_stack: AppDataFrameManagerWithHistory, H>, - - // The changes that have been paid for in previous transactions. - // It is a mapping from storage key to the number of *bytes* that was paid by the user - // to cover this slot. - // `paid_changes` history is necessary - pub(crate) paid_changes: HistoryRecorder, HistoryEnabled>, -} - -impl OracleWithHistory for StorageOracle { - fn rollback_to_timestamp(&mut self, timestamp: Timestamp) { - self.frames_stack.rollback_to_timestamp(timestamp); - self.storage.rollback_to_timestamp(timestamp); - self.paid_changes.rollback_to_timestamp(timestamp); - } -} - -impl StorageOracle { - pub fn new(storage: StoragePtr) -> Self { - Self { - storage: HistoryRecorder::from_inner(StorageWrapper::new(storage)), - frames_stack: Default::default(), - paid_changes: Default::default(), - } - } - - pub fn delete_history(&mut self) { - self.frames_stack.delete_history(); - self.storage.delete_history(); - self.paid_changes.delete_history(); - } - - fn is_storage_key_free(&self, key: &StorageKey) -> bool { - key.address() == &zksync_system_constants::SYSTEM_CONTEXT_ADDRESS - || *key == storage_key_for_eth_balance(&BOOTLOADER_ADDRESS) - } - - pub fn read_value(&mut self, mut query: LogQuery) -> LogQuery { - let key = triplet_to_storage_key(query.shard_id, query.address, query.key); - let current_value = self.storage.read_from_storage(&key); - - query.read_value = current_value; - - self.frames_stack.push_forward( - Box::new(StorageLogQuery { - log_query: query, - log_type: StorageLogQueryType::Read, - }), - query.timestamp, - ); - - query - } - - pub fn write_value(&mut self, mut query: LogQuery) -> LogQuery { - let key = triplet_to_storage_key(query.shard_id, query.address, query.key); - let current_value = - self.storage - .write_to_storage(key, query.written_value, query.timestamp); - - let is_initial_write = self.storage.get_ptr().borrow_mut().is_write_initial(&key); - let log_query_type = if is_initial_write { - StorageLogQueryType::InitialWrite - } else { - StorageLogQueryType::RepeatedWrite - }; - - query.read_value = current_value; - - let mut storage_log_query = StorageLogQuery { - log_query: query, - log_type: log_query_type, - }; - self.frames_stack - .push_forward(Box::new(storage_log_query), query.timestamp); - storage_log_query.log_query.rollback = true; - self.frames_stack - .push_rollback(Box::new(storage_log_query), query.timestamp); - - query - } - - // Returns the amount of funds that has been already paid for writes into the storage slot - fn prepaid_for_write(&self, storage_key: &StorageKey) -> u32 { - self.paid_changes - .inner() - .get(storage_key) - .copied() - .unwrap_or_default() - } - - pub(crate) fn base_price_for_write(&self, query: &LogQuery) -> u32 { - let storage_key = storage_key_of_log(query); - - if self.is_storage_key_free(&storage_key) { - return 0; - } - - let is_initial_write = self - .storage - .get_ptr() - .borrow_mut() - .is_write_initial(&storage_key); - - get_pubdata_price_bytes(query, is_initial_write) - } - - // Returns the price of the update in terms of pubdata bytes. - // TODO (SMA-1701): update VM to accept gas instead of pubdata. - fn value_update_price(&self, query: &LogQuery) -> u32 { - let storage_key = storage_key_of_log(query); - - let base_cost = self.base_price_for_write(query); - - let already_paid = self.prepaid_for_write(&storage_key); - - if base_cost <= already_paid { - // Some other transaction has already paid for this slot, no need to pay anything - 0u32 - } else { - base_cost - already_paid - } - } - - /// Returns storage log queries from current frame where `log.log_query.timestamp >= from_timestamp`. - pub(crate) fn storage_log_queries_after_timestamp( - &self, - from_timestamp: Timestamp, - ) -> &[Box] { - let logs = self.frames_stack.forward().current_frame(); - - // Select all of the last elements where l.log_query.timestamp >= from_timestamp. - // Note, that using binary search here is dangerous, because the logs are not sorted by timestamp. - logs.rsplit(|l| l.log_query.timestamp < from_timestamp) - .next() - .unwrap_or(&[]) - } - - pub(crate) fn get_final_log_queries(&self) -> Vec { - assert_eq!( - self.frames_stack.len(), - 1, - "VM finished execution in unexpected state" - ); - - self.frames_stack - .forward() - .current_frame() - .iter() - .map(|x| **x) - .collect() - } - - pub(crate) fn get_size(&self) -> usize { - let frames_stack_size = self.frames_stack.get_size(); - let paid_changes_size = - self.paid_changes.inner().len() * std::mem::size_of::<(StorageKey, u32)>(); - - frames_stack_size + paid_changes_size - } - - pub(crate) fn get_history_size(&self) -> usize { - let storage_size = self.storage.borrow_history(|h| h.len(), 0) - * std::mem::size_of::< as WithHistory>::HistoryRecord>(); - let frames_stack_size = self.frames_stack.get_history_size(); - let paid_changes_size = self.paid_changes.borrow_history(|h| h.len(), 0) - * std::mem::size_of::< as WithHistory>::HistoryRecord>(); - storage_size + frames_stack_size + paid_changes_size - } -} - -impl VmStorageOracle for StorageOracle { - // Perform a storage read/write access by taking an partially filled query - // and returning filled query and cold/warm marker for pricing purposes - fn execute_partial_query( - &mut self, - _monotonic_cycle_counter: u32, - query: LogQuery, - ) -> LogQuery { - // tracing::trace!( - // "execute partial query cyc {:?} addr {:?} key {:?}, rw {:?}, wr {:?}, tx {:?}", - // _monotonic_cycle_counter, - // query.address, - // query.key, - // query.rw_flag, - // query.written_value, - // query.tx_number_in_block - // ); - assert!(!query.rollback); - if query.rw_flag { - // The number of bytes that have been compensated by the user to perform this write - let storage_key = storage_key_of_log(&query); - - // It is considered that the user has paid for the whole base price for the writes - let to_pay_by_user = self.base_price_for_write(&query); - let prepaid = self.prepaid_for_write(&storage_key); - - if to_pay_by_user > prepaid { - self.paid_changes.apply_historic_record( - HashMapHistoryEvent { - key: storage_key, - value: Some(to_pay_by_user), - }, - query.timestamp, - ); - } - self.write_value(query) - } else { - self.read_value(query) - } - } - - // We can return the size of the refund before each storage query. - // Note, that while the `RefundType` allows to provide refunds both in - // `ergs` and `pubdata`, only refunds in pubdata will be compensated for the users - fn estimate_refunds_for_write( - &mut self, // to avoid any hacks inside, like prefetch - _monotonic_cycle_counter: u32, - partial_query: &LogQuery, - ) -> RefundType { - let price_to_pay = self.value_update_price(partial_query); - - RefundType::RepeatedWrite(RefundedAmounts { - ergs: 0, - // `INITIAL_STORAGE_WRITE_PUBDATA_BYTES` is the default amount of pubdata bytes the user pays for. - pubdata_bytes: (INITIAL_STORAGE_WRITE_PUBDATA_BYTES as u32) - price_to_pay, - }) - } - - // Indicate a start of execution frame for rollback purposes - fn start_frame(&mut self, timestamp: Timestamp) { - self.frames_stack.push_frame(timestamp); - } - - // Indicate that execution frame went out from the scope, so we can - // log the history and either rollback immediately or keep records to rollback later - fn finish_frame(&mut self, timestamp: Timestamp, panicked: bool) { - // If we panic then we append forward and rollbacks to the forward of parent, - // otherwise we place rollbacks of child before rollbacks of the parent - if panicked { - // perform actual rollback - for query in self.frames_stack.rollback().current_frame().iter().rev() { - let read_value = match query.log_type { - StorageLogQueryType::Read => { - // Having Read logs in rollback is not possible - tracing::warn!("Read log in rollback queue {:?}", query); - continue; - } - StorageLogQueryType::InitialWrite | StorageLogQueryType::RepeatedWrite => { - query.log_query.read_value - } - }; - - let LogQuery { written_value, .. } = query.log_query; - let key = triplet_to_storage_key( - query.log_query.shard_id, - query.log_query.address, - query.log_query.key, - ); - let current_value = self.storage.write_to_storage( - key, - // NOTE, that since it is a rollback query, - // the `read_value` is being set - read_value, timestamp, - ); - - // Additional validation that the current value was correct - // Unwrap is safe because the return value from write_inner is the previous value in this leaf. - // It is impossible to set leaf value to `None` - assert_eq!(current_value, written_value); - } - - self.frames_stack - .move_rollback_to_forward(|_| true, timestamp); - } - self.frames_stack.merge_frame(timestamp); - } -} - -/// Returns the number of bytes needed to publish a slot. -// Since we need to publish the state diffs onchain, for each of the updated storage slot -// we basically need to publish the following pair: (). -// While new_value is always 32 bytes long, for key we use the following optimization: -// - The first time we publish it, we use 32 bytes. -// Then, we remember a 8-byte id for this slot and assign it to it. We call this initial write. -// - The second time we publish it, we will use this 8-byte instead of the 32 bytes of the entire key. -// So the total size of the publish pubdata is 40 bytes. We call this kind of write the repeated one -fn get_pubdata_price_bytes(_query: &LogQuery, is_initial: bool) -> u32 { - // TODO (SMA-1702): take into account the content of the log query, i.e. values that contain mostly zeroes - // should cost less. - if is_initial { - zk_evm_1_4_0::zkevm_opcode_defs::system_params::INITIAL_STORAGE_WRITE_PUBDATA_BYTES as u32 - } else { - zk_evm_1_4_0::zkevm_opcode_defs::system_params::REPEATED_STORAGE_WRITE_PUBDATA_BYTES as u32 - } -} diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs index 0fca670949d1..6320c6bcb1fe 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::{MemoryPage, Timestamp}, vm_state::PrimitiveValue, zkevm_opcode_defs::{ @@ -7,7 +7,6 @@ use zk_evm_1_4_0::{ }, }; use zksync_state::WriteStorage; -use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_latest::{ @@ -96,12 +95,6 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) -} - pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs index d80a545ff67f..72d6e1f696b3 100644 --- a/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs +++ b/core/lib/multivm/src/versions/vm_latest/oracles/storage.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ abstractions::{RefundType, RefundedAmounts, Storage as VmStorageOracle}, aux_structures::{LogQuery, Timestamp}, zkevm_opcode_defs::system_params::INITIAL_STORAGE_WRITE_PUBDATA_BYTES, @@ -17,12 +17,15 @@ use zksync_types::{ }; use zksync_utils::u256_to_h256; -use crate::vm_latest::old_vm::{ - history_recorder::{ - AppDataFrameManagerWithHistory, HashMapHistoryEvent, HistoryEnabled, HistoryMode, - HistoryRecorder, StorageWrapper, VectorHistoryEvent, WithHistory, +use crate::{ + glue::GlueInto, + vm_latest::old_vm::{ + history_recorder::{ + AppDataFrameManagerWithHistory, HashMapHistoryEvent, HistoryEnabled, HistoryMode, + HistoryRecorder, StorageWrapper, VectorHistoryEvent, WithHistory, + }, + oracles::OracleWithHistory, }, - oracles::OracleWithHistory, }; // While the storage does not support different shards, it was decided to write the @@ -133,7 +136,7 @@ impl StorageOracle { self.frames_stack.push_forward( Box::new(StorageLogQuery { - log_query: query, + log_query: query.glue_into(), log_type: StorageLogQueryType::Read, }), query.timestamp, @@ -161,7 +164,7 @@ impl StorageOracle { self.set_initial_value(&key, current_value, query.timestamp); let mut storage_log_query = StorageLogQuery { - log_query: query, + log_query: query.glue_into(), log_type: log_query_type, }; self.frames_stack @@ -294,7 +297,7 @@ impl StorageOracle { // Select all of the last elements where `l.log_query.timestamp >= from_timestamp`. // Note, that using binary search here is dangerous, because the logs are not sorted by timestamp. - logs.rsplit(|l| l.log_query.timestamp < from_timestamp) + logs.rsplit(|l| l.log_query.timestamp < from_timestamp.glue_into()) .next() .unwrap_or(&[]) } @@ -431,7 +434,7 @@ impl VmStorageOracle for StorageOracle { } }; - let LogQuery { written_value, .. } = query.log_query; + let LogQuery { written_value, .. } = query.log_query.glue_into(); let key = triplet_to_storage_key( query.log_query.shard_id, query.log_query.address, diff --git a/core/lib/multivm/src/versions/vm_latest/tests/l1_tx_execution.rs b/core/lib/multivm/src/versions/vm_latest/tests/l1_tx_execution.rs index a8e53021848e..fe2987d76ac5 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/l1_tx_execution.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/l1_tx_execution.rs @@ -1,9 +1,11 @@ -use zksync_system_constants::BOOTLOADER_ADDRESS; +use ethabi::Token; +use zksync_contracts::l1_messenger_contract; +use zksync_system_constants::{BOOTLOADER_ADDRESS, L1_MESSENGER_ADDRESS}; use zksync_types::{ get_code_key, get_known_code_key, l2_to_l1_log::{L2ToL1Log, UserL2ToL1Log}, storage_writes_deduplicator::StorageWritesDeduplicator, - U256, + Execute, ExecuteTransactionCommon, U256, }; use zksync_utils::u256_to_h256; @@ -137,3 +139,51 @@ fn test_l1_tx_execution() { // There are only basic initial writes assert_eq!(res.initial_storage_writes - basic_initial_writes, 2); } + +#[test] +fn test_l1_tx_execution_high_gas_limit() { + // In this test, we try to execute an L1->L2 transaction with a high gas limit. + // Usually priority transactions with dangerously gas limit should even pass the checks on the L1, + // however, they might pass during the transition period to the new fee model, so we check that we can safely process those. + + let mut vm = VmTesterBuilder::new(HistoryEnabled) + .with_empty_in_memory_storage() + .with_base_system_smart_contracts(BASE_SYSTEM_CONTRACTS.clone()) + .with_execution_mode(TxExecutionMode::VerifyExecute) + .with_random_rich_accounts(1) + .build(); + + let account = &mut vm.rich_accounts[0]; + + let l1_messenger = l1_messenger_contract(); + + let contract_function = l1_messenger.function("sendToL1").unwrap(); + let params = [ + // Even a message of size 100k should not be able to be sent by a priority transaction + Token::Bytes(vec![0u8; 100_000]), + ]; + let calldata = contract_function.encode_input(¶ms).unwrap(); + + let mut tx = account.get_l1_tx( + Execute { + contract_address: L1_MESSENGER_ADDRESS, + value: 0.into(), + factory_deps: None, + calldata, + }, + 0, + ); + + if let ExecuteTransactionCommon::L1(data) = &mut tx.common_data { + // Using some large gas limit + data.gas_limit = 300_000_000.into(); + } else { + unreachable!() + }; + + vm.vm.push_transaction(tx); + + let res = vm.vm.execute(VmExecutionMode::OneTx); + + assert!(res.result.is_failed(), "The transaction should've failed"); +} diff --git a/core/lib/multivm/src/versions/vm_latest/tests/l2_blocks.rs b/core/lib/multivm/src/versions/vm_latest/tests/l2_blocks.rs index 1faeba9652f9..d103ebf7ebcb 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/l2_blocks.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/l2_blocks.rs @@ -3,7 +3,7 @@ //! The description for each of the tests can be found in the corresponding `.yul` file. //! -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; use zksync_system_constants::REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE; use zksync_types::{ diff --git a/core/lib/multivm/src/versions/vm_latest/tests/precompiles.rs b/core/lib/multivm/src/versions/vm_latest/tests/precompiles.rs index 4f78319bc42e..8556b17fd5bb 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/precompiles.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/precompiles.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::zk_evm_abstractions::precompiles::PrecompileAddress; +use zk_evm_1_4_1::zk_evm_abstractions::precompiles::PrecompileAddress; use zksync_types::{Address, Execute}; use crate::{ diff --git a/core/lib/multivm/src/versions/vm_latest/tests/refunds.rs b/core/lib/multivm/src/versions/vm_latest/tests/refunds.rs index 7746121c1cff..5662ee1fd665 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/refunds.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/refunds.rs @@ -6,7 +6,6 @@ use crate::{ utils::read_test_contract, }, types::internals::TransactionData, - utils::fee::get_batch_gas_per_pubdata, HistoryEnabled, }, }; @@ -61,9 +60,8 @@ fn test_predetermined_refunded_gas() { .build(); let tx: TransactionData = tx.into(); - let block_gas_per_pubdata_byte = get_batch_gas_per_pubdata(&vm.vm.batch_env); // Overhead - let overhead = tx.overhead_gas(block_gas_per_pubdata_byte as u32); + let overhead = tx.overhead_gas(); vm.vm .push_raw_transaction(tx.clone(), overhead, result.refunds.gas_refunded, true); diff --git a/core/lib/multivm/src/versions/vm_latest/tests/rollbacks.rs b/core/lib/multivm/src/versions/vm_latest/tests/rollbacks.rs index 23c1ab49ad98..188941d74d77 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/rollbacks.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/rollbacks.rs @@ -5,7 +5,7 @@ use zksync_types::{get_nonce_key, Execute, U256}; use crate::{ interface::{ - dyn_tracers::vm_1_4_0::DynTracer, + dyn_tracers::vm_1_4_1::DynTracer, tracer::{TracerExecutionStatus, TracerExecutionStopReason}, TxExecutionMode, VmExecutionMode, VmInterface, VmInterfaceHistoryEnabled, }, diff --git a/core/lib/multivm/src/versions/vm_latest/tests/tester/inner_state.rs b/core/lib/multivm/src/versions/vm_latest/tests/tester/inner_state.rs index 39ecdf24cb84..9dbb72d56d89 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/tester/inner_state.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/tester/inner_state.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use zk_evm_1_4_0::{aux_structures::Timestamp, vm_state::VmLocalState}; +use zk_evm_1_4_1::{aux_structures::Timestamp, vm_state::VmLocalState}; use zksync_state::WriteStorage; use zksync_types::{StorageKey, StorageLogQuery, StorageValue, U256}; @@ -78,7 +78,7 @@ pub(crate) struct VmInstanceInnerState { impl Vm { // Dump inner state of the VM. - pub(crate) fn dump_inner_state(&self) -> VmInstanceInnerState { + pub(crate) fn dump_inner_state(&self) -> VmInstanceInnerState { let event_sink = self.state.event_sink.clone(); let precompile_processor_state = PrecompileProcessorTestInnerState { timestamp_history: self.state.precompiles_processor.timestamp_history.clone(), diff --git a/core/lib/multivm/src/versions/vm_latest/tests/upgrade.rs b/core/lib/multivm/src/versions/vm_latest/tests/upgrade.rs index 05ef5f57132d..1e2bdcb45158 100644 --- a/core/lib/multivm/src/versions/vm_latest/tests/upgrade.rs +++ b/core/lib/multivm/src/versions/vm_latest/tests/upgrade.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::aux_structures::Timestamp; +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_contracts::{deployer_contract, load_contract, load_sys_contract, read_bytecode}; use zksync_state::WriteStorage; use zksync_test_account::TxType; diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/circuits_capacity.rs b/core/lib/multivm/src/versions/vm_latest/tracers/circuits_capacity.rs index 33fa6677de27..6b63a38c12fb 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/circuits_capacity.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/circuits_capacity.rs @@ -1,4 +1,4 @@ -use zkevm_test_harness_1_4_0::{geometry_config::get_geometry_config, toolset::GeometryConfig}; +use zkevm_test_harness_1_4_1::{geometry_config::get_geometry_config, toolset::GeometryConfig}; const GEOMETRY_CONFIG: GeometryConfig = get_geometry_config(); const OVERESTIMATE_PERCENT: f32 = 1.05; diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/circuits_tracer.rs b/core/lib/multivm/src/versions/vm_latest/tracers/circuits_tracer.rs index e33b15e569ae..acd2d191c657 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/circuits_tracer.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/circuits_tracer.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ tracing::{BeforeExecutionData, VmLocalStateData}, zk_evm_abstractions::precompiles::PrecompileAddress, zkevm_opcode_defs::{LogOpcode, Opcode, UMAOpcode}, @@ -9,7 +9,7 @@ use zksync_state::{StoragePtr, WriteStorage}; use super::circuits_capacity::*; use crate::{ - interface::{dyn_tracers::vm_1_4_0::DynTracer, tracer::TracerExecutionStatus}, + interface::{dyn_tracers::vm_1_4_1::DynTracer, tracer::TracerExecutionStatus}, vm_latest::{ bootloader_state::BootloaderState, old_vm::{history_recorder::HistoryMode, memory::SimpleMemory}, diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs b/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs index 5d5ecfad0dbb..1988cc9f027f 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs @@ -3,7 +3,7 @@ use std::{ marker::PhantomData, }; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ tracing::{ AfterDecodingData, AfterExecutionData, BeforeExecutionData, Tracer, VmLocalStateData, }, @@ -16,9 +16,10 @@ use zksync_types::Timestamp; use super::PubdataTracer; use crate::{ + glue::GlueInto, interface::{ tracer::{TracerExecutionStopReason, VmExecutionStopReason}, - traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, + traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, types::tracer::TracerExecutionStatus, Halt, VmExecutionMode, }, @@ -121,9 +122,11 @@ impl DefaultExecutionTracer { let l2_block = bootloader_state.insert_fictive_l2_block(); let mut memory = vec![]; apply_l2_block(&mut memory, l2_block, txs_index); - state - .memory - .populate_page(BOOTLOADER_HEAP_PAGE as usize, memory, current_timestamp); + state.memory.populate_page( + BOOTLOADER_HEAP_PAGE as usize, + memory, + current_timestamp.glue_into(), + ); self.final_batch_info_requested = false; } @@ -238,7 +241,7 @@ impl Tracer for DefaultExecutionTracer { memory: &Self::SupportedMemory, ) { if let VmExecutionMode::Bootloader = self.execution_mode { - let (next_opcode, _, _) = zk_evm_1_4_0::vm_state::read_and_decode( + let (next_opcode, _, _) = zk_evm_1_4_1::vm_state::read_and_decode( state.vm_local_state, memory, &mut DummyTracer, diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/dispatcher.rs b/core/lib/multivm/src/versions/vm_latest/tracers/dispatcher.rs index 5ee5c8ab0c19..b6c779303a76 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/dispatcher.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/dispatcher.rs @@ -1,11 +1,11 @@ -use zk_evm_1_4_0::tracing::{ +use zk_evm_1_4_1::tracing::{ AfterDecodingData, AfterExecutionData, BeforeExecutionData, VmLocalStateData, }; use zksync_state::{StoragePtr, WriteStorage}; use crate::{ interface::{ - dyn_tracers::vm_1_4_0::DynTracer, + dyn_tracers::vm_1_4_1::DynTracer, tracer::{TracerExecutionStatus, VmExecutionStopReason}, }, vm_latest::{ diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/pubdata_tracer.rs b/core/lib/multivm/src/versions/vm_latest/tracers/pubdata_tracer.rs index 92213619055c..b147bd597fa8 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/pubdata_tracer.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/pubdata_tracer.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::Timestamp, tracing::{BeforeExecutionData, VmLocalStateData}, }; @@ -18,7 +18,7 @@ use zksync_utils::{h256_to_u256, u256_to_bytes_be, u256_to_h256}; use crate::{ interface::{ - dyn_tracers::vm_1_4_0::DynTracer, + dyn_tracers::vm_1_4_1::DynTracer, tracer::{TracerExecutionStatus, TracerExecutionStopReason}, types::inputs::L1BatchEnv, VmExecutionMode, diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs index 76d3e4851c45..24003d6e81b2 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs @@ -1,32 +1,30 @@ use std::marker::PhantomData; use vise::{Buckets, EncodeLabelSet, EncodeLabelValue, Family, Histogram, Metrics}; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::Timestamp, tracing::{BeforeExecutionData, VmLocalStateData}, vm_state::VmLocalState, + zkevm_opcode_defs::system_params::L1_MESSAGE_PUBDATA_BYTES, }; use zksync_state::{StoragePtr, WriteStorage}; use zksync_system_constants::{PUBLISH_BYTECODE_OVERHEAD, SYSTEM_CONTEXT_ADDRESS}; use zksync_types::{ event::{extract_long_l2_to_l1_messages, extract_published_bytecodes}, l2_to_l1_log::L2ToL1Log, - L1BatchNumber, U256, + L1BatchNumber, H256, U256, }; use zksync_utils::{bytecode::bytecode_len_in_bytes, ceil_div_u256, u256_to_h256}; use crate::{ interface::{ - traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, types::tracer::TracerExecutionStatus, + traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, types::tracer::TracerExecutionStatus, L1BatchEnv, Refunds, }, vm_latest::{ bootloader_state::BootloaderState, constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, - old_vm::{ - events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - utils::eth_price_per_pubdata_byte, - }, + old_vm::{events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory}, tracers::{ traits::VmTracer, utils::{ @@ -102,6 +100,7 @@ impl RefundsTracer { tx_gas_limit: u32, current_ergs_per_pubdata_byte: u32, pubdata_published: u32, + tx_hash: H256, ) -> u32 { let total_gas_spent = tx_gas_limit - bootloader_refund; @@ -122,9 +121,8 @@ impl RefundsTracer { let bootloader_eth_price_per_pubdata_byte = U256::from(effective_gas_price) * U256::from(current_ergs_per_pubdata_byte); - let fair_eth_price_per_pubdata_byte = U256::from(eth_price_per_pubdata_byte( - self.l1_batch.fee_input.l1_gas_price(), - )); + let fair_eth_price_per_pubdata_byte = + U256::from(self.l1_batch.fee_input.fair_pubdata_price()); // For now, L1 originated transactions are allowed to pay less than fair fee per pubdata, // so we should take it into account. @@ -146,6 +144,15 @@ impl RefundsTracer { U256::zero() }); + tracing::trace!( + "Fee benchmark for transaction with hash {}", + hex::encode(tx_hash.as_bytes()) + ); + tracing::trace!("Gas Limit: {}", tx_gas_limit); + tracing::trace!("Gas spent on computation: {}", gas_spent_on_computation); + tracing::trace!("Gas spent on pubdata: {}", gas_spent_on_pubdata); + tracing::trace!("Pubdata published: {}", pubdata_published); + ceil_div_u256(refund_eth, effective_gas_price.into()).as_u32() } @@ -251,12 +258,14 @@ impl VmTracer for RefundsTracer { self.pubdata_published = pubdata_published; let current_ergs_per_pubdata_byte = state.local_state.current_ergs_per_pubdata_byte; + let tx_body_refund = self.tx_body_refund( bootloader_refund, gas_spent_on_pubdata, tx_gas_limit, current_ergs_per_pubdata_byte, pubdata_published, + bootloader_state.last_l2_block().txs.last().unwrap().hash, ); if tx_body_refund < bootloader_refund { @@ -334,7 +343,7 @@ pub(crate) fn pubdata_published( }) .filter(|log| log.sender != SYSTEM_CONTEXT_ADDRESS) .count() as u32) - * zk_evm_1_4_0::zkevm_opcode_defs::system_params::L1_MESSAGE_PUBDATA_BYTES; + * L1_MESSAGE_PUBDATA_BYTES; let l2_l1_long_messages_bytes: u32 = extract_long_l2_to_l1_messages(&events) .iter() .map(|event| event.len() as u32) diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/result_tracer.rs b/core/lib/multivm/src/versions/vm_latest/tracers/result_tracer.rs index 6894e9167e3d..71a7dcb3738f 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/result_tracer.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/result_tracer.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ tracing::{AfterDecodingData, BeforeExecutionData, VmLocalStateData}, vm_state::{ErrorFlags, VmLocalState}, zkevm_opcode_defs::FatPointer, @@ -10,7 +10,7 @@ use zksync_types::U256; use crate::{ interface::{ - tracer::VmExecutionStopReason, traits::tracers::dyn_tracers::vm_1_4_0::DynTracer, + tracer::VmExecutionStopReason, traits::tracers::dyn_tracers::vm_1_4_1::DynTracer, types::tracer::TracerExecutionStopReason, ExecutionResult, Halt, TxRevertReason, VmExecutionMode, VmRevertReason, }, diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/traits.rs b/core/lib/multivm/src/versions/vm_latest/tracers/traits.rs index 68307b3f2867..49cdc0b2839c 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/traits.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/traits.rs @@ -2,7 +2,7 @@ use zksync_state::WriteStorage; use crate::{ interface::{ - dyn_tracers::vm_1_4_0::DynTracer, + dyn_tracers::vm_1_4_1::DynTracer, tracer::{TracerExecutionStatus, VmExecutionStopReason}, }, vm_latest::{ diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/utils.rs b/core/lib/multivm/src/versions/vm_latest/tracers/utils.rs index 1046c7a4c4a0..78129790c44e 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/utils.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/utils.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::MemoryPage, tracing::{BeforeExecutionData, VmLocalStateData}, zkevm_opcode_defs::{ diff --git a/core/lib/multivm/src/versions/vm_latest/types/internals/snapshot.rs b/core/lib/multivm/src/versions/vm_latest/types/internals/snapshot.rs index 2a9368c37a39..0633cf61cda1 100644 --- a/core/lib/multivm/src/versions/vm_latest/types/internals/snapshot.rs +++ b/core/lib/multivm/src/versions/vm_latest/types/internals/snapshot.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::vm_state::VmLocalState; +use zk_evm_1_4_1::vm_state::VmLocalState; use crate::vm_latest::bootloader_state::BootloaderStateSnapshot; diff --git a/core/lib/multivm/src/versions/vm_latest/types/internals/transaction_data.rs b/core/lib/multivm/src/versions/vm_latest/types/internals/transaction_data.rs index b312ada5b209..2445e1bdb726 100644 --- a/core/lib/multivm/src/versions/vm_latest/types/internals/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_latest/types/internals/transaction_data.rs @@ -11,7 +11,10 @@ use zksync_types::{ }; use zksync_utils::{address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, h256_to_u256}; -use crate::vm_latest::utils::overhead::{get_amortized_overhead, OverheadCoefficients}; +use crate::vm_latest::{ + constants::{L1_TX_TYPE, MAX_GAS_PER_PUBDATA_BYTE, PRIORITY_TX_MAX_GAS_LIMIT}, + utils::overhead::derive_overhead, +}; /// This structure represents the data that is used by /// the Bootloader to describe the transaction. @@ -59,12 +62,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: common_data.initiator_address, to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, @@ -189,21 +202,7 @@ impl TransactionData { bytes_to_be_words(bytes) } - pub(crate) fn effective_gas_price_per_pubdata(&self, block_gas_price_per_pubdata: u32) -> u32 { - // It is enforced by the protocol that the L1 transactions always pay the exact amount of gas per pubdata - // as was supplied in the transaction. - if is_l1_tx_type(self.tx_type) { - self.pubdata_price_limit.as_u32() - } else { - block_gas_price_per_pubdata - } - } - - pub(crate) fn overhead_gas(&self, block_gas_price_per_pubdata: u32) -> u32 { - let total_gas_limit = self.gas_limit.as_u32(); - let gas_price_per_pubdata = - self.effective_gas_price_per_pubdata(block_gas_price_per_pubdata); - + pub(crate) fn overhead_gas(&self) -> u32 { let encoded_len = encoding_len( self.data.len() as u64, self.signature.len() as u64, @@ -212,16 +211,16 @@ impl TransactionData { self.reserved_dynamic.len() as u64, ); - let coefficients = OverheadCoefficients::from_tx_type(self.tx_type); - get_amortized_overhead( - total_gas_limit, - gas_price_per_pubdata, - encoded_len, - coefficients, - ) + derive_overhead(encoded_len) } - pub(crate) fn trusted_ergs_limit(&self, _block_gas_price_per_pubdata: u64) -> U256 { + pub(crate) fn trusted_ergs_limit(&self) -> U256 { + if self.tx_type == L1_TX_TYPE { + // In case we get a users' transactions with unexpected gas limit, we do not let it have more than + // a certain limit + return U256::from(PRIORITY_TX_MAX_GAS_LIMIT).min(self.gas_limit); + } + // TODO (EVM-66): correctly calculate the trusted gas limit for a transaction self.gas_limit } diff --git a/core/lib/multivm/src/versions/vm_latest/types/internals/vm_state.rs b/core/lib/multivm/src/versions/vm_latest/types/internals/vm_state.rs index 2430e163fe87..223c908ae7fa 100644 --- a/core/lib/multivm/src/versions/vm_latest/types/internals/vm_state.rs +++ b/core/lib/multivm/src/versions/vm_latest/types/internals/vm_state.rs @@ -1,4 +1,4 @@ -use zk_evm_1_4_0::{ +use zk_evm_1_4_1::{ aux_structures::{MemoryPage, Timestamp}, block_properties::BlockProperties, vm_state::{CallStackEntry, PrimitiveValue, VmState}, diff --git a/core/lib/multivm/src/versions/vm_latest/types/l1_batch.rs b/core/lib/multivm/src/versions/vm_latest/types/l1_batch.rs index dad16e6a16a0..b3bf15cb1be5 100644 --- a/core/lib/multivm/src/versions/vm_latest/types/l1_batch.rs +++ b/core/lib/multivm/src/versions/vm_latest/types/l1_batch.rs @@ -7,7 +7,7 @@ const OPERATOR_ADDRESS_SLOT: usize = 0; const PREV_BLOCK_HASH_SLOT: usize = 1; const NEW_BLOCK_TIMESTAMP_SLOT: usize = 2; const NEW_BLOCK_NUMBER_SLOT: usize = 3; -const L1_GAS_PRICE_SLOT: usize = 4; +const FAIR_PUBDATA_PRICE_SLOT: usize = 4; const FAIR_L2_GAS_PRICE_SLOT: usize = 5; const EXPECTED_BASE_FEE_SLOT: usize = 6; const SHOULD_SET_NEW_BLOCK_SLOT: usize = 7; @@ -19,8 +19,6 @@ pub(crate) fn bootloader_initial_memory(l1_batch: &L1BatchEnv) -> Vec<(usize, U2 .map(|prev_block_hash| (h256_to_u256(prev_block_hash), U256::one())) .unwrap_or_default(); - let fee_input = l1_batch.fee_input.into_l1_pegged(); - vec![ ( OPERATOR_ADDRESS_SLOT, @@ -29,10 +27,13 @@ pub(crate) fn bootloader_initial_memory(l1_batch: &L1BatchEnv) -> Vec<(usize, U2 (PREV_BLOCK_HASH_SLOT, prev_block_hash), (NEW_BLOCK_TIMESTAMP_SLOT, U256::from(l1_batch.timestamp)), (NEW_BLOCK_NUMBER_SLOT, U256::from(l1_batch.number.0)), - (L1_GAS_PRICE_SLOT, U256::from(fee_input.l1_gas_price)), + ( + FAIR_PUBDATA_PRICE_SLOT, + U256::from(l1_batch.fee_input.fair_pubdata_price()), + ), ( FAIR_L2_GAS_PRICE_SLOT, - U256::from(fee_input.fair_l2_gas_price), + U256::from(l1_batch.fee_input.fair_l2_gas_price()), ), ( EXPECTED_BASE_FEE_SLOT, diff --git a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs index 1157a1eb57bd..ea4de7204434 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs @@ -1,42 +1,32 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_types::{ - fee_model::{BatchFeeInput, L1PeggedBatchFeeModelInput}, + fee_model::{BatchFeeInput, PubdataIndependentBatchFeeModelInput}, U256, }; use zksync_utils::ceil_div; -use crate::vm_latest::{old_vm::utils::eth_price_per_pubdata_byte, L1BatchEnv}; - -/// Calculates the amount of gas required to publish one byte of pubdata -pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { - let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); - - ceil_div(eth_price_per_pubdata_byte, base_fee) -} +use crate::vm_latest::{constants::MAX_GAS_PER_PUBDATA_BYTE, L1BatchEnv}; /// Calculates the base fee and gas per pubdata for the given L1 gas price. pub(crate) fn derive_base_fee_and_gas_per_pubdata( - fee_input: L1PeggedBatchFeeModelInput, + fee_input: PubdataIndependentBatchFeeModelInput, ) -> (u64, u64) { - let L1PeggedBatchFeeModelInput { - l1_gas_price, + let PubdataIndependentBatchFeeModelInput { fair_l2_gas_price, + fair_pubdata_price, + .. } = fee_input; - let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); - // The `baseFee` is set in such a way that it is always possible for a transaction to // publish enough public data while compensating us for it. let base_fee = std::cmp::max( fair_l2_gas_price, - ceil_div(eth_price_per_pubdata_byte, MAX_GAS_PER_PUBDATA_BYTE), + ceil_div(fair_pubdata_price, MAX_GAS_PER_PUBDATA_BYTE), ); - ( - base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), - ) + let gas_per_pubdata = ceil_div(fair_pubdata_price, base_fee); + + (base_fee, gas_per_pubdata) } pub(crate) fn get_batch_base_fee(l1_batch_env: &L1BatchEnv) -> u64 { @@ -44,14 +34,10 @@ pub(crate) fn get_batch_base_fee(l1_batch_env: &L1BatchEnv) -> u64 { return base_fee; } let (base_fee, _) = - derive_base_fee_and_gas_per_pubdata(l1_batch_env.fee_input.into_l1_pegged()); + derive_base_fee_and_gas_per_pubdata(l1_batch_env.fee_input.into_pubdata_independent()); base_fee } -pub(crate) fn get_batch_gas_per_pubdata(l1_batch_env: &L1BatchEnv) -> u64 { - derive_base_fee_and_gas_per_pubdata(l1_batch_env.fee_input.into_l1_pegged()).1 -} - /// Changes the fee model output so that the expected gas per pubdata is smaller than or the `tx_gas_per_pubdata_limit`. /// This function expects that the currently expected gas per pubdata is greater than the `tx_gas_per_pubdata_limit`. pub(crate) fn adjust_pubdata_price_for_tx( diff --git a/core/lib/multivm/src/versions/vm_latest/utils/logs.rs b/core/lib/multivm/src/versions/vm_latest/utils/logs.rs index b7fa07956a96..c379b44088f6 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/logs.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/logs.rs @@ -1,5 +1,6 @@ +use zk_evm_1_4_1::aux_structures::Timestamp; use zksync_state::WriteStorage; -use zksync_types::{l2_to_l1_log::L2ToL1Log, Timestamp, VmEvent}; +use zksync_types::{l2_to_l1_log::L2ToL1Log, VmEvent}; use crate::{ interface::L1BatchEnv, diff --git a/core/lib/multivm/src/versions/vm_latest/utils/overhead.rs b/core/lib/multivm/src/versions/vm_latest/utils/overhead.rs index b86f72cf9677..da200c8138c0 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/overhead.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/overhead.rs @@ -1,356 +1,8 @@ -use zk_evm_1_4_0::zkevm_opcode_defs::system_params::MAX_TX_ERGS_LIMIT; -use zksync_system_constants::MAX_L2_TX_GAS_LIMIT; -use zksync_types::{l1::is_l1_tx_type, U256}; -use zksync_utils::ceil_div_u256; +use crate::vm_latest::constants::{TX_MEMORY_OVERHEAD_GAS, TX_SLOT_OVERHEAD_GAS}; -use crate::vm_latest::constants::{ - BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_PUBDATA, BOOTLOADER_TX_ENCODING_SPACE, MAX_TXS_IN_BLOCK, -}; - -/// Derives the overhead for processing transactions in a block. -pub(crate) fn derive_overhead( - gas_limit: u32, - gas_price_per_pubdata: u32, - encoded_len: usize, - coefficients: OverheadCoefficients, -) -> u32 { - // Even if the gas limit is greater than the `MAX_TX_ERGS_LIMIT`, we assume that everything beyond `MAX_TX_ERGS_LIMIT` - // will be spent entirely on publishing bytecodes and so we derive the overhead solely based on the capped value - let gas_limit = std::cmp::min(MAX_TX_ERGS_LIMIT, gas_limit); - - // Using large U256 type to avoid overflow - let max_block_overhead = U256::from(block_overhead_gas(gas_price_per_pubdata)); - let gas_limit = U256::from(gas_limit); - let encoded_len = U256::from(encoded_len); - - // The `MAX_TX_ERGS_LIMIT` is formed in a way that may fulfills a single-instance circuits - // if used in full. That is, within `MAX_TX_ERGS_LIMIT` it is possible to fully saturate all the single-instance - // circuits. - let overhead_for_single_instance_circuits = - ceil_div_u256(gas_limit * max_block_overhead, MAX_TX_ERGS_LIMIT.into()); - - // The overhead for occupying the bootloader memory - let overhead_for_length = ceil_div_u256( - encoded_len * max_block_overhead, - BOOTLOADER_TX_ENCODING_SPACE.into(), - ); - - // The overhead for occupying a single tx slot - let tx_slot_overhead = ceil_div_u256(max_block_overhead, MAX_TXS_IN_BLOCK.into()); - - // We use `ceil` here for formal reasons to allow easier approach for calculating the overhead in O(1) - // `let max_pubdata_in_tx = ceil_div_u256(gas_limit, gas_price_per_pubdata);` - - // The maximal potential overhead from pubdata - // TODO (EVM-67): possibly use overhead for pubdata - // ``` - // let pubdata_overhead = ceil_div_u256( - // max_pubdata_in_tx * max_block_overhead, - // MAX_PUBDATA_PER_BLOCK.into(), - // ); - // ``` - - vec![ - (coefficients.ergs_limit_overhead_coeficient - * overhead_for_single_instance_circuits.as_u32() as f64) - .floor() as u32, - (coefficients.bootloader_memory_overhead_coeficient * overhead_for_length.as_u32() as f64) - .floor() as u32, - (coefficients.slot_overhead_coeficient * tx_slot_overhead.as_u32() as f64) as u32, - ] - .into_iter() - .max() - .unwrap() -} - -/// Contains the coefficients with which the overhead for transactions will be calculated. -/// All of the coefficients should be <= 1. There are here to provide a certain "discount" for normal transactions -/// at the risk of malicious transactions that may close the block prematurely. -/// IMPORTANT: to perform correct computations, `MAX_TX_ERGS_LIMIT / coefficients.ergs_limit_overhead_coefficient` MUST -/// result in an integer number -#[derive(Debug, Clone, Copy)] -pub struct OverheadCoefficients { - slot_overhead_coeficient: f64, - bootloader_memory_overhead_coeficient: f64, - ergs_limit_overhead_coeficient: f64, -} - -impl OverheadCoefficients { - // This method ensures that the parameters keep the required invariants - fn new_checked( - slot_overhead_coeficient: f64, - bootloader_memory_overhead_coeficient: f64, - ergs_limit_overhead_coeficient: f64, - ) -> Self { - assert!( - (MAX_TX_ERGS_LIMIT as f64 / ergs_limit_overhead_coeficient).round() - == MAX_TX_ERGS_LIMIT as f64 / ergs_limit_overhead_coeficient, - "MAX_TX_ERGS_LIMIT / ergs_limit_overhead_coeficient must be an integer" - ); - - Self { - slot_overhead_coeficient, - bootloader_memory_overhead_coeficient, - ergs_limit_overhead_coeficient, - } - } - - // L1->L2 do not receive any discounts - fn new_l1() -> Self { - OverheadCoefficients::new_checked(1.0, 1.0, 1.0) - } - - fn new_l2() -> Self { - OverheadCoefficients::new_checked( - 1.0, 1.0, - // For L2 transactions we allow a certain default discount with regard to the number of ergs. - // Multi-instance circuits can in theory be spawned infinite times, while projected future limitations - // on gas per pubdata allow for roughly 800k gas per L1 batch, so the rough trust "discount" on the proof's part - // to be paid by the users is 0.1. - 0.1, - ) - } - - /// Return the coefficients for the given transaction type - pub fn from_tx_type(tx_type: u8) -> Self { - if is_l1_tx_type(tx_type) { - Self::new_l1() - } else { - Self::new_l2() - } - } -} - -/// This method returns the overhead for processing the block -pub(crate) fn get_amortized_overhead( - total_gas_limit: u32, - gas_per_pubdata_byte_limit: u32, - encoded_len: usize, - coefficients: OverheadCoefficients, -) -> u32 { - // Using large U256 type to prevent overflows. - let overhead_for_block_gas = U256::from(block_overhead_gas(gas_per_pubdata_byte_limit)); - let total_gas_limit = U256::from(total_gas_limit); - let encoded_len = U256::from(encoded_len); - - // Derivation of overhead consists of 4 parts: - // 1. The overhead for taking up a transaction's slot. `(O1): O1 = 1 / MAX_TXS_IN_BLOCK` - // 2. The overhead for taking up the bootloader's memory `(O2): O2 = encoded_len / BOOTLOADER_TX_ENCODING_SPACE` - // 3. The overhead for possible usage of pubdata. `(O3): O3 = max_pubdata_in_tx / MAX_PUBDATA_PER_BLOCK` - // 4. The overhead for possible usage of all the single-instance circuits. `(O4): O4 = gas_limit / MAX_TX_ERGS_LIMIT` - // - // The maximum of these is taken to derive the part of the block's overhead to be paid by the users: - // - // `max_overhead = max(O1, O2, O3, O4)` - // `overhead_gas = ceil(max_overhead * overhead_for_block_gas)`. Thus, `overhead_gas` is a function of - // `tx_gas_limit`, `gas_per_pubdata_byte_limit` and `encoded_len`. - // - // While it is possible to derive the overhead with binary search in `O(log n)`, it is too expensive to be done - // on L1, so here is a reference implementation of finding the overhead for transaction in O(1): - // - // Given `total_gas_limit = tx_gas_limit + overhead_gas`, we need to find `overhead_gas` and `tx_gas_limit`, such that: - // 1. `overhead_gas` is maximal possible (the operator is paid fairly) - // 2. `overhead_gas(tx_gas_limit, gas_per_pubdata_byte_limit, encoded_len) >= overhead_gas` (the user does not overpay) - // The third part boils to the following 4 inequalities (at least one of these must hold): - // `ceil(O1 * overhead_for_block_gas) >= overhead_gas` - // `ceil(O2 * overhead_for_block_gas) >= overhead_gas` - // `ceil(O3 * overhead_for_block_gas) >= overhead_gas` - // `ceil(O4 * overhead_for_block_gas) >= overhead_gas` - // - // Now, we need to solve each of these separately: - - // 1. The overhead for occupying a single tx slot is a constant: - let tx_slot_overhead = { - let tx_slot_overhead = - ceil_div_u256(overhead_for_block_gas, MAX_TXS_IN_BLOCK.into()).as_u32(); - (coefficients.slot_overhead_coeficient * tx_slot_overhead as f64).floor() as u32 - }; - - // 2. The overhead for occupying the bootloader memory can be derived from `encoded_len` - let overhead_for_length = { - let overhead_for_length = ceil_div_u256( - encoded_len * overhead_for_block_gas, - BOOTLOADER_TX_ENCODING_SPACE.into(), - ) - .as_u32(); - - (coefficients.bootloader_memory_overhead_coeficient * overhead_for_length as f64).floor() - as u32 - }; - - // TODO (EVM-67): possibly include the overhead for pubdata. The formula below has not been properly maintained, - // since the pubdata is not published. If decided to use the pubdata overhead, it needs to be updated. - // ``` - // 3. ceil(O3 * overhead_for_block_gas) >= overhead_gas - // O3 = max_pubdata_in_tx / MAX_PUBDATA_PER_BLOCK = ceil(gas_limit / gas_per_pubdata_byte_limit) / MAX_PUBDATA_PER_BLOCK - // >= (gas_limit / (gas_per_pubdata_byte_limit * MAX_PUBDATA_PER_BLOCK). - // ``` - // Throwing off the `ceil`, while may provide marginally lower - // overhead to the operator, provides substantially easier formula to work with. - // - // For better clarity, let's denote `gas_limit = GL, MAX_PUBDATA_PER_BLOCK = MP, gas_per_pubdata_byte_limit = EP, overhead_for_block_gas = OB, total_gas_limit = TL, overhead_gas = OE` - // ``` - // ceil(OB * (TL - OE) / (EP * MP)) >= OE - // - // OB * (TL - OE) / (MP * EP) > OE - 1 - // OB * (TL - OE) > (OE - 1) * EP * MP - // OB * TL + EP * MP > OE * EP * MP + OE * OB - // (OB * TL + EP * MP) / (EP * MP + OB) > OE - // OE = floor((OB * TL + EP * MP) / (EP * MP + OB)) with possible -1 if the division is without remainder - // let overhead_for_pubdata = { - // let numerator: U256 = overhead_for_block_gas * total_gas_limit - // + gas_per_pubdata_byte_limit * U256::from(MAX_PUBDATA_PER_BLOCK); - // let denominator = - // gas_per_pubdata_byte_limit * U256::from(MAX_PUBDATA_PER_BLOCK) + overhead_for_block_gas; - // - // // Corner case: if `total_gas_limit` = `gas_per_pubdata_byte_limit` = 0 - // // then the numerator will be 0 and subtracting 1 will cause a panic, so we just return a zero. - // if numerator.is_zero() { - // 0.into() - // } else { - // (numerator - 1) / denominator - // } - // }; - // - // 4. K * ceil(O4 * overhead_for_block_gas) >= overhead_gas, where K is the discount - // O4 = gas_limit / MAX_TX_ERGS_LIMIT. Using the notation from the previous equation: - // ceil(OB * GL / MAX_TX_ERGS_LIMIT) >= (OE / K) - // ceil(OB * (TL - OE) / MAX_TX_ERGS_LIMIT) >= (OE/K) - // OB * (TL - OE) / MAX_TX_ERGS_LIMIT > (OE/K) - 1 - // OB * (TL - OE) > (OE/K) * MAX_TX_ERGS_LIMIT - MAX_TX_ERGS_LIMIT - // OB * TL + MAX_TX_ERGS_LIMIT > OE * ( MAX_TX_ERGS_LIMIT/K + OB) - // OE = floor(OB * TL + MAX_TX_ERGS_LIMIT / (MAX_TX_ERGS_LIMIT/K + OB)), with possible -1 if the division is without remainder - // ``` - let overhead_for_gas = { - let numerator = overhead_for_block_gas * total_gas_limit + U256::from(MAX_TX_ERGS_LIMIT); - let denominator: U256 = U256::from( - (MAX_TX_ERGS_LIMIT as f64 / coefficients.ergs_limit_overhead_coeficient) as u64, - ) + overhead_for_block_gas; - - let overhead_for_gas = (numerator - 1) / denominator; - - overhead_for_gas.as_u32() - }; - - let overhead = vec![tx_slot_overhead, overhead_for_length, overhead_for_gas] - .into_iter() - .max() - // For the sake of consistency making sure that total_gas_limit >= max_overhead - .map(|max_overhead| std::cmp::min(max_overhead, total_gas_limit.as_u32())) - .unwrap(); - - let limit_after_deducting_overhead = total_gas_limit - overhead; - - // During double checking of the overhead, the bootloader will assume that the - // body of the transaction does not have any more than `MAX_L2_TX_GAS_LIMIT` ergs available to it. - if limit_after_deducting_overhead.as_u64() > MAX_L2_TX_GAS_LIMIT { - // We derive the same overhead that would exist for the `MAX_L2_TX_GAS_LIMIT` ergs - derive_overhead( - MAX_L2_TX_GAS_LIMIT as u32, - gas_per_pubdata_byte_limit, - encoded_len.as_usize(), - coefficients, - ) - } else { - overhead - } -} - -pub(crate) fn block_overhead_gas(gas_per_pubdata_byte: u32) -> u32 { - BLOCK_OVERHEAD_GAS + BLOCK_OVERHEAD_PUBDATA * gas_per_pubdata_byte -} - -#[cfg(test)] -mod tests { - - use super::*; - - // This method returns the maximum block overhead that can be charged from the user based on the binary search approach - pub(crate) fn get_maximal_allowed_overhead_bin_search( - total_gas_limit: u32, - gas_per_pubdata_byte_limit: u32, - encoded_len: usize, - coefficients: OverheadCoefficients, - ) -> u32 { - let mut left_bound = if MAX_TX_ERGS_LIMIT < total_gas_limit { - total_gas_limit - MAX_TX_ERGS_LIMIT - } else { - 0u32 - }; - // Safe cast: the gas_limit for a transaction can not be larger than 2^32 - let mut right_bound = total_gas_limit; - - // The closure returns whether a certain overhead would be accepted by the bootloader. - // It is accepted if the derived overhead (i.e. the actual overhead that the user has to pay) - // is >= than the overhead proposed by the operator. - let is_overhead_accepted = |suggested_overhead: u32| { - let derived_overhead = derive_overhead( - total_gas_limit - suggested_overhead, - gas_per_pubdata_byte_limit, - encoded_len, - coefficients, - ); - - derived_overhead >= suggested_overhead - }; - - // In order to find the maximal allowed overhead we are doing binary search - while left_bound + 1 < right_bound { - let mid = (left_bound + right_bound) / 2; - - if is_overhead_accepted(mid) { - left_bound = mid; - } else { - right_bound = mid; - } - } - - if is_overhead_accepted(right_bound) { - right_bound - } else { - left_bound - } - } - - #[test] - fn test_correctness_for_efficient_overhead() { - let test_params = |total_gas_limit: u32, - gas_per_pubdata: u32, - encoded_len: usize, - coefficients: OverheadCoefficients| { - let result_by_efficient_search = - get_amortized_overhead(total_gas_limit, gas_per_pubdata, encoded_len, coefficients); - - let result_by_binary_search = get_maximal_allowed_overhead_bin_search( - total_gas_limit, - gas_per_pubdata, - encoded_len, - coefficients, - ); - - assert_eq!(result_by_efficient_search, result_by_binary_search); - }; - - // Some arbitrary test - test_params(60_000_000, 800, 2900, OverheadCoefficients::new_l2()); - - // Very small parameters - test_params(0, 1, 12, OverheadCoefficients::new_l2()); - - // Relatively big parameters - let max_tx_overhead = derive_overhead( - MAX_TX_ERGS_LIMIT, - 5000, - 10000, - OverheadCoefficients::new_l2(), - ); - test_params( - MAX_TX_ERGS_LIMIT + max_tx_overhead, - 5000, - 10000, - OverheadCoefficients::new_l2(), - ); - - test_params(115432560, 800, 2900, OverheadCoefficients::new_l1()); - } +/// In the past, the overhead for transaction depended also on the effective gas per pubdata limit for the transaction. +/// Currently, the approach is more similar to EVM, where only the calldata length and the transaction overhead are taken +/// into account by a constant formula. +pub(crate) fn derive_overhead(encoded_len: usize) -> u32 { + TX_SLOT_OVERHEAD_GAS.max(TX_MEMORY_OVERHEAD_GAS * (encoded_len as u32)) } diff --git a/core/lib/multivm/src/versions/vm_latest/vm.rs b/core/lib/multivm/src/versions/vm_latest/vm.rs index 6b571cd25c40..fd6dded05557 100644 --- a/core/lib/multivm/src/versions/vm_latest/vm.rs +++ b/core/lib/multivm/src/versions/vm_latest/vm.rs @@ -7,6 +7,7 @@ use zksync_types::{ use zksync_utils::bytecode::CompressedBytecodeInfo; use crate::{ + glue::GlueInto, interface::{ BootloaderMemory, BytecodeCompressionError, CurrentExecutionState, FinishedL1Batch, L1BatchEnv, L2BlockEnv, SystemEnv, VmExecutionMode, VmExecutionResultAndLogs, VmInterface, @@ -27,7 +28,7 @@ use crate::{ pub struct Vm { pub(crate) bootloader_state: BootloaderState, // Current state and oracles of virtual machine - pub(crate) state: ZkSyncVmState, + pub(crate) state: ZkSyncVmState, pub(crate) storage: StoragePtr, pub(crate) system_env: SystemEnv, pub(crate) batch_env: L1BatchEnv, @@ -37,7 +38,7 @@ pub struct Vm { } impl VmInterface for Vm { - type TracerDispatcher = TracerDispatcher; + type TracerDispatcher = TracerDispatcher; fn new(batch_env: L1BatchEnv, system_env: SystemEnv, storage: StoragePtr) -> Self { let (state, bootloader_state) = new_vm_state(storage.clone(), &system_env, &batch_env); @@ -114,7 +115,10 @@ impl VmInterface for Vm { system_logs, total_log_queries, cycles_used: self.state.local_state.monotonic_cycle_counter, - deduplicated_events_logs, + deduplicated_events_logs: deduplicated_events_logs + .into_iter() + .map(GlueInto::glue_into) + .collect(), storage_refunds: self.state.storage.returned_refunds.inner().clone(), } } diff --git a/core/lib/multivm/src/versions/vm_m5/transaction_data.rs b/core/lib/multivm/src/versions/vm_m5/transaction_data.rs index 6545f79b5019..c3fba68bc8d2 100644 --- a/core/lib/multivm/src/versions/vm_m5/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_m5/transaction_data.rs @@ -9,6 +9,7 @@ use zksync_utils::{ address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, ceil_div_u256, h256_to_u256, }; +use super::vm_with_bootloader::MAX_GAS_PER_PUBDATA_BYTE; use crate::vm_m5::vm_with_bootloader::{ BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_PUBDATA, BOOTLOADER_TX_ENCODING_SPACE, MAX_TXS_IN_BLOCK, }; @@ -59,12 +60,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: execute_tx.initiator_account(), to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs index 13737681f31d..7b8a361c5a53 100644 --- a/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m5/vm_with_bootloader.rs @@ -11,10 +11,10 @@ use zk_evm_1_3_1::{ }, }; use zksync_contracts::BaseSystemContracts; +use zksync_system_constants::MAX_L2_TX_GAS_LIMIT; use zksync_types::{ fee_model::L1PeggedBatchFeeModelInput, zkevm_test_harness::INITIAL_MONOTONIC_CYCLE_COUNTER, - Address, Transaction, BOOTLOADER_ADDRESS, L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE, - MAX_NEW_FACTORY_DEPS, U256, + Address, Transaction, BOOTLOADER_ADDRESS, L1_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, U256, }; use zksync_utils::{ address_to_u256, bytecode::hash_bytecode, bytes_to_be_words, h256_to_u256, misc::ceil_div, @@ -70,7 +70,7 @@ pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) } -pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { +pub(crate) fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); ceil_div(eth_price_per_pubdata_byte, base_fee) @@ -95,7 +95,7 @@ pub(crate) fn derive_base_fee_and_gas_per_pubdata( ( base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), + base_fee_to_gas_per_pubdata(fee_input.l1_gas_price, base_fee), ) } @@ -120,6 +120,23 @@ impl From for DerivedBlockContext { } } +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; diff --git a/core/lib/multivm/src/versions/vm_m6/transaction_data.rs b/core/lib/multivm/src/versions/vm_m6/transaction_data.rs index 19eefbb1a001..5934199a96fe 100644 --- a/core/lib/multivm/src/versions/vm_m6/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_m6/transaction_data.rs @@ -10,7 +10,7 @@ use zksync_utils::{ address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, ceil_div_u256, h256_to_u256, }; -use super::vm_with_bootloader::MAX_TXS_IN_BLOCK; +use super::vm_with_bootloader::{MAX_GAS_PER_PUBDATA_BYTE, MAX_TXS_IN_BLOCK}; use crate::vm_m6::vm_with_bootloader::{ BLOCK_OVERHEAD_GAS, BLOCK_OVERHEAD_PUBDATA, BOOTLOADER_TX_ENCODING_SPACE, }; @@ -61,12 +61,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: execute_tx.initiator_account(), to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs index a4735c5a6175..91a41bdbb0aa 100644 --- a/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs +++ b/core/lib/multivm/src/versions/vm_m6/vm_with_bootloader.rs @@ -11,10 +11,10 @@ use zk_evm_1_3_1::{ }, }; use zksync_contracts::BaseSystemContracts; +use zksync_system_constants::MAX_L2_TX_GAS_LIMIT; use zksync_types::{ fee_model::L1PeggedBatchFeeModelInput, zkevm_test_harness::INITIAL_MONOTONIC_CYCLE_COUNTER, - Address, Transaction, BOOTLOADER_ADDRESS, L1_GAS_PER_PUBDATA_BYTE, MAX_GAS_PER_PUBDATA_BYTE, - MAX_NEW_FACTORY_DEPS, U256, + Address, Transaction, BOOTLOADER_ADDRESS, L1_GAS_PER_PUBDATA_BYTE, MAX_NEW_FACTORY_DEPS, U256, }; use zksync_utils::{ address_to_u256, @@ -83,7 +83,7 @@ pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) } -pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { +pub(crate) fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); ceil_div(eth_price_per_pubdata_byte, base_fee) @@ -108,7 +108,7 @@ pub(crate) fn derive_base_fee_and_gas_per_pubdata( ( base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), + base_fee_to_gas_per_pubdata(fee_input.l1_gas_price, base_fee), ) } @@ -133,6 +133,23 @@ impl From for DerivedBlockContext { } } +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 25e89bfb1809..3c5560e7ea8a 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -2,13 +2,27 @@ use zk_evm_1_3_3::aux_structures::MemoryPage; pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; -use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, - USED_BOOTLOADER_MEMORY_WORDS, -}; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS}; use crate::vm_refunds_enhancement::old_vm::utils::heap_page_from_base; +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/types/internals/transaction_data.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/types/internals/transaction_data.rs index 82b79c012f20..1493cf7e59da 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/types/internals/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/types/internals/transaction_data.rs @@ -11,8 +11,9 @@ use zksync_types::{ }; use zksync_utils::{address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, h256_to_u256}; -use crate::vm_refunds_enhancement::utils::overhead::{ - get_amortized_overhead, OverheadCoefficients, +use crate::vm_refunds_enhancement::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, + utils::overhead::{get_amortized_overhead, OverheadCoefficients}, }; /// This structure represents the data that is used by @@ -61,12 +62,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: common_data.initiator_address, to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs index 773ae3cb4096..a2fccb596309 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/utils/fee.rs @@ -1,14 +1,16 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_types::fee_model::L1PeggedBatchFeeModelInput; use zksync_utils::ceil_div; use crate::{ - vm_latest::L1BatchEnv, vm_refunds_enhancement::old_vm::utils::eth_price_per_pubdata_byte, + vm_latest::L1BatchEnv, + vm_refunds_enhancement::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, old_vm::utils::eth_price_per_pubdata_byte, + }, }; /// Calculates the amount of gas required to publish one byte of pubdata -pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { +pub(crate) fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); ceil_div(eth_price_per_pubdata_byte, base_fee) @@ -33,7 +35,7 @@ pub(crate) fn derive_base_fee_and_gas_per_pubdata( ( base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), + base_fee_to_gas_per_pubdata(fee_input.l1_gas_price, base_fee), ) } diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index 1993474bb4ed..0e0eab85877b 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -2,13 +2,27 @@ use zk_evm_1_3_3::aux_structures::MemoryPage; pub use zk_evm_1_3_3::zkevm_opcode_defs::system_params::{ ERGS_PER_CIRCUIT, INITIAL_STORAGE_WRITE_PUBDATA_BYTES, MAX_PUBDATA_PER_BLOCK, }; -use zksync_system_constants::{ - L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, - USED_BOOTLOADER_MEMORY_WORDS, -}; +use zksync_system_constants::{L1_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS}; use crate::vm_virtual_blocks::old_vm::utils::heap_page_from_base; +/// The size of the bootloader memory in bytes which is used by the protocol. +/// While the maximal possible size is a lot higher, we restrict ourselves to a certain limit to reduce +/// the requirements on RAM. +pub(crate) const USED_BOOTLOADER_MEMORY_BYTES: usize = 1 << 24; +pub(crate) const USED_BOOTLOADER_MEMORY_WORDS: usize = USED_BOOTLOADER_MEMORY_BYTES / 32; + +// This the number of pubdata such that it should be always possible to publish +// from a single transaction. Note, that these pubdata bytes include only bytes that are +// to be published inside the body of transaction (i.e. excluding of factory deps). +pub(crate) const GUARANTEED_PUBDATA_PER_L1_BATCH: u64 = 4000; + +// The users should always be able to provide `MAX_GAS_PER_PUBDATA_BYTE` gas per pubdata in their +// transactions so that they are able to send at least `GUARANTEED_PUBDATA_PER_L1_BATCH` bytes per +// transaction. +pub(crate) const MAX_GAS_PER_PUBDATA_BYTE: u64 = + MAX_L2_TX_GAS_LIMIT / GUARANTEED_PUBDATA_PER_L1_BATCH; + // The maximal number of transactions in a single batch pub(crate) const MAX_TXS_IN_BLOCK: usize = 1024; diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/types/internals/transaction_data.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/types/internals/transaction_data.rs index 8bebd5ab321d..6fee52542fc1 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/types/internals/transaction_data.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/types/internals/transaction_data.rs @@ -11,7 +11,10 @@ use zksync_types::{ }; use zksync_utils::{address_to_h256, bytecode::hash_bytecode, bytes_to_be_words, h256_to_u256}; -use crate::vm_virtual_blocks::utils::overhead::{get_amortized_overhead, OverheadCoefficients}; +use crate::vm_virtual_blocks::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, + utils::overhead::{get_amortized_overhead, OverheadCoefficients}, +}; /// This structure represents the data that is used by /// the Bootloader to describe the transaction. @@ -59,12 +62,22 @@ impl From for TransactionData { U256::zero() }; + // Ethereum transactions do not sign gas per pubdata limit, and so for them we need to use + // some default value. We use the maximum possible value that is allowed by the bootloader + // (i.e. we can not use u64::MAX, because the bootloader requires gas per pubdata for such + // transactions to be higher than `MAX_GAS_PER_PUBDATA_BYTE`). + let gas_per_pubdata_limit = if common_data.transaction_type.is_ethereum_type() { + MAX_GAS_PER_PUBDATA_BYTE.into() + } else { + common_data.fee.gas_per_pubdata_limit + }; + TransactionData { tx_type: (common_data.transaction_type as u32) as u8, from: common_data.initiator_address, to: execute_tx.execute.contract_address, gas_limit: common_data.fee.gas_limit, - pubdata_price_limit: common_data.fee.gas_per_pubdata_limit, + pubdata_price_limit: gas_per_pubdata_limit, max_fee_per_gas: common_data.fee.max_fee_per_gas, max_priority_fee_per_gas: common_data.fee.max_priority_fee_per_gas, paymaster: common_data.paymaster_params.paymaster, diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs index 5af37aba11eb..14133553b04b 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/utils/fee.rs @@ -1,12 +1,16 @@ //! Utility functions for vm -use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_types::fee_model::L1PeggedBatchFeeModelInput; use zksync_utils::ceil_div; -use crate::{vm_latest::L1BatchEnv, vm_virtual_blocks::old_vm::utils::eth_price_per_pubdata_byte}; +use crate::{ + vm_latest::L1BatchEnv, + vm_virtual_blocks::{ + constants::MAX_GAS_PER_PUBDATA_BYTE, old_vm::utils::eth_price_per_pubdata_byte, + }, +}; /// Calculates the amount of gas required to publish one byte of pubdata -pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { +pub(crate) fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { let eth_price_per_pubdata_byte = eth_price_per_pubdata_byte(l1_gas_price); ceil_div(eth_price_per_pubdata_byte, base_fee) @@ -32,7 +36,7 @@ pub(crate) fn derive_base_fee_and_gas_per_pubdata( ( base_fee, - base_fee_to_gas_per_pubdata(l1_gas_price, base_fee), + base_fee_to_gas_per_pubdata(fee_input.l1_gas_price, base_fee), ) } diff --git a/core/lib/multivm/src/vm_instance.rs b/core/lib/multivm/src/vm_instance.rs index ea3ad74f5302..4eaca6f44b03 100644 --- a/core/lib/multivm/src/vm_instance.rs +++ b/core/lib/multivm/src/vm_instance.rs @@ -20,6 +20,7 @@ pub enum VmInstance { VmVirtualBlocks(crate::vm_virtual_blocks::Vm), VmVirtualBlocksRefundsEnhancement(crate::vm_refunds_enhancement::Vm), VmBoojumIntegration(crate::vm_boojum_integration::Vm), + Vm1_4_1(crate::vm_latest::Vm), } macro_rules! dispatch_vm { @@ -31,6 +32,7 @@ macro_rules! dispatch_vm { VmInstance::VmVirtualBlocks(vm) => vm.$function($($params)*), VmInstance::VmVirtualBlocksRefundsEnhancement(vm) => vm.$function($($params)*), VmInstance::VmBoojumIntegration(vm) => vm.$function($($params)*), + VmInstance::Vm1_4_1(vm) => vm.$function($($params)*), } }; } @@ -198,6 +200,10 @@ impl VmInstance { crate::vm_boojum_integration::Vm::new(l1_batch_env, system_env, storage_view); VmInstance::VmBoojumIntegration(vm) } + VmVersion::Vm1_4_1 => { + let vm = crate::vm_latest::Vm::new(l1_batch_env, system_env, storage_view); + VmInstance::Vm1_4_1(vm) + } } } } diff --git a/core/lib/state/src/test_utils.rs b/core/lib/state/src/test_utils.rs index d24571860272..340f2ea62237 100644 --- a/core/lib/state/src/test_utils.rs +++ b/core/lib/state/src/test_utils.rs @@ -74,6 +74,7 @@ pub(crate) async fn create_miniblock( l2_tx_count: 0, base_fee_per_gas: 0, batch_fee_input: Default::default(), + gas_per_pubdata_limit: 0, base_system_contracts_hashes: Default::default(), protocol_version: Some(Default::default()), virtual_blocks: 0, diff --git a/core/lib/test_account/src/lib.rs b/core/lib/test_account/src/lib.rs index 5a84c84f4f52..ec3c1b7a7b0f 100644 --- a/core/lib/test_account/src/lib.rs +++ b/core/lib/test_account/src/lib.rs @@ -4,7 +4,8 @@ use zksync_contracts::{ }; use zksync_eth_signer::{raw_ethereum_tx::TransactionParameters, EthereumSigner, PrivateKeySigner}; use zksync_system_constants::{ - CONTRACT_DEPLOYER_ADDRESS, MAX_GAS_PER_PUBDATA_BYTE, REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, + CONTRACT_DEPLOYER_ADDRESS, DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE, + REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, }; use zksync_types::{ fee::Fee, @@ -94,7 +95,7 @@ impl Account { gas_limit: U256::from(2000000000u32), max_fee_per_gas: U256::from(BASE_FEE), max_priority_fee_per_gas: U256::from(100), - gas_per_pubdata_limit: U256::from(MAX_GAS_PER_PUBDATA_BYTE), + gas_per_pubdata_limit: U256::from(DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE), } } diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index d04f9f8ec09f..95d433e07918 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -16,10 +16,12 @@ zksync_utils = { path = "../utils" } zksync_basic_types = { path = "../basic_types" } zksync_contracts = { path = "../contracts" } zksync_mini_merkle_tree = { path = "../mini_merkle_tree" } +zksync_config = { path = "../config" } # We need this import because we wanat DAL to be responsible for (de)serialization codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } -zk_evm_1_4_0 = { git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.0", package = "zk_evm" } +zk_evm_1_4_1 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.1" } +zk_evm_1_4_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.0" } zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.3-rc2" } zksync_consensus_roles = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } diff --git a/core/lib/types/src/api/en.rs b/core/lib/types/src/api/en.rs index 5b8e1abf8dd6..2e7afcdfb73a 100644 --- a/core/lib/types/src/api/en.rs +++ b/core/lib/types/src/api/en.rs @@ -28,6 +28,8 @@ pub struct SyncBlock { pub l1_gas_price: u64, /// L2 gas price used as VM parameter for the L1 batch corresponding to this L2 block. pub l2_fair_gas_price: u64, + /// The pubdata price used as VM parameter for the L1 batch corresponding to this L2 block. + pub fair_pubdata_price: Option, /// Hashes of the base system contracts used in for the L1 batch corresponding to this L2 block. pub base_system_contracts_hashes: BaseSystemContractsHashes, /// Address of the operator account who produced for the L1 batch corresponding to this L2 block. diff --git a/core/lib/types/src/block.rs b/core/lib/types/src/block.rs index 2de8abd2512f..48765e27e0fc 100644 --- a/core/lib/types/src/block.rs +++ b/core/lib/types/src/block.rs @@ -80,6 +80,7 @@ pub struct MiniblockHeader { pub base_fee_per_gas: u64, // Min wei per gas that txs in this miniblock need to have. pub batch_fee_input: BatchFeeInput, + pub gas_per_pubdata_limit: u64, pub base_system_contracts_hashes: BaseSystemContractsHashes, pub protocol_version: Option, /// The maximal number of virtual blocks to be created in the miniblock. diff --git a/core/lib/types/src/commitment.rs b/core/lib/types/src/commitment.rs index 27851c3434e9..8a59bd4758fd 100644 --- a/core/lib/types/src/commitment.rs +++ b/core/lib/types/src/commitment.rs @@ -24,7 +24,7 @@ use crate::{ compress_state_diffs, InitialStorageWrite, RepeatedStorageWrite, StateDiffRecord, PADDED_ENCODED_STORAGE_DIFF_LEN_BYTES, }, - H256, KNOWN_CODES_STORAGE_ADDRESS, U256, + ProtocolVersionId, H256, KNOWN_CODES_STORAGE_ADDRESS, U256, }; /// Type that can be serialized for commitment. @@ -361,7 +361,7 @@ struct L1BatchAuxiliaryOutput { state_diffs_compressed: Vec, bootloader_heap_hash: H256, events_state_queue_hash: H256, - is_pre_boojum: bool, + protocol_version: ProtocolVersionId, } impl L1BatchAuxiliaryOutput { @@ -374,7 +374,7 @@ impl L1BatchAuxiliaryOutput { state_diffs: Vec, bootloader_heap_hash: H256, events_state_queue_hash: H256, - is_pre_boojum: bool, + protocol_version: ProtocolVersionId, ) -> Self { let state_diff_hash_from_logs = system_logs.iter().find_map(|log| { if log.0.key == u256_to_h256(STATE_DIFF_HASH_KEY.into()) { @@ -398,7 +398,7 @@ impl L1BatchAuxiliaryOutput { repeated_writes_compressed, system_logs_compressed, state_diffs_packed, - ) = if is_pre_boojum { + ) = if protocol_version.is_pre_boojum() { ( pre_boojum_serialize_commitments(&l2_l1_logs), pre_boojum_serialize_commitments(&initial_writes), @@ -424,7 +424,7 @@ impl L1BatchAuxiliaryOutput { let repeated_writes_hash = H256::from(keccak256(&repeated_writes_compressed)); let state_diffs_hash = H256::from(keccak256(&(state_diffs_packed))); - let serialized_logs = if is_pre_boojum { + let serialized_logs = if protocol_version.is_pre_boojum() { &l2_l1_logs_compressed[4..] } else { &l2_l1_logs_compressed @@ -434,7 +434,7 @@ impl L1BatchAuxiliaryOutput { .chunks(UserL2ToL1Log::SERIALIZED_SIZE) .map(|chunk| <[u8; UserL2ToL1Log::SERIALIZED_SIZE]>::try_from(chunk).unwrap()); // ^ Skip first 4 bytes of the serialized logs (i.e., the number of logs). - let min_tree_size = if is_pre_boojum { + let min_tree_size = if protocol_version.is_pre_boojum() { L2ToL1Log::PRE_BOOJUM_MIN_L2_L1_LOGS_TREE_SIZE } else { L2ToL1Log::MIN_L2_L1_LOGS_TREE_SIZE @@ -473,7 +473,7 @@ impl L1BatchAuxiliaryOutput { bootloader_heap_hash, events_state_queue_hash, - is_pre_boojum, + protocol_version, } } @@ -482,16 +482,27 @@ impl L1BatchAuxiliaryOutput { const SERIALIZED_SIZE: usize = 128; let mut result = Vec::with_capacity(SERIALIZED_SIZE); - if self.is_pre_boojum { + if self.protocol_version.is_pre_boojum() { result.extend(self.l2_l1_logs_merkle_root.as_bytes()); result.extend(self.l2_l1_logs_linear_hash.as_bytes()); result.extend(self.initial_writes_hash.as_bytes()); result.extend(self.repeated_writes_hash.as_bytes()); + } else if self.protocol_version.is_1_4_0() { + result.extend(self.system_logs_linear_hash.as_bytes()); + result.extend(self.state_diffs_hash.as_bytes()); + result.extend(self.bootloader_heap_hash.as_bytes()); + result.extend(self.events_state_queue_hash.as_bytes()); } else { result.extend(self.system_logs_linear_hash.as_bytes()); result.extend(self.state_diffs_hash.as_bytes()); result.extend(self.bootloader_heap_hash.as_bytes()); result.extend(self.events_state_queue_hash.as_bytes()); + + // For now, we are using zeroes as commitments to the KZG pubdata. + result.extend(H256::zero().as_bytes()); + result.extend(H256::zero().as_bytes()); + result.extend(H256::zero().as_bytes()); + result.extend(H256::zero().as_bytes()); } result } @@ -586,7 +597,7 @@ impl L1BatchCommitment { state_diffs: Vec, bootloader_heap_hash: H256, events_state_queue_hash: H256, - is_pre_boojum: bool, + protocol_version: ProtocolVersionId, ) -> Self { let meta_parameters = L1BatchMetaParameters { zkporter_is_available: ZKPORTER_IS_AVAILABLE, @@ -616,7 +627,7 @@ impl L1BatchCommitment { state_diffs, bootloader_heap_hash, events_state_queue_hash, - is_pre_boojum, + protocol_version, ), meta_parameters, } @@ -693,7 +704,7 @@ mod tests { }, l2_to_l1_log::{L2ToL1Log, UserL2ToL1Log}, writes::{InitialStorageWrite, RepeatedStorageWrite}, - H256, U256, + ProtocolVersionId, H256, U256, }; #[serde_as] @@ -775,7 +786,7 @@ mod tests { vec![], H256::zero(), H256::zero(), - false, + ProtocolVersionId::latest(), ); let commitment = L1BatchCommitment { diff --git a/core/lib/types/src/fee_model.rs b/core/lib/types/src/fee_model.rs index f0403d9a71c5..8f8d43a4ab7e 100644 --- a/core/lib/types/src/fee_model.rs +++ b/core/lib/types/src/fee_model.rs @@ -1,6 +1,9 @@ use serde::{Deserialize, Serialize}; +use zksync_config::configs::chain::{FeeModelVersion, StateKeeperConfig}; use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; +use crate::ProtocolVersionId; + /// Fee input to be provided into the VM. It contains two options: /// - `L1Pegged`: L1 gas price is provided to the VM, and the pubdata price is derived from it. Using this option is required for the /// versions of Era prior to 1.4.1 integration. @@ -77,6 +80,27 @@ impl BatchFeeInput { }, } } + + pub fn for_protocol_version( + protocol_version: ProtocolVersionId, + fair_l2_gas_price: u64, + fair_pubdata_price: Option, + l1_gas_price: u64, + ) -> Self { + if protocol_version.is_post_1_4_1() { + Self::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + fair_l2_gas_price, + fair_pubdata_price: fair_pubdata_price + .expect("Pubdata price must be provided for protocol version 1.4.1"), + l1_gas_price, + }) + } else { + Self::L1Pegged(L1PeggedBatchFeeModelInput { + fair_l2_gas_price, + l1_gas_price, + }) + } + } } /// Pubdata is only published via calldata and so its price is pegged to the L1 gas price. @@ -153,6 +177,24 @@ impl Default for FeeModelConfig { } } +impl FeeModelConfig { + pub fn from_state_keeper_config(state_keeper_config: &StateKeeperConfig) -> Self { + match state_keeper_config.fee_model_version { + FeeModelVersion::V1 => Self::V1(FeeModelConfigV1 { + minimal_l2_gas_price: state_keeper_config.minimal_l2_gas_price, + }), + FeeModelVersion::V2 => Self::V2(FeeModelConfigV2 { + minimal_l2_gas_price: state_keeper_config.minimal_l2_gas_price, + compute_overhead_part: state_keeper_config.compute_overhead_part, + pubdata_overhead_part: state_keeper_config.pubdata_overhead_part, + batch_overhead_l1_gas: state_keeper_config.batch_overhead_l1_gas, + max_gas_per_batch: state_keeper_config.max_gas_per_batch, + max_pubdata_per_batch: state_keeper_config.max_pubdata_per_batch, + }), + } + } +} + #[derive(Debug, Clone, Copy, Serialize, Deserialize)] pub struct FeeParamsV1 { pub config: FeeModelConfigV1, diff --git a/core/lib/types/src/l2/mod.rs b/core/lib/types/src/l2/mod.rs index 6827f0421912..08c32f900bef 100644 --- a/core/lib/types/src/l2/mod.rs +++ b/core/lib/types/src/l2/mod.rs @@ -26,7 +26,6 @@ pub mod error; pub enum TransactionType { // Native ECDSA Transaction LegacyTransaction = 0, - EIP2930Transaction = 1, EIP1559Transaction = 2, // EIP 712 transaction with additional fields specified for zkSync @@ -35,6 +34,18 @@ pub enum TransactionType { ProtocolUpgradeTransaction = PROTOCOL_UPGRADE_TX_TYPE as u32, } +impl TransactionType { + /// Returns whether a transaction type is an Ethereum transaction type. + pub fn is_ethereum_type(&self) -> bool { + matches!( + self, + TransactionType::LegacyTransaction + | TransactionType::EIP2930Transaction + | TransactionType::EIP1559Transaction + ) + } +} + #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct L2TxCommonData { diff --git a/core/lib/types/src/l2_to_l1_log.rs b/core/lib/types/src/l2_to_l1_log.rs index 335e6e740be5..03ac163e5593 100644 --- a/core/lib/types/src/l2_to_l1_log.rs +++ b/core/lib/types/src/l2_to_l1_log.rs @@ -1,6 +1,7 @@ use serde::{Deserialize, Serialize}; use zk_evm::reference_impls::event_sink::EventMessage; use zk_evm_1_4_0::reference_impls::event_sink::EventMessage as EventMessage_1_4_0; +use zk_evm_1_4_1::reference_impls::event_sink::EventMessage as EventMessage_1_4_1; use zksync_utils::u256_to_h256; use crate::{commitment::SerializeCommitment, Address, H256}; @@ -92,6 +93,19 @@ impl From for L2ToL1Log { } } +impl From for L2ToL1Log { + fn from(m: EventMessage_1_4_1) -> Self { + Self { + shard_id: m.shard_id, + is_service: m.is_first, + tx_number_in_block: m.tx_number_in_block, + sender: m.address, + key: u256_to_h256(m.key), + value: u256_to_h256(m.value), + } + } +} + #[cfg(test)] mod tests { use zksync_basic_types::U256; diff --git a/core/lib/types/src/protocol_version.rs b/core/lib/types/src/protocol_version.rs index 75333880ef4b..38caa0f8a20e 100644 --- a/core/lib/types/src/protocol_version.rs +++ b/core/lib/types/src/protocol_version.rs @@ -42,15 +42,16 @@ pub enum ProtocolVersionId { Version18, Version19, Version20, + Version21, } impl ProtocolVersionId { pub fn latest() -> Self { - Self::Version19 + Self::Version20 } pub fn next() -> Self { - Self::Version20 + Self::Version21 } /// Returns VM version to be used by API for this protocol version. @@ -77,16 +78,27 @@ impl ProtocolVersionId { ProtocolVersionId::Version17 => VmVersion::VmVirtualBlocksRefundsEnhancement, ProtocolVersionId::Version18 => VmVersion::VmBoojumIntegration, ProtocolVersionId::Version19 => VmVersion::VmBoojumIntegration, - ProtocolVersionId::Version20 => VmVersion::VmBoojumIntegration, + ProtocolVersionId::Version20 => VmVersion::Vm1_4_1, + ProtocolVersionId::Version21 => VmVersion::Vm1_4_1, } } + // It is possible that some external nodes do not store protocol versions for versions below 9. + // That's why we assume that whenever a protocol version is not present, version 9 is to be used. + pub fn last_potentially_undefined() -> Self { + Self::Version9 + } + pub fn is_pre_boojum(&self) -> bool { - self < &ProtocolVersionId::Version18 + self <= &Self::Version17 + } + + pub fn is_1_4_0(&self) -> bool { + self >= &ProtocolVersionId::Version18 && self < &ProtocolVersionId::Version20 } - pub fn last_pre_boojum() -> Self { - ProtocolVersionId::Version17 + pub fn is_post_1_4_1(&self) -> bool { + self >= &ProtocolVersionId::Version20 } } @@ -701,7 +713,8 @@ impl From for VmVersion { ProtocolVersionId::Version17 => VmVersion::VmVirtualBlocksRefundsEnhancement, ProtocolVersionId::Version18 => VmVersion::VmBoojumIntegration, ProtocolVersionId::Version19 => VmVersion::VmBoojumIntegration, - ProtocolVersionId::Version20 => VmVersion::VmBoojumIntegration, + ProtocolVersionId::Version20 => VmVersion::Vm1_4_1, + ProtocolVersionId::Version21 => VmVersion::Vm1_4_1, } } } diff --git a/core/lib/types/src/transaction_request.rs b/core/lib/types/src/transaction_request.rs index 8f14f44f87b5..7fda18d70a46 100644 --- a/core/lib/types/src/transaction_request.rs +++ b/core/lib/types/src/transaction_request.rs @@ -4,7 +4,7 @@ use rlp::{DecoderError, Rlp, RlpStream}; use serde::{Deserialize, Serialize}; use thiserror::Error; use zksync_basic_types::H256; -use zksync_system_constants::{MAX_GAS_PER_PUBDATA_BYTE, USED_BOOTLOADER_MEMORY_BYTES}; +use zksync_system_constants::{DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE, MAX_ENCODED_TX_SIZE}; use zksync_utils::{ bytecode::{hash_bytecode, validate_bytecode, InvalidBytecodeError}, concat_and_hash, u256_to_h256, @@ -743,8 +743,8 @@ impl TransactionRequest { } meta.gas_per_pubdata } else { - // For transactions that don't support corresponding field, a default is chosen. - U256::from(MAX_GAS_PER_PUBDATA_BYTE) + // For transactions that don't support corresponding field, a maximal default value is chosen. + DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE.into() }; let max_priority_fee_per_gas = self.max_priority_fee_per_gas.unwrap_or(self.gas_price); @@ -882,7 +882,7 @@ impl TryFrom for L1Tx { type Error = SerializationTransactionError; fn try_from(tx: CallRequest) -> Result { // L1 transactions have no limitations on the transaction size. - let tx: L2Tx = L2Tx::from_request(tx.into(), USED_BOOTLOADER_MEMORY_BYTES)?; + let tx: L2Tx = L2Tx::from_request(tx.into(), MAX_ENCODED_TX_SIZE)?; // Note, that while the user has theoretically provided the fee for ETH on L1, // the payment to the operator as well as refunds happen on L2 and so all the ETH @@ -1488,21 +1488,15 @@ mod tests { access_list: None, eip712_meta: None, }; - let l2_tx = L2Tx::from_request( - call_request_with_nonce.clone().into(), - USED_BOOTLOADER_MEMORY_BYTES, - ) - .unwrap(); + let l2_tx = L2Tx::from_request(call_request_with_nonce.clone().into(), MAX_ENCODED_TX_SIZE) + .unwrap(); assert_eq!(l2_tx.nonce(), Nonce(123u32)); let mut call_request_without_nonce = call_request_with_nonce; call_request_without_nonce.nonce = None; - let l2_tx = L2Tx::from_request( - call_request_without_nonce.into(), - USED_BOOTLOADER_MEMORY_BYTES, - ) - .unwrap(); + let l2_tx = + L2Tx::from_request(call_request_without_nonce.into(), MAX_ENCODED_TX_SIZE).unwrap(); assert_eq!(l2_tx.nonce(), Nonce(0u32)); } } diff --git a/core/lib/types/src/vm_version.rs b/core/lib/types/src/vm_version.rs index 0f0fe4d337fc..2a4e9dc3ef2e 100644 --- a/core/lib/types/src/vm_version.rs +++ b/core/lib/types/src/vm_version.rs @@ -8,11 +8,12 @@ pub enum VmVersion { VmVirtualBlocks, VmVirtualBlocksRefundsEnhancement, VmBoojumIntegration, + Vm1_4_1, } impl VmVersion { /// Returns the latest supported VM version. pub const fn latest() -> VmVersion { - Self::VmBoojumIntegration + Self::Vm1_4_1 } } diff --git a/core/lib/zksync_core/src/api_server/execution_sandbox/apply.rs b/core/lib/zksync_core/src/api_server/execution_sandbox/apply.rs index 54d9cde6cf23..45743397695b 100644 --- a/core/lib/zksync_core/src/api_server/execution_sandbox/apply.rs +++ b/core/lib/zksync_core/src/api_server/execution_sandbox/apply.rs @@ -301,7 +301,7 @@ async fn read_l2_block_info( } #[derive(Debug)] -struct ResolvedBlockInfo { +pub(crate) struct ResolvedBlockInfo { pub state_l2_block_number: MiniblockNumber, pub vm_l1_batch_number: L1BatchNumber, pub l1_batch_timestamp: u64, @@ -316,7 +316,7 @@ impl BlockArgs { ) } - async fn resolve_block_info( + pub(crate) async fn resolve_block_info( &self, connection: &mut StorageProcessor<'_>, ) -> anyhow::Result { @@ -359,7 +359,8 @@ impl BlockArgs { .blocks_dal() .get_miniblock_protocol_version_id(state_l2_block_number) .await? - .unwrap_or(ProtocolVersionId::Version9); + .unwrap_or(ProtocolVersionId::last_potentially_undefined()); + Ok(ResolvedBlockInfo { state_l2_block_number, vm_l1_batch_number, diff --git a/core/lib/zksync_core/src/api_server/execution_sandbox/tracers.rs b/core/lib/zksync_core/src/api_server/execution_sandbox/tracers.rs index 443b35fb46e0..e6add9a9e3b1 100644 --- a/core/lib/zksync_core/src/api_server/execution_sandbox/tracers.rs +++ b/core/lib/zksync_core/src/api_server/execution_sandbox/tracers.rs @@ -14,7 +14,7 @@ pub(crate) enum ApiTracer { impl ApiTracer { pub fn into_boxed< S: WriteStorage, - H: HistoryMode + multivm::HistoryMode + 'static, + H: HistoryMode + multivm::HistoryMode + 'static, >( self, ) -> MultiVmTracerPointer { diff --git a/core/lib/zksync_core/src/api_server/tx_sender/mod.rs b/core/lib/zksync_core/src/api_server/tx_sender/mod.rs index 455ba262d471..35740950b3aa 100644 --- a/core/lib/zksync_core/src/api_server/tx_sender/mod.rs +++ b/core/lib/zksync_core/src/api_server/tx_sender/mod.rs @@ -12,15 +12,17 @@ use zksync_config::configs::{api::Web3JsonRpcConfig, chain::StateKeeperConfig}; use zksync_contracts::BaseSystemContracts; use zksync_dal::{transactions_dal::L2TxSubmissionResult, ConnectionPool}; use zksync_state::PostgresStorageCaches; +use zksync_system_constants::DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE; use zksync_types::{ fee::{Fee, TransactionExecutionMetrics}, fee_model::BatchFeeInput, get_code_key, get_intrinsic_constants, + l1::is_l1_tx_type, l2::{error::TxCheckError::TxDuplication, L2Tx}, utils::storage_key_for_eth_balance, AccountTreeId, Address, ExecuteTransactionCommon, L2ChainId, MiniblockNumber, Nonce, - PackedEthSignature, ProtocolVersionId, Transaction, VmVersion, H160, H256, - MAX_GAS_PER_PUBDATA_BYTE, MAX_L2_TX_GAS_LIMIT, MAX_NEW_FACTORY_DEPS, U256, + PackedEthSignature, ProtocolVersionId, Transaction, VmVersion, H160, H256, MAX_L2_TX_GAS_LIMIT, + MAX_NEW_FACTORY_DEPS, U256, }; use zksync_utils::h256_to_u256; @@ -56,6 +58,8 @@ pub struct MultiVMBaseSystemContracts { pub(crate) post_boojum: BaseSystemContracts, /// Contracts to be used after the allow-list removal upgrade pub(crate) post_allowlist_removal: BaseSystemContracts, + /// Contracts to be used after the 1.4.1 upgrade + pub(crate) post_1_4_1: BaseSystemContracts, } impl MultiVMBaseSystemContracts { @@ -80,9 +84,8 @@ impl MultiVMBaseSystemContracts { | ProtocolVersionId::Version16 | ProtocolVersionId::Version17 => self.post_virtual_blocks_finish_upgrade_fix, ProtocolVersionId::Version18 => self.post_boojum, - ProtocolVersionId::Version19 | ProtocolVersionId::Version20 => { - self.post_allowlist_removal - } + ProtocolVersionId::Version19 => self.post_allowlist_removal, + ProtocolVersionId::Version20 | ProtocolVersionId::Version21 => self.post_1_4_1, } } } @@ -114,6 +117,7 @@ impl ApiContracts { BaseSystemContracts::estimate_gas_post_virtual_blocks_finish_upgrade_fix(), post_boojum: BaseSystemContracts::estimate_gas_post_boojum(), post_allowlist_removal: BaseSystemContracts::estimate_gas_post_allowlist_removal(), + post_1_4_1: BaseSystemContracts::estimate_gas_post_1_4_1(), }, eth_call: MultiVMBaseSystemContracts { pre_virtual_blocks: BaseSystemContracts::playground_pre_virtual_blocks(), @@ -122,6 +126,7 @@ impl ApiContracts { BaseSystemContracts::playground_post_virtual_blocks_finish_upgrade_fix(), post_boojum: BaseSystemContracts::playground_post_boojum(), post_allowlist_removal: BaseSystemContracts::playground_post_allowlist_removal(), + post_1_4_1: BaseSystemContracts::playground_post_1_4_1(), }, } } @@ -208,9 +213,9 @@ pub struct TxSenderConfig { pub gas_price_scale_factor: f64, pub max_nonce_ahead: u32, pub max_allowed_l2_tx_gas_limit: u32, - pub fair_l2_gas_price: u64, pub vm_execution_cache_misses_limit: Option, pub validation_computational_gas_limit: u32, + pub l1_to_l2_transactions_compatibility_mode: bool, pub chain_id: L2ChainId, } @@ -225,10 +230,11 @@ impl TxSenderConfig { gas_price_scale_factor: web3_json_config.gas_price_scale_factor, max_nonce_ahead: web3_json_config.max_nonce_ahead, max_allowed_l2_tx_gas_limit: state_keeper_config.max_allowed_l2_tx_gas_limit, - fair_l2_gas_price: state_keeper_config.fair_l2_gas_price, vm_execution_cache_misses_limit: web3_json_config.vm_execution_cache_misses_limit, validation_computational_gas_limit: state_keeper_config .validation_computational_gas_limit, + l1_to_l2_transactions_compatibility_mode: web3_json_config + .l1_to_l2_transactions_compatibility_mode, chain_id, } } @@ -417,6 +423,8 @@ impl TxSender { return Err(SubmitTxError::GasLimitIsTooBig); } + let fee_input = self.0.batch_fee_input_provider.get_batch_fee_input(); + // TODO (SMA-1715): do not subsidize the overhead for the transaction if tx.common_data.fee.gas_limit > self.0.sender_config.max_allowed_l2_tx_gas_limit.into() { @@ -427,7 +435,7 @@ impl TxSender { ); return Err(SubmitTxError::GasLimitIsTooBig); } - if tx.common_data.fee.max_fee_per_gas < self.0.sender_config.fair_l2_gas_price.into() { + if tx.common_data.fee.max_fee_per_gas < fee_input.fair_l2_gas_price().into() { tracing::info!( "Submitted Tx is Unexecutable {:?} because of MaxFeePerGasTooLow {}", tx.hash(), @@ -540,11 +548,7 @@ impl TxSender { let balance = self.get_balance(&tx.common_data.initiator_address).await; // Estimate the minimum fee price user will agree to. - let gas_price = cmp::min( - tx.common_data.fee.max_fee_per_gas, - U256::from(self.0.sender_config.fair_l2_gas_price) - + tx.common_data.fee.max_priority_fee_per_gas, - ); + let gas_price = tx.common_data.fee.max_fee_per_gas; let max_fee = tx.common_data.fee.gas_limit * gas_price; let max_fee_and_value = max_fee + tx.execute.value; @@ -583,9 +587,9 @@ impl TxSender { &self, vm_permit: VmPermit, mut tx: Transaction, - gas_per_pubdata_byte: u64, tx_gas_limit: u32, - fee_input: BatchFeeInput, + gas_price_per_pubdata: u32, + fee_model_params: BatchFeeInput, block_args: BlockArgs, base_fee: u64, vm_version: VmVersion, @@ -593,7 +597,7 @@ impl TxSender { let gas_limit_with_overhead = tx_gas_limit + derive_overhead( tx_gas_limit, - gas_per_pubdata_byte as u32, + gas_price_per_pubdata, tx.encoding_len(), tx.tx_format() as u8, vm_version, @@ -619,7 +623,7 @@ impl TxSender { } } - let shared_args = self.shared_args_for_gas_estimate(fee_input); + let shared_args = self.shared_args_for_gas_estimate(fee_model_params); let vm_execution_cache_misses_limit = self.0.sender_config.vm_execution_cache_misses_limit; let execution_args = TxExecutionArgs::for_gas_estimate(vm_execution_cache_misses_limit, &tx, base_fee); @@ -643,6 +647,7 @@ impl TxSender { fn shared_args_for_gas_estimate(&self, fee_input: BatchFeeInput) -> TxSharedArgs { let config = &self.0.sender_config; + TxSharedArgs { operator_account: AccountTreeId::new(config.fee_account_addr), fee_input, @@ -669,13 +674,12 @@ impl TxSender { .await .unwrap(); let block_args = BlockArgs::pending(&mut connection).await; - // If protocol version is not present, we'll use the pre-boojum one - let protocol_version = connection - .blocks_dal() - .get_miniblock_protocol_version_id(block_args.resolved_block_number()) + let protocol_version = block_args + .resolve_block_info(&mut connection) .await .unwrap() - .unwrap_or(ProtocolVersionId::last_pre_boojum()); + .protocol_version; + drop(connection); let fee_input = { @@ -740,7 +744,8 @@ impl TxSender { l2_common_data.signature = PackedEthSignature::default().serialize_packed().into(); } - l2_common_data.fee.gas_per_pubdata_limit = MAX_GAS_PER_PUBDATA_BYTE.into(); + l2_common_data.fee.gas_per_pubdata_limit = + U256::from(DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE); } // Acquire the vm token for the whole duration of the binary search. @@ -796,8 +801,8 @@ impl TxSender { .estimate_gas_step( vm_permit.clone(), tx.clone(), - gas_per_pubdata_byte, try_gas_limit, + gas_per_pubdata_byte as u32, fee_input, block_args, base_fee, @@ -835,8 +840,8 @@ impl TxSender { .estimate_gas_step( vm_permit, tx.clone(), - gas_per_pubdata_byte, suggested_gas_limit, + gas_per_pubdata_byte as u32, fee_input, block_args, base_fee, @@ -847,13 +852,29 @@ impl TxSender { result.into_api_call_result()?; self.ensure_tx_executable(tx.clone(), &tx_metrics, false)?; - let overhead = derive_overhead( - suggested_gas_limit, - gas_per_pubdata_byte as u32, - tx.encoding_len(), - tx.tx_format() as u8, - protocol_version.into(), - ); + // Now, we need to calculate the final overhead for the transaction. We need to take into account the fact + // that the migration of 1.4.1 may be still going on. + let overhead = if self + .0 + .sender_config + .l1_to_l2_transactions_compatibility_mode + { + derive_pessimistic_overhead( + suggested_gas_limit, + gas_per_pubdata_byte as u32, + tx.encoding_len(), + tx.tx_format() as u8, + protocol_version.into(), + ) + } else { + derive_overhead( + suggested_gas_limit, + gas_per_pubdata_byte as u32, + tx.encoding_len(), + tx.tx_format() as u8, + protocol_version.into(), + ) + }; let full_gas_limit = match tx_body_gas_limit.overflowing_add(gas_for_bytecodes_pubdata + overhead) { @@ -906,13 +927,11 @@ impl TxSender { .await .unwrap(); let block_args = BlockArgs::pending(&mut connection).await; - // If protocol version is not present, we'll use the pre-boojum one - let protocol_version = connection - .blocks_dal() - .get_miniblock_protocol_version_id(block_args.resolved_block_number()) + let protocol_version = block_args + .resolve_block_info(&mut connection) .await .unwrap() - .unwrap_or(ProtocolVersionId::last_pre_boojum()); + .protocol_version; drop(connection); let (base_fee, _) = derive_base_fee_and_gas_per_pubdata( @@ -961,3 +980,40 @@ impl TxSender { Ok(()) } } + +/// During switch to the 1.4.1 protocol version, there will be a moment of discrepancy, when while +/// the L2 has already upgraded to 1.4.1 (and thus suggests smaller overhead), the L1 is still on the previous version. +/// +/// This might lead to situations when L1->L2 transactions estimated with the new versions would work on the state keeper side, +/// but they won't even make it there, but the protection mechanisms for L1->L2 transactions will reject them on L1. +/// TODO(X): remove this function after the upgrade is complete +fn derive_pessimistic_overhead( + gas_limit: u32, + gas_price_per_pubdata: u32, + encoded_len: usize, + tx_type: u8, + vm_version: VmVersion, +) -> u32 { + let current_overhead = derive_overhead( + gas_limit, + gas_price_per_pubdata, + encoded_len, + tx_type, + vm_version, + ); + + if is_l1_tx_type(tx_type) { + // We are in the L1->L2 transaction, so we need to account for the fact that the L1 is still on the previous version. + // We assume that the overhead will be the same as for the previous version. + let previous_overhead = derive_overhead( + gas_limit, + gas_price_per_pubdata, + encoded_len, + tx_type, + VmVersion::VmBoojumIntegration, + ); + current_overhead.max(previous_overhead) + } else { + current_overhead + } +} diff --git a/core/lib/zksync_core/src/api_server/web3/namespaces/debug.rs b/core/lib/zksync_core/src/api_server/web3/namespaces/debug.rs index d30e3652e293..693ebb8f3582 100644 --- a/core/lib/zksync_core/src/api_server/web3/namespaces/debug.rs +++ b/core/lib/zksync_core/src/api_server/web3/namespaces/debug.rs @@ -2,13 +2,14 @@ use std::sync::Arc; use multivm::{interface::ExecutionResult, vm_latest::constants::BLOCK_GAS_LIMIT}; use once_cell::sync::OnceCell; +use zksync_system_constants::MAX_ENCODED_TX_SIZE; use zksync_types::{ api::{BlockId, BlockNumber, DebugCall, ResultDebugCall, TracerConfig}, fee_model::BatchFeeInput, l2::L2Tx, transaction_request::CallRequest, vm_trace::Call, - AccountTreeId, H256, USED_BOOTLOADER_MEMORY_BYTES, + AccountTreeId, H256, }; use zksync_web3_decl::error::Web3Error; @@ -20,6 +21,7 @@ use crate::api_server::{ #[derive(Debug, Clone)] pub struct DebugNamespace { + batch_fee_input: BatchFeeInput, state: RpcState, api_contracts: ApiContracts, } @@ -28,6 +30,15 @@ impl DebugNamespace { pub async fn new(state: RpcState) -> Self { let api_contracts = ApiContracts::load_from_disk(); Self { + // For now, the same scaling is used for both the L1 gas price and the pubdata price + batch_fee_input: state + .tx_sender + .0 + .batch_fee_input_provider + .get_batch_fee_input_scaled( + state.api_config.estimate_gas_scale_factor, + state.api_config.estimate_gas_scale_factor, + ), state, api_contracts, } @@ -134,7 +145,7 @@ impl DebugNamespace { .await?; drop(connection); - let tx = L2Tx::from_request(request.into(), USED_BOOTLOADER_MEMORY_BYTES)?; + let tx = L2Tx::from_request(request.into(), MAX_ENCODED_TX_SIZE)?; let shared_args = self.shared_args(); let vm_permit = self @@ -204,7 +215,7 @@ impl DebugNamespace { let sender_config = self.sender_config(); TxSharedArgs { operator_account: AccountTreeId::default(), - fee_input: BatchFeeInput::l1_pegged(100_000, sender_config.fair_l2_gas_price), + fee_input: self.batch_fee_input, base_system_contracts: self.api_contracts.eth_call.clone(), caches: self.state.tx_sender.storage_caches().clone(), validation_computational_gas_limit: BLOCK_GAS_LIMIT, diff --git a/core/lib/zksync_core/src/api_server/web3/namespaces/eth.rs b/core/lib/zksync_core/src/api_server/web3/namespaces/eth.rs index 07c61ed5ac1a..da6df61e1e89 100644 --- a/core/lib/zksync_core/src/api_server/web3/namespaces/eth.rs +++ b/core/lib/zksync_core/src/api_server/web3/namespaces/eth.rs @@ -1,3 +1,4 @@ +use zksync_system_constants::DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE; use zksync_types::{ api::{ BlockId, BlockNumber, GetLogsFilter, Transaction, TransactionId, TransactionReceipt, @@ -8,8 +9,7 @@ use zksync_types::{ utils::decompose_full_nonce, web3, web3::types::{FeeHistory, SyncInfo, SyncState}, - AccountTreeId, Bytes, MiniblockNumber, StorageKey, H256, L2_ETH_TOKEN_ADDRESS, - MAX_GAS_PER_PUBDATA_BYTE, U256, + AccountTreeId, Bytes, MiniblockNumber, StorageKey, H256, L2_ETH_TOKEN_ADDRESS, U256, }; use zksync_utils::u256_to_h256; use zksync_web3_decl::{ @@ -79,6 +79,7 @@ impl EthNamespace { .state .resolve_block_args(&mut connection, block_id, METHOD_NAME) .await?; + drop(connection); let tx = L2Tx::from_request(request.into(), self.state.api_config.max_tx_size)?; @@ -111,7 +112,7 @@ impl EthNamespace { if let Some(ref mut eip712_meta) = request_with_gas_per_pubdata_overridden.eip712_meta { if eip712_meta.gas_per_pubdata == U256::zero() { - eip712_meta.gas_per_pubdata = MAX_GAS_PER_PUBDATA_BYTE.into(); + eip712_meta.gas_per_pubdata = DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE.into(); } } diff --git a/core/lib/zksync_core/src/api_server/web3/namespaces/zks.rs b/core/lib/zksync_core/src/api_server/web3/namespaces/zks.rs index b4192a691294..5b5aad6e1d43 100644 --- a/core/lib/zksync_core/src/api_server/web3/namespaces/zks.rs +++ b/core/lib/zksync_core/src/api_server/web3/namespaces/zks.rs @@ -3,6 +3,7 @@ use std::{collections::HashMap, convert::TryInto}; use bigdecimal::{BigDecimal, Zero}; use zksync_dal::StorageProcessor; use zksync_mini_merkle_tree::MiniMerkleTree; +use zksync_system_constants::DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE; use zksync_types::{ api::{ BlockDetails, BridgeAddresses, GetLogsFilter, L1BatchDetails, L2ToL1LogProof, Proof, @@ -16,8 +17,7 @@ use zksync_types::{ tokens::ETHEREUM_ADDRESS, transaction_request::CallRequest, AccountTreeId, L1BatchNumber, MiniblockNumber, StorageKey, Transaction, L1_MESSENGER_ADDRESS, - L2_ETH_TOKEN_ADDRESS, MAX_GAS_PER_PUBDATA_BYTE, REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, U256, - U64, + L2_ETH_TOKEN_ADDRESS, REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_BYTE, U256, U64, }; use zksync_utils::{address_to_h256, ratio_to_big_decimal_normalized}; use zksync_web3_decl::{ @@ -63,7 +63,7 @@ impl ZksNamespace { .await?; if let Some(ref mut eip712_meta) = request_with_gas_per_pubdata_overridden.eip712_meta { - eip712_meta.gas_per_pubdata = MAX_GAS_PER_PUBDATA_BYTE.into(); + eip712_meta.gas_per_pubdata = U256::from(DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE); } let mut tx = L2Tx::from_request( @@ -74,7 +74,7 @@ impl ZksNamespace { // When we're estimating fee, we are trying to deduce values related to fee, so we should // not consider provided ones. tx.common_data.fee.max_priority_fee_per_gas = 0u64.into(); - tx.common_data.fee.gas_per_pubdata_limit = MAX_GAS_PER_PUBDATA_BYTE.into(); + tx.common_data.fee.gas_per_pubdata_limit = U256::from(DEFAULT_L2_TX_GAS_PER_PUBDATA_BYTE); let fee = self.estimate_fee(tx.into()).await?; method_latency.observe(); diff --git a/core/lib/zksync_core/src/api_server/web3/tests/vm.rs b/core/lib/zksync_core/src/api_server/web3/tests/vm.rs index bc152a449ff9..ba5ca2ead005 100644 --- a/core/lib/zksync_core/src/api_server/web3/tests/vm.rs +++ b/core/lib/zksync_core/src/api_server/web3/tests/vm.rs @@ -154,7 +154,7 @@ impl SendRawTransactionTest { to: Some(Address::repeat_byte(2)), value: 123_456.into(), gas: (get_intrinsic_constants().l2_tx_intrinsic_gas * 2).into(), - gas_price: StateKeeperConfig::for_tests().fair_l2_gas_price.into(), + gas_price: StateKeeperConfig::for_tests().minimal_l2_gas_price.into(), input: vec![1, 2, 3, 4].into(), ..api::TransactionRequest::default() }; diff --git a/core/lib/zksync_core/src/consensus/storage/mod.rs b/core/lib/zksync_core/src/consensus/storage/mod.rs index 5631574fa55f..516ba7eb19c0 100644 --- a/core/lib/zksync_core/src/consensus/storage/mod.rs +++ b/core/lib/zksync_core/src/consensus/storage/mod.rs @@ -178,6 +178,7 @@ impl Cursor { reference_hash: Some(payload.hash), l1_gas_price: payload.l1_gas_price, l2_fair_gas_price: payload.l2_fair_gas_price, + fair_pubdata_price: payload.fair_pubdata_price, virtual_blocks: payload.virtual_blocks, operator_address: payload.operator_address, transactions: payload.transactions, diff --git a/core/lib/zksync_core/src/consensus/testonly.rs b/core/lib/zksync_core/src/consensus/testonly.rs index 8de75757f335..ebbd43ee920a 100644 --- a/core/lib/zksync_core/src/consensus/testonly.rs +++ b/core/lib/zksync_core/src/consensus/testonly.rs @@ -74,6 +74,7 @@ impl MockMainNodeClient { timestamp: number.into(), l1_gas_price: 2, l2_fair_gas_price: 3, + fair_pubdata_price: Some(24), base_system_contracts_hashes: BaseSystemContractsHashes::default(), operator_address: Address::repeat_byte(2), transactions: Some(transactions), @@ -234,6 +235,7 @@ impl StateKeeper { timestamp: self.last_timestamp, l1_gas_price: 2, l2_fair_gas_price: 3, + fair_pubdata_price: Some(24), operator_address: self.operator_address, protocol_version: ProtocolVersionId::latest(), first_miniblock_info: (self.last_block, 1), diff --git a/core/lib/zksync_core/src/genesis.rs b/core/lib/zksync_core/src/genesis.rs index efc872cd995a..54989bab93ea 100644 --- a/core/lib/zksync_core/src/genesis.rs +++ b/core/lib/zksync_core/src/genesis.rs @@ -3,6 +3,7 @@ //! setups the required databases, and outputs the data required to initialize a smart contract. use anyhow::Context as _; +use multivm::utils::get_max_gas_per_pubdata_byte; use zksync_contracts::BaseSystemContracts; use zksync_dal::StorageProcessor; use zksync_merkle_tree::domain::ZkSyncTree; @@ -108,7 +109,7 @@ pub async fn ensure_genesis_state( vec![], H256::zero(), H256::zero(), - protocol_version.is_pre_boojum(), + *protocol_version, ); save_genesis_l1_batch_metadata( @@ -295,6 +296,7 @@ pub(crate) async fn create_genesis_l1_batch( l1_tx_count: 0, l2_tx_count: 0, base_fee_per_gas: 0, + gas_per_pubdata_limit: get_max_gas_per_pubdata_byte(protocol_version.into()), batch_fee_input: BatchFeeInput::l1_pegged(0, 0), base_system_contracts_hashes: base_system_contracts.hashes(), protocol_version: Some(protocol_version), diff --git a/core/lib/zksync_core/src/l1_gas_price/mod.rs b/core/lib/zksync_core/src/l1_gas_price/mod.rs index fac91d02559e..3ed508328c4d 100644 --- a/core/lib/zksync_core/src/l1_gas_price/mod.rs +++ b/core/lib/zksync_core/src/l1_gas_price/mod.rs @@ -18,6 +18,7 @@ pub trait L1GasPriceProvider: fmt::Debug + 'static + Send + Sync { fn estimate_effective_gas_price(&self) -> u64; /// Returns a best guess of a realistic value for the L1 pubdata price. + /// Note that starting with EIP4844 it will become independent from the gas price. /// Return value is in wei. fn estimate_effective_pubdata_price(&self) -> u64; } diff --git a/core/lib/zksync_core/src/lib.rs b/core/lib/zksync_core/src/lib.rs index 2c2e93705f75..a246b43216ae 100644 --- a/core/lib/zksync_core/src/lib.rs +++ b/core/lib/zksync_core/src/lib.rs @@ -35,7 +35,7 @@ use zksync_object_store::{ObjectStore, ObjectStoreFactory}; use zksync_queued_job_processor::JobProcessor; use zksync_state::PostgresStorageCaches; use zksync_types::{ - fee_model::FeeModelConfigV1, + fee_model::FeeModelConfig, protocol_version::{L1VerifierConfig, VerifierParams}, system_contracts::get_system_smart_contracts, web3::contract::tokens::Detokenize, @@ -697,9 +697,7 @@ async fn add_state_keeper_to_task_futures( +async fn run_http_api( postgres_config: &PostgresConfig, tx_sender_config: &TxSenderConfig, state_keeper_config: &StateKeeperConfig, diff --git a/core/lib/zksync_core/src/metadata_calculator/mod.rs b/core/lib/zksync_core/src/metadata_calculator/mod.rs index c510eb68fb1d..e5a93d7d3de2 100644 --- a/core/lib/zksync_core/src/metadata_calculator/mod.rs +++ b/core/lib/zksync_core/src/metadata_calculator/mod.rs @@ -19,7 +19,7 @@ use zksync_object_store::ObjectStore; use zksync_types::{ block::L1BatchHeader, commitment::{L1BatchCommitment, L1BatchMetadata}, - H256, + ProtocolVersionId, H256, }; pub(crate) use self::helpers::{AsyncTreeReader, L1BatchWithLogs, MerkleTreeInfo}; @@ -191,10 +191,12 @@ impl MetadataCalculator { events_queue_commitment: Option, bootloader_initial_content_commitment: Option, ) -> L1BatchMetadata { - let is_pre_boojum = header + // The commitment generation pre-boojum is the same for all the version, so in case the version is not present, we just supply the + // last pre-boojum version. + // TODO(PLA-731): make sure that protocol version is not an Option + let protocol_version = header .protocol_version - .map(|v| v.is_pre_boojum()) - .unwrap_or(true); + .unwrap_or(ProtocolVersionId::last_potentially_undefined()); let merkle_root_hash = tree_metadata.root_hash; @@ -210,12 +212,12 @@ impl MetadataCalculator { tree_metadata.state_diffs, bootloader_initial_content_commitment.unwrap_or_default(), events_queue_commitment.unwrap_or_default(), - is_pre_boojum, + protocol_version, ); let commitment_hash = commitment.hash(); tracing::trace!("L1 batch commitment: {commitment:?}"); - let l2_l1_messages_compressed = if is_pre_boojum { + let l2_l1_messages_compressed = if protocol_version.is_pre_boojum() { commitment.l2_l1_logs_compressed().to_vec() } else { commitment.system_logs_compressed().to_vec() diff --git a/core/lib/zksync_core/src/metadata_calculator/updater.rs b/core/lib/zksync_core/src/metadata_calculator/updater.rs index f3540f25fe94..917ab68fbff7 100644 --- a/core/lib/zksync_core/src/metadata_calculator/updater.rs +++ b/core/lib/zksync_core/src/metadata_calculator/updater.rs @@ -11,7 +11,9 @@ use zksync_dal::{ConnectionPool, StorageProcessor}; use zksync_health_check::HealthUpdater; use zksync_merkle_tree::domain::TreeMetadata; use zksync_object_store::ObjectStore; -use zksync_types::{block::L1BatchHeader, writes::InitialStorageWrite, L1BatchNumber, H256, U256}; +use zksync_types::{ + block::L1BatchHeader, writes::InitialStorageWrite, L1BatchNumber, ProtocolVersionId, H256, U256, +}; use super::{ helpers::{AsyncTree, Delayer, L1BatchWithLogs}, @@ -204,14 +206,14 @@ impl TreeUpdater { .await .unwrap(); - let is_pre_boojum = header + // TODO(PLA-731): ensure that the protocol version is always available. + let protocol_version = header .protocol_version - .map(|v| v.is_pre_boojum()) - .unwrap_or(true); - let events_queue_commitment = (!is_pre_boojum).then(|| { + .unwrap_or(ProtocolVersionId::last_potentially_undefined()); + let events_queue_commitment = (!protocol_version.is_pre_boojum()).then(|| { let events_queue = events_queue.expect("Events queue is required for post-boojum batch"); - events_queue_commitment(&events_queue, is_pre_boojum) + events_queue_commitment(&events_queue, protocol_version) .expect("Events queue commitment is required for post-boojum batch") }); events_queue_commitment_latency.observe(); @@ -225,7 +227,7 @@ impl TreeUpdater { .unwrap() .unwrap(); let bootloader_initial_content_commitment = - bootloader_initial_content_commitment(&initial_bootloader_contents, is_pre_boojum); + bootloader_initial_content_commitment(&initial_bootloader_contents, protocol_version); bootloader_commitment_latency.observe(); ( diff --git a/core/lib/zksync_core/src/state_keeper/batch_executor/tests/tester.rs b/core/lib/zksync_core/src/state_keeper/batch_executor/tests/tester.rs index 6e7e5681b330..413a12bdf2ed 100644 --- a/core/lib/zksync_core/src/state_keeper/batch_executor/tests/tester.rs +++ b/core/lib/zksync_core/src/state_keeper/batch_executor/tests/tester.rs @@ -27,7 +27,7 @@ use crate::{ }, }; -const DEFAULT_GAS_PER_PUBDATA: u32 = 100; +const DEFAULT_GAS_PER_PUBDATA: u32 = 10000; const CHAIN_ID: u32 = 270; /// Representation of configuration parameters used by the state keeper. diff --git a/core/lib/zksync_core/src/state_keeper/io/seal_logic.rs b/core/lib/zksync_core/src/state_keeper/io/seal_logic.rs index 6720ab3fa3ec..e6eaf6354707 100644 --- a/core/lib/zksync_core/src/state_keeper/io/seal_logic.rs +++ b/core/lib/zksync_core/src/state_keeper/io/seal_logic.rs @@ -9,14 +9,13 @@ use std::{ use itertools::Itertools; use multivm::{ interface::{FinishedL1Batch, L1BatchEnv}, - utils::get_batch_base_fee, + utils::{get_batch_base_fee, get_max_gas_per_pubdata_byte}, }; use zksync_dal::StorageProcessor; use zksync_system_constants::ACCOUNT_CODE_STORAGE_ADDRESS; use zksync_types::{ block::{unpack_block_info, L1BatchHeader, MiniblockHeader}, event::{extract_added_tokens, extract_long_l2_to_l1_messages}, - fee_model::BatchFeeInput, l1::L1Tx, l2::L2Tx, l2_to_l1_log::{SystemL2ToL1Log, UserL2ToL1Log}, @@ -28,8 +27,8 @@ use zksync_types::{ }, zkevm_test_harness::witness::sort_storage_access::sort_storage_access_queries, AccountTreeId, Address, ExecuteTransactionCommon, L1BatchNumber, L1BlockNumber, LogQuery, - MiniblockNumber, StorageKey, StorageLog, StorageLogQuery, StorageValue, Transaction, VmEvent, - CURRENT_VIRTUAL_BLOCK_INFO_POSITION, H256, SYSTEM_CONTEXT_ADDRESS, + MiniblockNumber, ProtocolVersionId, StorageKey, StorageLog, StorageLogQuery, StorageValue, + Transaction, VmEvent, CURRENT_VIRTUAL_BLOCK_INFO_POSITION, H256, SYSTEM_CONTEXT_ADDRESS, }; // TODO (SMA-1206): use seconds instead of milliseconds. use zksync_utils::{h256_to_u256, time::millis_since_epoch, u256_to_h256}; @@ -346,9 +345,14 @@ impl MiniblockSealCommand { l1_tx_count: l1_tx_count as u16, l2_tx_count: l2_tx_count as u16, base_fee_per_gas: self.base_fee_per_gas, - batch_fee_input: BatchFeeInput::l1_pegged(self.l1_gas_price, self.fair_l2_gas_price), + batch_fee_input: self.fee_input, base_system_contracts_hashes: self.base_system_contracts_hashes, protocol_version: self.protocol_version, + gas_per_pubdata_limit: get_max_gas_per_pubdata_byte( + self.protocol_version + .unwrap_or(ProtocolVersionId::last_potentially_undefined()) + .into(), + ), virtual_blocks: self.miniblock.virtual_blocks, }; diff --git a/core/lib/zksync_core/src/state_keeper/io/tests/mod.rs b/core/lib/zksync_core/src/state_keeper/io/tests/mod.rs index af7e39122f8a..b210307f2b95 100644 --- a/core/lib/zksync_core/src/state_keeper/io/tests/mod.rs +++ b/core/lib/zksync_core/src/state_keeper/io/tests/mod.rs @@ -6,8 +6,11 @@ use zksync_contracts::BaseSystemContractsHashes; use zksync_dal::ConnectionPool; use zksync_mempool::L2TxFilter; use zksync_types::{ - block::BlockGasCount, fee_model::BatchFeeInput, tx::ExecutionMetrics, AccountTreeId, Address, - L1BatchNumber, MiniblockNumber, ProtocolVersionId, StorageKey, VmEvent, H256, U256, + block::BlockGasCount, + fee_model::{BatchFeeInput, PubdataIndependentBatchFeeModelInput}, + tx::ExecutionMetrics, + AccountTreeId, Address, L1BatchNumber, MiniblockNumber, ProtocolVersionId, StorageKey, VmEvent, + H256, U256, }; use zksync_utils::time::seconds_since_epoch; @@ -60,7 +63,11 @@ async fn test_filter_with_pending_batch() { // Inserting a pending miniblock that isn't included in a sealed batch means there is a pending batch. // The gas values are randomly chosen but so affect filter values calculation. - let fee_input = BatchFeeInput::l1_pegged(100, 1000); + let fee_input = BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + l1_gas_price: 100, + fair_l2_gas_price: 1000, + fair_pubdata_price: 500, + }); tester .insert_miniblock(&connection_pool, 2, 10, fee_input) @@ -233,8 +240,11 @@ async fn processing_storage_logs_when_sealing_miniblock() { miniblock_number: MiniblockNumber(3), miniblock, first_tx_index: 0, - l1_gas_price: 100, - fair_l2_gas_price: 100, + fee_input: BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + l1_gas_price: 100, + fair_l2_gas_price: 100, + fair_pubdata_price: 100, + }), base_fee_per_gas: 10, base_system_contracts_hashes: BaseSystemContractsHashes::default(), protocol_version: Some(ProtocolVersionId::latest()), @@ -309,8 +319,11 @@ async fn processing_events_when_sealing_miniblock() { miniblock_number, miniblock, first_tx_index: 0, - l1_gas_price: 100, - fair_l2_gas_price: 100, + fee_input: BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + l1_gas_price: 100, + fair_l2_gas_price: 100, + fair_pubdata_price: 100, + }), base_fee_per_gas: 10, base_system_contracts_hashes: BaseSystemContractsHashes::default(), protocol_version: Some(ProtocolVersionId::latest()), diff --git a/core/lib/zksync_core/src/state_keeper/io/tests/tester.rs b/core/lib/zksync_core/src/state_keeper/io/tests/tester.rs index 626924a9c5e5..27261f4e36ce 100644 --- a/core/lib/zksync_core/src/state_keeper/io/tests/tester.rs +++ b/core/lib/zksync_core/src/state_keeper/io/tests/tester.rs @@ -64,13 +64,13 @@ impl Tester { MainNodeFeeInputProvider::new( gas_adjuster, FeeModelConfig::V1(FeeModelConfigV1 { - minimal_l2_gas_price: self.fair_l2_gas_price(), + minimal_l2_gas_price: self.minimal_l2_gas_price(), }), ) } // Constant value to be used both in tests and inside of the IO. - pub(super) fn fair_l2_gas_price(&self) -> u64 { + pub(super) fn minimal_l2_gas_price(&self) -> u64 { 100 } @@ -83,7 +83,7 @@ impl Tester { let batch_fee_input_provider = MainNodeFeeInputProvider::new( gas_adjuster, FeeModelConfig::V1(FeeModelConfigV1 { - minimal_l2_gas_price: self.fair_l2_gas_price(), + minimal_l2_gas_price: self.minimal_l2_gas_price(), }), ); @@ -93,7 +93,7 @@ impl Tester { tokio::spawn(miniblock_sealer.run()); let config = StateKeeperConfig { - fair_l2_gas_price: self.fair_l2_gas_price(), + minimal_l2_gas_price: self.minimal_l2_gas_price(), virtual_blocks_interval: 1, virtual_blocks_per_miniblock: 1, ..StateKeeperConfig::default() diff --git a/core/lib/zksync_core/src/state_keeper/mempool_actor.rs b/core/lib/zksync_core/src/state_keeper/mempool_actor.rs index f452c87a2df9..673f0d5ea7aa 100644 --- a/core/lib/zksync_core/src/state_keeper/mempool_actor.rs +++ b/core/lib/zksync_core/src/state_keeper/mempool_actor.rs @@ -5,7 +5,7 @@ use tokio::sync::watch; use zksync_config::configs::chain::MempoolConfig; use zksync_dal::ConnectionPool; use zksync_mempool::L2TxFilter; -use zksync_types::{ProtocolVersionId, VmVersion}; +use zksync_types::VmVersion; use super::{metrics::KEEPER_METRICS, types::MempoolGuard}; use crate::{api_server::execution_sandbox::BlockArgs, fee_model::BatchFeeModelInputProvider}; @@ -78,13 +78,11 @@ impl MempoolFetcher { let mempool_info = self.mempool.get_mempool_info(); let latest_miniblock = BlockArgs::pending(&mut storage).await; - - let protocol_version = storage - .blocks_dal() - .get_miniblock_protocol_version_id(latest_miniblock.resolved_block_number()) + let protocol_version = latest_miniblock + .resolve_block_info(&mut storage) .await .unwrap() - .unwrap_or_else(ProtocolVersionId::latest); + .protocol_version; let l2_tx_filter = l2_tx_filter( self.batch_fee_input_provider.as_ref(), diff --git a/core/lib/zksync_core/src/state_keeper/tests/mod.rs b/core/lib/zksync_core/src/state_keeper/tests/mod.rs index 06e3321ce483..6f71dc35bd90 100644 --- a/core/lib/zksync_core/src/state_keeper/tests/mod.rs +++ b/core/lib/zksync_core/src/state_keeper/tests/mod.rs @@ -20,7 +20,7 @@ use zksync_system_constants::ZKPORTER_IS_AVAILABLE; use zksync_types::{ aggregated_operations::AggregatedActionType, block::{BlockGasCount, MiniblockExecutionData, MiniblockHasher}, - fee_model::BatchFeeInput, + fee_model::{BatchFeeInput, PubdataIndependentBatchFeeModelInput}, tx::tx_execution_info::ExecutionMetrics, Address, L1BatchNumber, L2ChainId, LogQuery, MiniblockNumber, ProtocolVersionId, StorageLogQuery, StorageLogQueryType, Timestamp, Transaction, H256, U256, @@ -71,7 +71,6 @@ pub(super) fn default_l1_batch_env( previous_batch_hash: None, number: L1BatchNumber(number), timestamp, - fee_input: BatchFeeInput::l1_pegged(1, 1), fee_account, enforced_base_fee: None, first_l2_block: L2BlockEnv { @@ -80,6 +79,11 @@ pub(super) fn default_l1_batch_env( prev_block_hash: MiniblockHasher::legacy_hash(MiniblockNumber(number - 1)), max_virtual_blocks_to_create: 1, }, + fee_input: BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + fair_l2_gas_price: 1, + fair_pubdata_price: 1, + l1_gas_price: 1, + }), } } diff --git a/core/lib/zksync_core/src/state_keeper/tests/tester.rs b/core/lib/zksync_core/src/state_keeper/tests/tester.rs index 340a650eb5eb..9ac886270d31 100644 --- a/core/lib/zksync_core/src/state_keeper/tests/tester.rs +++ b/core/lib/zksync_core/src/state_keeper/tests/tester.rs @@ -543,8 +543,7 @@ pub(crate) struct TestIO { stop_sender: watch::Sender, batch_number: L1BatchNumber, timestamp: u64, - l1_gas_price: u64, - fair_l2_gas_price: u64, + fee_input: BatchFeeInput, miniblock_number: MiniblockNumber, fee_account: Address, scenario: TestScenario, @@ -561,8 +560,7 @@ impl TestIO { stop_sender, batch_number: L1BatchNumber(1), timestamp: 1, - l1_gas_price: 1, - fair_l2_gas_price: 1, + fee_input: BatchFeeInput::default(), miniblock_number: MiniblockNumber(1), fee_account: FEE_ACCOUNT, scenario, @@ -651,7 +649,7 @@ impl StateKeeperIO for TestIO { previous_batch_hash: Some(H256::zero()), number: self.batch_number, timestamp: self.timestamp, - fee_input: BatchFeeInput::l1_pegged(self.l1_gas_price, self.fair_l2_gas_price), + fee_input: self.fee_input, fee_account: self.fee_account, enforced_base_fee: None, first_l2_block: first_miniblock_info, diff --git a/core/lib/zksync_core/src/state_keeper/updates/mod.rs b/core/lib/zksync_core/src/state_keeper/updates/mod.rs index c17eebab114d..7718882af283 100644 --- a/core/lib/zksync_core/src/state_keeper/updates/mod.rs +++ b/core/lib/zksync_core/src/state_keeper/updates/mod.rs @@ -4,7 +4,8 @@ use multivm::{ }; use zksync_contracts::BaseSystemContractsHashes; use zksync_types::{ - block::BlockGasCount, storage_writes_deduplicator::StorageWritesDeduplicator, + block::BlockGasCount, fee_model::BatchFeeInput, + storage_writes_deduplicator::StorageWritesDeduplicator, tx::tx_execution_info::ExecutionMetrics, vm_trace::Call, Address, L1BatchNumber, MiniblockNumber, ProtocolVersionId, Transaction, }; @@ -25,8 +26,7 @@ pub mod miniblock_updates; #[derive(Debug, Clone, PartialEq)] pub struct UpdatesManager { batch_timestamp: u64, - l1_gas_price: u64, - fair_l2_gas_price: u64, + batch_fee_input: BatchFeeInput, base_fee_per_gas: u64, base_system_contract_hashes: BaseSystemContractsHashes, protocol_version: ProtocolVersionId, @@ -43,8 +43,7 @@ impl UpdatesManager { ) -> Self { Self { batch_timestamp: l1_batch_env.timestamp, - l1_gas_price: l1_batch_env.fee_input.l1_gas_price(), - fair_l2_gas_price: l1_batch_env.fee_input.fair_l2_gas_price(), + batch_fee_input: l1_batch_env.fee_input, base_fee_per_gas: get_batch_base_fee(&l1_batch_env, protocol_version.into()), protocol_version, base_system_contract_hashes, @@ -69,11 +68,11 @@ impl UpdatesManager { } pub(crate) fn l1_gas_price(&self) -> u64 { - self.l1_gas_price + self.batch_fee_input.l1_gas_price() } pub(crate) fn fair_l2_gas_price(&self) -> u64 { - self.fair_l2_gas_price + self.batch_fee_input.fair_l2_gas_price() } pub(crate) fn seal_miniblock_command( @@ -88,8 +87,7 @@ impl UpdatesManager { miniblock_number, miniblock: self.miniblock.clone(), first_tx_index: self.l1_batch.executed_transactions.len(), - l1_gas_price: self.l1_gas_price, - fair_l2_gas_price: self.fair_l2_gas_price, + fee_input: self.batch_fee_input, base_fee_per_gas: self.base_fee_per_gas, base_system_contracts_hashes: self.base_system_contract_hashes, protocol_version: Some(self.protocol_version), @@ -174,8 +172,7 @@ pub(crate) struct MiniblockSealCommand { pub miniblock_number: MiniblockNumber, pub miniblock: MiniblockUpdates, pub first_tx_index: usize, - pub l1_gas_price: u64, - pub fair_l2_gas_price: u64, + pub fee_input: BatchFeeInput, pub base_fee_per_gas: u64, pub base_system_contracts_hashes: BaseSystemContractsHashes, pub protocol_version: Option, diff --git a/core/lib/zksync_core/src/sync_layer/external_io.rs b/core/lib/zksync_core/src/sync_layer/external_io.rs index 5c09cba7ad75..c6098c65a437 100644 --- a/core/lib/zksync_core/src/sync_layer/external_io.rs +++ b/core/lib/zksync_core/src/sync_layer/external_io.rs @@ -314,6 +314,7 @@ impl StateKeeperIO for ExternalIO { timestamp, l1_gas_price, l2_fair_gas_price, + fair_pubdata_price, operator_address, protocol_version, first_miniblock_info: (miniblock_number, virtual_blocks), @@ -340,7 +341,12 @@ impl StateKeeperIO for ExternalIO { operator_address, timestamp, previous_l1_batch_hash, - BatchFeeInput::l1_pegged(l1_gas_price, l2_fair_gas_price), + BatchFeeInput::for_protocol_version( + protocol_version, + l2_fair_gas_price, + fair_pubdata_price, + l1_gas_price, + ), miniblock_number, previous_miniblock_hash, base_system_contracts, diff --git a/core/lib/zksync_core/src/sync_layer/fetcher.rs b/core/lib/zksync_core/src/sync_layer/fetcher.rs index 1f4f7bea810c..98e0a025ea80 100644 --- a/core/lib/zksync_core/src/sync_layer/fetcher.rs +++ b/core/lib/zksync_core/src/sync_layer/fetcher.rs @@ -31,6 +31,7 @@ pub(crate) struct FetchedBlock { pub reference_hash: Option, pub l1_gas_price: u64, pub l2_fair_gas_price: u64, + pub fair_pubdata_price: Option, pub virtual_blocks: u32, pub operator_address: Address, pub transactions: Vec, @@ -59,6 +60,7 @@ impl TryFrom for FetchedBlock { reference_hash: block.hash, l1_gas_price: block.l1_gas_price, l2_fair_gas_price: block.l2_fair_gas_price, + fair_pubdata_price: block.fair_pubdata_price, virtual_blocks: block.virtual_blocks.unwrap_or(0), operator_address: block.operator_address, transactions: block @@ -155,6 +157,7 @@ impl FetcherCursor { timestamp: block.timestamp, l1_gas_price: block.l1_gas_price, l2_fair_gas_price: block.l2_fair_gas_price, + fair_pubdata_price: block.fair_pubdata_price, operator_address: block.operator_address, protocol_version: block.protocol_version, // `block.virtual_blocks` can be `None` only for old VM versions where it's not used, so it's fine to provide any number. diff --git a/core/lib/zksync_core/src/sync_layer/gossip/conversions.rs b/core/lib/zksync_core/src/sync_layer/gossip/conversions.rs new file mode 100644 index 000000000000..de9f00093fa9 --- /dev/null +++ b/core/lib/zksync_core/src/sync_layer/gossip/conversions.rs @@ -0,0 +1,38 @@ +//! Conversion logic between server and consensus types. +use anyhow::Context as _; +use zksync_consensus_roles::validator::FinalBlock; +use zksync_dal::blocks_dal::ConsensusBlockFields; +use zksync_types::MiniblockNumber; + +use crate::{consensus, sync_layer::fetcher::FetchedBlock}; + +impl FetchedBlock { + pub(super) fn from_gossip_block( + block: &FinalBlock, + last_in_batch: bool, + ) -> anyhow::Result { + let number = u32::try_from(block.header.number.0) + .context("Integer overflow converting block number")?; + let payload = consensus::Payload::decode(&block.payload) + .context("Failed deserializing block payload")?; + + Ok(Self { + number: MiniblockNumber(number), + l1_batch_number: payload.l1_batch_number, + last_in_batch, + protocol_version: payload.protocol_version, + timestamp: payload.timestamp, + reference_hash: Some(payload.hash), + l1_gas_price: payload.l1_gas_price, + l2_fair_gas_price: payload.l2_fair_gas_price, + fair_pubdata_price: payload.fair_pubdata_price, + virtual_blocks: payload.virtual_blocks, + operator_address: payload.operator_address, + transactions: payload.transactions, + consensus: Some(ConsensusBlockFields { + parent: block.header.parent, + justification: block.justification.clone(), + }), + }) + } +} diff --git a/core/lib/zksync_core/src/sync_layer/sync_action.rs b/core/lib/zksync_core/src/sync_layer/sync_action.rs index 52914577373f..abaa1d933591 100644 --- a/core/lib/zksync_core/src/sync_layer/sync_action.rs +++ b/core/lib/zksync_core/src/sync_layer/sync_action.rs @@ -129,6 +129,7 @@ pub(crate) enum SyncAction { timestamp: u64, l1_gas_price: u64, l2_fair_gas_price: u64, + fair_pubdata_price: Option, operator_address: Address, protocol_version: ProtocolVersionId, // Miniblock number and virtual blocks count. @@ -170,6 +171,7 @@ mod tests { timestamp: 1, l1_gas_price: 1, l2_fair_gas_price: 1, + fair_pubdata_price: Some(1), operator_address: Default::default(), protocol_version: ProtocolVersionId::latest(), first_miniblock_info: (1.into(), 1), diff --git a/core/lib/zksync_core/src/sync_layer/tests.rs b/core/lib/zksync_core/src/sync_layer/tests.rs index 848ce625ad70..3e508accefc0 100644 --- a/core/lib/zksync_core/src/sync_layer/tests.rs +++ b/core/lib/zksync_core/src/sync_layer/tests.rs @@ -10,6 +10,7 @@ use tokio::{sync::watch, task::JoinHandle}; use zksync_config::configs::chain::NetworkConfig; use zksync_dal::{ConnectionPool, StorageProcessor}; use zksync_types::{ + fee_model::{BatchFeeInput, PubdataIndependentBatchFeeModelInput}, Address, L1BatchNumber, L2ChainId, MiniblockNumber, ProtocolVersionId, Transaction, H256, }; @@ -35,6 +36,7 @@ fn open_l1_batch(number: u32, timestamp: u64, first_miniblock_number: u32) -> Sy timestamp, l1_gas_price: 2, l2_fair_gas_price: 3, + fair_pubdata_price: Some(4), operator_address: OPERATOR_ADDRESS, protocol_version: ProtocolVersionId::latest(), first_miniblock_info: (MiniblockNumber(first_miniblock_number), 1), @@ -165,8 +167,15 @@ async fn external_io_basics() { .unwrap() .expect("Miniblock #1 is not persisted"); assert_eq!(miniblock.timestamp, 1); - assert_eq!(miniblock.batch_fee_input.l1_gas_price(), 2); - assert_eq!(miniblock.batch_fee_input.fair_l2_gas_price(), 3); + + let expected_fee_input = + BatchFeeInput::PubdataIndependent(PubdataIndependentBatchFeeModelInput { + fair_l2_gas_price: 3, + fair_pubdata_price: 4, + l1_gas_price: 2, + }); + + assert_eq!(miniblock.batch_fee_input, expected_fee_input); assert_eq!(miniblock.l1_tx_count, 0); assert_eq!(miniblock.l2_tx_count, 1); diff --git a/core/lib/zksync_core/src/utils/testonly.rs b/core/lib/zksync_core/src/utils/testonly.rs index e6f50de91742..e6883f2585e8 100644 --- a/core/lib/zksync_core/src/utils/testonly.rs +++ b/core/lib/zksync_core/src/utils/testonly.rs @@ -1,5 +1,6 @@ //! Test utils. +use multivm::utils::get_max_gas_per_pubdata_byte; use zksync_contracts::BaseSystemContractsHashes; use zksync_dal::StorageProcessor; use zksync_merkle_tree::{domain::ZkSyncTree, TreeInstruction}; @@ -28,6 +29,7 @@ pub(crate) fn create_miniblock(number: u32) -> MiniblockHeader { l2_tx_count: 0, base_fee_per_gas: 100, batch_fee_input: BatchFeeInput::l1_pegged(100, 100), + gas_per_pubdata_limit: get_max_gas_per_pubdata_byte(ProtocolVersionId::latest().into()), base_system_contracts_hashes: BaseSystemContractsHashes::default(), protocol_version: Some(ProtocolVersionId::latest()), virtual_blocks: 1, diff --git a/core/tests/ts-integration/tests/api/web3.test.ts b/core/tests/ts-integration/tests/api/web3.test.ts index 000b61276be3..f8d0ea284df5 100644 --- a/core/tests/ts-integration/tests/api/web3.test.ts +++ b/core/tests/ts-integration/tests/api/web3.test.ts @@ -787,7 +787,7 @@ describe('web3 API compatibility tests', () => { test('Should check transaction signature', async () => { const CHAIN_ID = +process.env.CHAIN_ETH_ZKSYNC_NETWORK_ID!; const value = 1; - const gasLimit = 300000; + const gasLimit = 350000; const gasPrice = await alice.provider.getGasPrice(); const data = '0x'; const to = alice.address; diff --git a/core/tests/ts-integration/tests/fees.test.ts b/core/tests/ts-integration/tests/fees.test.ts index 3ee5b9780a58..6041ec8c2b23 100644 --- a/core/tests/ts-integration/tests/fees.test.ts +++ b/core/tests/ts-integration/tests/fees.test.ts @@ -10,12 +10,15 @@ * */ import * as utils from 'zk/build/utils'; +import * as fs from 'fs'; import { TestMaster } from '../src/index'; import * as zksync from 'zksync-web3'; import { BigNumber, ethers } from 'ethers'; import { Token } from '../src/types'; +const logs = fs.createWriteStream('fees.log', { flags: 'a' }); + // Unless `RUN_FEE_TEST` is provided, skip the test suit const testFees = process.env.RUN_FEE_TEST ? describe : describe.skip; @@ -73,23 +76,51 @@ testFees('Test fees', () => { }) ).wait(); - let reports = ['ETH transfer:\n\n', 'ERC20 transfer:\n\n']; + // Warming up slots for the receiver + await ( + await alice.sendTransaction({ + to: receiver, + value: BigNumber.from(1) + }) + ).wait(); + + await ( + await alice.sendTransaction({ + data: aliceErc20.interface.encodeFunctionData('transfer', [receiver, BigNumber.from(1)]), + to: tokenDetails.l2Address + }) + ).wait(); + + let reports = [ + 'ETH transfer (to new):\n\n', + 'ETH transfer (to old):\n\n', + 'ERC20 transfer (to new):\n\n', + 'ERC20 transfer (to old):\n\n' + ]; for (const gasPrice of L1_GAS_PRICES_TO_TEST) { reports = await appendResults( alice, - [feeTestL1Receipt, feeTestL1ReceiptERC20], + [feeTestL1Receipt, feeTestL1Receipt, feeTestL1ReceiptERC20, feeTestL1ReceiptERC20], // We always regenerate new addresses for transaction requests in order to estimate the cost for a new account [ { to: ethers.Wallet.createRandom().address, value: BigNumber.from(1) }, + { + to: receiver, + value: BigNumber.from(1) + }, { data: aliceErc20.interface.encodeFunctionData('transfer', [ ethers.Wallet.createRandom().address, BigNumber.from(1) ]), to: tokenDetails.l2Address + }, + { + data: aliceErc20.interface.encodeFunctionData('transfer', [receiver, BigNumber.from(1)]), + to: tokenDetails.l2Address } ], gasPrice, @@ -147,7 +178,9 @@ async function updateReport( const estimatedPrice = estimatedL2GasPrice.mul(estimatedL2GasLimit); const balanceBefore = await sender.getBalance(); - await (await sender.sendTransaction(transactionRequest)).wait(); + const transaction = await sender.sendTransaction(transactionRequest); + console.log(`Sending transaction: ${transaction.hash}`); + await transaction.wait(); const balanceAfter = await sender.getBalance(); const balanceDiff = balanceBefore.sub(balanceAfter); @@ -193,9 +226,10 @@ async function setInternalL1GasPrice(provider: zksync.Provider, newPrice?: strin let command = 'zk server --components api,tree,eth,state_keeper'; command = `DATABASE_MERKLE_TREE_MODE=full ${command}`; if (newPrice) { - command = `ETH_SENDER_GAS_ADJUSTER_INTERNAL_ENFORCED_L1_GAS_PRICE=${newPrice} ${command}`; + // We need to ensure that each transaction gets into its own batch for more fair comparison. + command = `CHAIN_STATE_KEEPER_TRANSACTION_SLOTS=1 ETH_SENDER_GAS_ADJUSTER_INTERNAL_ENFORCED_L1_GAS_PRICE=${newPrice} ${command}`; } - const zkSyncServer = utils.background(command, 'ignore'); + const zkSyncServer = utils.background(command, [null, logs, logs]); if (disconnect) { zkSyncServer.unref(); diff --git a/core/tests/ts-integration/tests/l1.test.ts b/core/tests/ts-integration/tests/l1.test.ts index a1ef9564bd98..c0a846407943 100644 --- a/core/tests/ts-integration/tests/l1.test.ts +++ b/core/tests/ts-integration/tests/l1.test.ts @@ -278,7 +278,7 @@ describe('Tests for L1 behavior', () => { } const contract = await deployContract(alice, contracts.writesAndMessages, []); - const MAX_PUBDATA_PER_BATCH = ethers.BigNumber.from(SYSTEM_CONFIG['MAX_PUBDATA_PER_BATCH']); + const MAX_PUBDATA_PER_BATCH = ethers.BigNumber.from(SYSTEM_CONFIG['PRIORITY_TX_PUBDATA_PER_BATCH']); // We check that we will run out of gas if we send a bit // smaller than `MAX_PUBDATA_PER_BATCH` amount of pubdata in a single tx. const calldata = contract.interface.encodeFunctionData('big_l2_l1_message', [ @@ -338,60 +338,16 @@ function maxL2GasLimitForPriorityTxs(): number { let maxGasBodyLimit = +process.env.CONTRACTS_PRIORITY_TX_MAX_GAS_LIMIT!; const overhead = getOverheadForTransaction( - ethers.BigNumber.from(maxGasBodyLimit), - ethers.BigNumber.from(zksync.utils.REQUIRED_L1_TO_L2_GAS_PER_PUBDATA_LIMIT), - // We can just pass 0 as `encodingLength` because `overheadForPublicData` and `overheadForGas` - // will be greater than `overheadForLength` for large `gasLimit`. + // We can just pass 0 as `encodingLength` because the overhead for the transaction's slot + // will be greater than `overheadForLength` for a typical transacction ethers.BigNumber.from(0) ); return maxGasBodyLimit + overhead; } -function getOverheadForTransaction( - bodyGasLimit: ethers.BigNumber, - gasPricePerPubdata: ethers.BigNumber, - encodingLength: ethers.BigNumber -): number { - const BATCH_OVERHEAD_L2_GAS = ethers.BigNumber.from(SYSTEM_CONFIG['BATCH_OVERHEAD_L2_GAS']); - const L1_GAS_PER_PUBDATA_BYTE = ethers.BigNumber.from(SYSTEM_CONFIG['L1_GAS_PER_PUBDATA_BYTE']); - const BATCH_OVERHEAD_L1_GAS = ethers.BigNumber.from(SYSTEM_CONFIG['BATCH_OVERHEAD_L1_GAS']); - const BATCH_OVERHEAD_PUBDATA = BATCH_OVERHEAD_L1_GAS.div(L1_GAS_PER_PUBDATA_BYTE); - - const MAX_TRANSACTIONS_IN_BATCH = ethers.BigNumber.from(SYSTEM_CONFIG['MAX_TRANSACTIONS_IN_BATCH']); - const BOOTLOADER_TX_ENCODING_SPACE = ethers.BigNumber.from(SYSTEM_CONFIG['BOOTLOADER_TX_ENCODING_SPACE']); - // TODO (EVM-67): possibly charge overhead for pubdata - // const MAX_PUBDATA_PER_BATCH = ethers.BigNumber.from(SYSTEM_CONFIG['MAX_PUBDATA_PER_BATCH']); - const L2_TX_MAX_GAS_LIMIT = ethers.BigNumber.from(SYSTEM_CONFIG['L2_TX_MAX_GAS_LIMIT']); - - const maxBlockOverhead = BATCH_OVERHEAD_L2_GAS.add(BATCH_OVERHEAD_PUBDATA.mul(gasPricePerPubdata)); - - // The overhead from taking up the transaction's slot - const txSlotOverhead = ceilDiv(maxBlockOverhead, MAX_TRANSACTIONS_IN_BATCH); - let blockOverheadForTransaction = txSlotOverhead; - - // The overhead for occupying the bootloader memory can be derived from encoded_len - const overheadForLength = ceilDiv(encodingLength.mul(maxBlockOverhead), BOOTLOADER_TX_ENCODING_SPACE); - if (overheadForLength.gt(blockOverheadForTransaction)) { - blockOverheadForTransaction = overheadForLength; - } - - // The overhead for possible published public data - // TODO (EVM-67): possibly charge overhead for pubdata - // let maxPubdataInTx = ceilDiv(bodyGasLimit, gasPricePerPubdata); - // let overheadForPublicData = ceilDiv(maxPubdataInTx.mul(maxBlockOverhead), MAX_PUBDATA_PER_BATCH); - // if (overheadForPublicData.gt(blockOverheadForTransaction)) { - // blockOverheadForTransaction = overheadForPublicData; - // } - - // The overhead for gas that could be used to use single-instance circuits - let overheadForSingleInstanceCircuits = ceilDiv(bodyGasLimit.mul(maxBlockOverhead), L2_TX_MAX_GAS_LIMIT); - if (overheadForSingleInstanceCircuits.gt(blockOverheadForTransaction)) { - blockOverheadForTransaction = overheadForSingleInstanceCircuits; - } - - return blockOverheadForTransaction.toNumber(); -} +function getOverheadForTransaction(encodingLength: ethers.BigNumber): number { + const TX_SLOT_OVERHEAD_GAS = 10_000; + const TX_LENGTH_BYTE_OVERHEAD_GAS = 10; -function ceilDiv(a: ethers.BigNumber, b: ethers.BigNumber): ethers.BigNumber { - return a.add(b.sub(1)).div(b); + return Math.max(TX_SLOT_OVERHEAD_GAS, TX_LENGTH_BYTE_OVERHEAD_GAS * encodingLength.toNumber()); } diff --git a/core/tests/vm-benchmark/harness/src/lib.rs b/core/tests/vm-benchmark/harness/src/lib.rs index 9b4081dc69ae..e4f26a20f497 100644 --- a/core/tests/vm-benchmark/harness/src/lib.rs +++ b/core/tests/vm-benchmark/harness/src/lib.rs @@ -4,12 +4,12 @@ use multivm::{ interface::{ L2BlockEnv, TxExecutionMode, VmExecutionMode, VmExecutionResultAndLogs, VmInterface, }, + utils::get_max_gas_per_pubdata_byte, vm_latest::{constants::BLOCK_GAS_LIMIT, HistoryEnabled, Vm}, }; use once_cell::sync::Lazy; use zksync_contracts::{deployer_contract, BaseSystemContracts}; use zksync_state::{InMemoryStorage, StorageView}; -use zksync_system_constants::ethereum::MAX_GAS_PER_PUBDATA_BYTE; use zksync_types::{ block::MiniblockHasher, ethabi::{encode, Token}, @@ -122,7 +122,9 @@ pub fn get_deploy_tx(code: &[u8]) -> Transaction { gas_limit: U256::from(30000000u32), max_fee_per_gas: U256::from(250_000_000), max_priority_fee_per_gas: U256::from(0), - gas_per_pubdata_limit: U256::from(MAX_GAS_PER_PUBDATA_BYTE), + gas_per_pubdata_limit: U256::from(get_max_gas_per_pubdata_byte( + ProtocolVersionId::latest().into(), + )), }, U256::zero(), L2ChainId::from(270), diff --git a/etc/commitment_tests/zksync_testharness_test.json b/etc/commitment_tests/zksync_testharness_test.json index 6f5730144a02..da4f5503878d 100644 --- a/etc/commitment_tests/zksync_testharness_test.json +++ b/etc/commitment_tests/zksync_testharness_test.json @@ -67,8 +67,8 @@ "pass_through_hash": "0x1c695ec7d7944f720a2c0fc6b5651cbd3178967407bc4df579a15985652350e9", "meta_params_bytes": "000100037723960c07cda7251089daffbdd567476a7e31971ff801568a3856e8e8010006699c833b654b365f0e3ce866c394626d5e40461a6868809d452738606f", "meta_params_hash": "0x57404e50342edcd09180fb27fa49634676f71a3ce1a76e9b3edf6185bf164082", - "auxiliary_bytes": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "auxiliary_hash": "0x7c613c82ec911cf56dd6241854dd87bd538e0201f4ff0735f56a1a013db6466a", - "commitment_hash": "0xea55acb8903f82e4cfedd2041ce2db2f3b77741b6e35bc90a4f0a11e9526bfc2" + "auxiliary_bytes": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "auxiliary_hash": "0xc80c4621670dfbae60a5878a224bf9515d566e341eacc6339b5256899cd70b77", + "commitment_hash": "0x35ec1c1af30b41260459f0fef16248b8702d443fb027f9b483c2a71791c136db" } } diff --git a/etc/env/base/api.toml b/etc/env/base/api.toml index 186e2cfb2b0e..1c5d906603fb 100644 --- a/etc/env/base/api.toml +++ b/etc/env/base/api.toml @@ -17,6 +17,7 @@ pubsub_polling_interval=200 threads_per_server=128 max_nonce_ahead=50 gas_price_scale_factor=1.2 +l1_to_l2_transactions_compatibility_mode=true request_timeout=10 account_pks=[ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", diff --git a/etc/env/base/chain.toml b/etc/env/base/chain.toml index db9d87107c41..181c7cc86321 100644 --- a/etc/env/base/chain.toml +++ b/etc/env/base/chain.toml @@ -45,8 +45,37 @@ reject_tx_at_eth_params_percentage=0.95 # it takes more percentage of the max block gas capacity than this value. reject_tx_at_gas_percentage=0.95 -# The price the operator spends on 1 gas of computation in wei. -fair_l2_gas_price=250000000 +# The minimal acceptable L2 gas price, i.e. the price that should include the cost of computation/proving as well +# as potentially premium for congestion. +minimal_l2_gas_price=100000000 + +# The constant that represents the possibility that a batch can be sealed because of overuse of computation resources. +# It has range from 0 to 1. If it is 0, the compute will not depend on the cost for closing the batch. +# If it is 1, the gas limit per batch will have to cover the entire cost of closing the batch. +compute_overhead_part=0.0 + +# The constant that represents the possibility that a batch can be sealed because of overuse of pubdata. +# It has range from 0 to 1. If it is 0, the pubdata will not depend on the cost for closing the batch. +# If it is 1, the pubdata limit per batch will have to cover the entire cost of closing the batch. +pubdata_overhead_part=1.0 + +# The constant amount of L1 gas that is used as the overhead for the batch. It includes the price for batch verification, etc. +batch_overhead_l1_gas=800000 + +# The maximum amount of gas that can be used by the batch. This value is derived from the circuits limitation per batch. +max_gas_per_batch=200000000 + +# The maximum amount of pubdata that can be used by the batch. Note that if the calldata is used as pubdata, this variable should not exceed 128kb. +max_pubdata_per_batch=100000 + +# The version of the fee model to use. +# - `V1`, the first model that was used in zkSync Era. In this fee model, the pubdata price must be pegged to the L1 gas price. +# Also, the fair L2 gas price is expected to only include the proving/computation price for the operator and not the costs that come from +# processing the batch on L1. +# - `V2`, the second model that was used in zkSync Era. There the pubdata price might be independent from the L1 gas price. Also, +# The fair L2 gas price is expected to both the proving/computation price for the operator and the costs that come from +# processing the batch on L1. +fee_model_version="V1" # Max number of computational gas that validation step is allowed to take. validation_computational_gas_limit=300000 diff --git a/etc/env/base/contracts.toml b/etc/env/base/contracts.toml index 0a3b535f3bc3..bfc9b82aa715 100644 --- a/etc/env/base/contracts.toml +++ b/etc/env/base/contracts.toml @@ -38,10 +38,10 @@ L1_WETH_TOKEN_ADDR="0x5E6D086F5eC079ADFF4FB3774CDf3e8D6a34F7E9" L2_WETH_BRIDGE_ADDR="0x5E6D086F5eC079ADFF4FB3774CDf3e8D6a34F7E9" L2_WETH_TOKEN_IMPL_ADDR="0x5E6D086F5eC079ADFF4FB3774CDf3e8D6a34F7E9" L2_WETH_TOKEN_PROXY_ADDR="0x5E6D086F5eC079ADFF4FB3774CDf3e8D6a34F7E9" -FRI_RECURSION_LEAF_LEVEL_VK_HASH ="0x14628525c227822148e718ca1138acfc6d25e759e19452455d89f7f610c3dcb8" +FRI_RECURSION_LEAF_LEVEL_VK_HASH ="0x062362cb3eaf1f631406cbe19bf2a2c5d0d9ea69d069309a6003addae9f387be" FRI_RECURSION_NODE_LEVEL_VK_HASH ="0x5a3ef282b21e12fe1f4438e5bb158fc5060b160559c5158c6389d62d9fe3d080" -FRI_RECURSION_SCHEDULER_LEVEL_VK_HASH ="0x61ed1ea338680a9f83945b300a4a4778dd76d74a015b43a3e9b7fedba914a3d0" -SNARK_WRAPPER_VK_HASH = "0x750d8e21be7555a6841472a5cacd24c75a7ceb34261aea61e72bb7423a7d30fc" +FRI_RECURSION_SCHEDULER_LEVEL_VK_HASH ="0xf12256f7ba1ab223ba82abb19c8366c6677596897f9e5a82016977113e52ed5d" +SNARK_WRAPPER_VK_HASH = "0x8574e152c41dc39a2ecab984545e1cf21cb3ec250b919018a8053f2fa270784f" # Prover that should be used at genesis. 'fri' or 'snark' PROVER_AT_GENESIS="fri" diff --git a/etc/multivm_bootloaders/vm_1_4_1/fee_estimate.yul/fee_estimate.yul.zbin b/etc/multivm_bootloaders/vm_1_4_1/fee_estimate.yul/fee_estimate.yul.zbin new file mode 100644 index 000000000000..a020cd118c7a Binary files /dev/null and b/etc/multivm_bootloaders/vm_1_4_1/fee_estimate.yul/fee_estimate.yul.zbin differ diff --git a/etc/multivm_bootloaders/vm_1_4_1/gas_test.yul/gas_test.yul.zbin b/etc/multivm_bootloaders/vm_1_4_1/gas_test.yul/gas_test.yul.zbin new file mode 100644 index 000000000000..ad090f3d214f Binary files /dev/null and b/etc/multivm_bootloaders/vm_1_4_1/gas_test.yul/gas_test.yul.zbin differ diff --git a/etc/multivm_bootloaders/vm_1_4_1/playground_batch.yul/playground_batch.yul.zbin b/etc/multivm_bootloaders/vm_1_4_1/playground_batch.yul/playground_batch.yul.zbin new file mode 100644 index 000000000000..fc5bd1542439 Binary files /dev/null and b/etc/multivm_bootloaders/vm_1_4_1/playground_batch.yul/playground_batch.yul.zbin differ diff --git a/etc/multivm_bootloaders/vm_1_4_1/proved_batch.yul/proved_batch.yul.zbin b/etc/multivm_bootloaders/vm_1_4_1/proved_batch.yul/proved_batch.yul.zbin new file mode 100644 index 000000000000..1ad3bd50502a Binary files /dev/null and b/etc/multivm_bootloaders/vm_1_4_1/proved_batch.yul/proved_batch.yul.zbin differ diff --git a/infrastructure/protocol-upgrade/src/transaction.ts b/infrastructure/protocol-upgrade/src/transaction.ts index e147a02c740c..2735f21c8351 100644 --- a/infrastructure/protocol-upgrade/src/transaction.ts +++ b/infrastructure/protocol-upgrade/src/transaction.ts @@ -523,6 +523,11 @@ command .option('--zksync-address ') .option('--use-new-governance') .action(async (options) => { + if (!options.useNewGovernance) { + // TODO(X): remove old governance functionality from the protocol upgrade tool + throw new Error('Old governance is not supported anymore'); + } + let diamondUpgradeProposalId = options.diamondUpgradeProposalId; if (!diamondUpgradeProposalId && !options.useNewGovernance) { diamondUpgradeProposalId = await getNewDiamondUpgradeProposalId(options.l1rpc, options.zksyncAddress); @@ -550,6 +555,11 @@ command .option('--l1rpc ') .option('--new-governance ') .action(async (options) => { + if (!options.newGovernance) { + // TODO(X): remove old governance functionality from the protocol upgrade tool + throw new Error('Old governance is not supported anymore'); + } + await proposeUpgrade( options.privateKey, options.l1rpc, @@ -571,6 +581,11 @@ command .option('--l1rpc ') .option('--new-governance ') .action(async (options) => { + if (!options.newGovernance) { + // TODO(X): remove old governance functionality from the protocol upgrade tool + throw new Error('Old governance is not supported anymore'); + } + await executeUpgrade( options.privateKey, options.l1rpc, @@ -593,6 +608,11 @@ command .option('--execute') .option('--new-governance ') .action(async (options) => { + if (!options.newGovernance) { + // TODO(X): remove old governance functionality from the protocol upgrade tool + throw new Error('Old governance is not supported anymore'); + } + await cancelUpgrade( options.privateKey, options.l1rpc, diff --git a/infrastructure/zk/src/utils.ts b/infrastructure/zk/src/utils.ts index 47f843fa3bad..777eec2a2141 100644 --- a/infrastructure/zk/src/utils.ts +++ b/infrastructure/zk/src/utils.ts @@ -22,7 +22,8 @@ const IGNORED_DIRS = [ 'binaryen', 'system-contracts', 'artifacts-zk', - 'cache-zk' + 'cache-zk', + 'contracts/l1-contracts/lib' ]; const IGNORED_FILES = ['KeysWithPlonkVerifier.sol', 'TokenInit.sol', '.tslintrc.js']; diff --git a/prover/Cargo.lock b/prover/Cargo.lock index edd6e8280b77..bf566686a31c 100644 --- a/prover/Cargo.lock +++ b/prover/Cargo.lock @@ -77,19 +77,19 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", "zerocopy", @@ -148,9 +148,9 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "arr_macro" @@ -169,7 +169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609c78bd572f4edc74310dfb63a01f5609d53fa8b4dd7c4d98aef3b3e8d72d1" dependencies = [ "proc-macro-hack", - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -217,20 +217,20 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -299,6 +299,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.13.1" @@ -307,9 +313,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" [[package]] name = "base64ct" @@ -335,7 +341,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.29", + "futures 0.3.30", "hex", "lazy_static", "num_cpus", @@ -358,7 +364,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.29", + "futures 0.3.30", "hex", "lazy_static", "num_cpus", @@ -403,12 +409,12 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.39", + "syn 2.0.48", ] [[package]] @@ -425,12 +431,12 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.39", + "syn 2.0.48", "which", ] @@ -611,15 +617,15 @@ dependencies = [ [[package]] name = "boojum" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum?branch=main#84754b066959c8fdfb77edf730fc13ed87404907" +source = "git+https://github.com/matter-labs/era-boojum?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "arrayvec 0.7.4", "bincode", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "const_format", "convert_case 0.6.0", - "crossbeam 0.8.2", - "crypto-bigint 0.5.4", + "crossbeam 0.8.4", + "crypto-bigint 0.5.5", "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum?branch=main)", "derivative", "ethereum-types 0.14.1", @@ -643,21 +649,21 @@ dependencies = [ [[package]] name = "boojum-cuda" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum-cuda?branch=main#6731d9a8d0c439a4fa3cde14b494c9eca642bb2e" +source = "git+https://github.com/matter-labs/era-boojum-cuda?branch=main#9df96d38a608b1aa78cd824d54112cd17b0d2537" dependencies = [ "boojum", "cmake", "cudart", "cudart-sys", - "itertools 0.11.0", + "itertools 0.12.0", "lazy_static", ] [[package]] name = "borsh" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d4d6dafc1a3bb54687538972158f07b2c948bc57d5890df22c0739098b3028" +checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667" dependencies = [ "borsh-derive", "cfg_aliases", @@ -665,15 +671,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0" +checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd" dependencies = [ "once_cell", - "proc-macro-crate 2.0.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro-crate 3.0.0", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", "syn_derive", ] @@ -706,8 +712,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -751,9 +757,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" +checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" dependencies = [ "serde", ] @@ -779,10 +785,11 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.84" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] @@ -825,7 +832,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -867,15 +874,29 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#d2e3670e0c5115b7cc7cc24e6d3dbdd17a214aad" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#fb47657ae3b6ff6e4bb5199964d3d37212978200" dependencies = [ - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", "zk_evm 1.4.0", - "zkevm_circuits", + "zkevm_circuits 1.4.0", +] + +[[package]] +name = "circuit_definitions" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#44975f894aff0893b5f98e34d0e364375390bcb8" +dependencies = [ + "crossbeam 0.8.4", + "derivative", + "seq-macro", + "serde", + "snark_wrapper", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1", ] [[package]] @@ -888,9 +909,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", @@ -914,18 +935,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.8" +version = "4.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +checksum = "33e92c5c1a78c62968ec57dbc2440366a2d6e5a23faf829970ff1585dc6b18e2" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.8" +version = "4.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +checksum = "f4323769dc8a61e2c39ad7dc26f6f2800524691a44d74fe3d1071a5c24db6370" dependencies = [ "anstyle", "clap_lex", @@ -1003,9 +1024,9 @@ checksum = "5241cd7938b1b415942e943ea96f615953d500b50347b505b0b507080bad5a6f" [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" @@ -1022,8 +1043,8 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "unicode-xid 0.2.4", ] @@ -1050,9 +1071,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1060,15 +1081,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -1106,7 +1127,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.4.8", + "clap 4.4.14", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -1149,16 +1170,15 @@ dependencies = [ [[package]] name = "crossbeam" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-channel 0.5.8", - "crossbeam-deque 0.8.3", - "crossbeam-epoch 0.9.15", - "crossbeam-queue 0.3.8", - "crossbeam-utils 0.8.16", + "crossbeam-channel 0.5.11", + "crossbeam-deque 0.8.5", + "crossbeam-epoch 0.9.18", + "crossbeam-queue 0.3.11", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1173,12 +1193,11 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1194,13 +1213,12 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch 0.9.15", - "crossbeam-utils 0.8.16", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1214,21 +1232,17 @@ dependencies = [ "crossbeam-utils 0.7.2", "lazy_static", "maybe-uninit", - "memoffset 0.5.6", + "memoffset", "scopeguard", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg 1.1.0", - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", - "memoffset 0.9.0", - "scopeguard", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1244,12 +1258,11 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1265,12 +1278,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1292,12 +1302,14 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28f85c3514d2a6e64160359b45a3918c3b4178bcbf4ae5d03ab2d02e521c479a" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ + "generic-array", "rand_core 0.6.4", "subtle", + "zeroize", ] [[package]] @@ -1333,11 +1345,11 @@ dependencies = [ [[package]] name = "cs_derive" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum?branch=main#84754b066959c8fdfb77edf730fc13ed87404907" +source = "git+https://github.com/matter-labs/era-boojum?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -1347,8 +1359,8 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-sync_vm.git?branch=v1.3.3#ed8ab8984cae05d00d9d62196753c8d40df47c7d" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "serde", "syn 1.0.109", ] @@ -1364,33 +1376,64 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.1" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf" +checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b" dependencies = [ "nix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "cudart" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-cuda?branch=main#492f2afad93ad156ac0cfb69e6efbfc03a7a2652" +source = "git+https://github.com/matter-labs/era-cuda?branch=main#59a4e62e5264d01e84f4ac9d85541bc3e661e9f0" dependencies = [ "bitflags 2.4.1", "criterion", "cudart-sys", + "paste", ] [[package]] name = "cudart-sys" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-cuda?branch=main#492f2afad93ad156ac0cfb69e6efbfc03a7a2652" +source = "git+https://github.com/matter-labs/era-cuda?branch=main#59a4e62e5264d01e84f4ac9d85541bc3e661e9f0" dependencies = [ "bindgen 0.69.1", "serde_json", ] +[[package]] +name = "curl" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2 0.4.10", + "winapi", +] + +[[package]] +name = "curl-sys" +version = "0.4.70+curl-8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0333d8849afe78a4c8102a429a446bfdd055832af071945520e835ae2d841e" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.48.0", +] + [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -1414,9 +1457,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -1437,8 +1480,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "strsim 0.10.0", "syn 1.0.109", ] @@ -1450,7 +1493,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -1461,7 +1504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "lock_api", "once_cell", "parking_lot_core", @@ -1500,9 +1543,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", "serde", @@ -1514,8 +1557,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -1526,8 +1569,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "rustc_version", "syn 1.0.109", ] @@ -1572,11 +1615,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der 0.6.1", - "elliptic-curve", - "rfc6979", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", "signature 1.6.4", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.8", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + [[package]] name = "ed25519" version = "2.2.3" @@ -1617,25 +1674,44 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct", + "base16ct 0.1.1", "crypto-bigint 0.4.9", "der 0.6.1", "digest 0.10.7", - "ff", + "ff 0.12.1", "generic-array", - "group", + "group 0.12.1", "pkcs8 0.9.0", "rand_core 0.6.4", - "sec1", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.0", + "generic-array", + "group 0.13.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", "subtle", "zeroize", ] [[package]] name = "elsa" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714f766f3556b44e7e4776ad133fcc3445a489517c25c704ace411bb14790194" +checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" dependencies = [ "stable_deref_trait", ] @@ -1668,11 +1744,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ - "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] @@ -1692,12 +1764,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1717,7 +1789,7 @@ checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" dependencies = [ "cfg-if 1.0.0", "home", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1813,6 +1885,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "ff_ce" version = "0.14.3" @@ -1835,8 +1917,8 @@ dependencies = [ "num-bigint 0.4.4", "num-integer", "num-traits", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "serde", "syn 1.0.109", ] @@ -1945,9 +2027,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -1985,7 +2067,7 @@ dependencies = [ [[package]] name = "franklin-crypto" version = "0.0.5" -source = "git+https://github.com/matter-labs/franklin-crypto?branch=snark_wrapper#a9e29acd73245bd3b670b62b4d481ece06d43803" +source = "git+https://github.com/matter-labs/franklin-crypto?branch=snark_wrapper#2546c63b91b59bdb0ad342d26f03fb57477550b2" dependencies = [ "arr_macro", "bellman_ce 0.3.2 (git+https://github.com/matter-labs/bellman?branch=snark-wrapper)", @@ -2040,9 +2122,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2055,9 +2137,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2065,15 +2147,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2094,32 +2176,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" @@ -2129,9 +2211,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures 0.1.31", "futures-channel", @@ -2154,6 +2236,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -2169,9 +2252,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if 1.0.0", "libc", @@ -2180,9 +2263,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -2197,7 +2280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1087f1fbd2dd3f58c17c7574ddd99cd61cbbbc2c4dc81114b8687209b196cb" dependencies = [ "async-trait", - "base64 0.21.5", + "base64 0.21.6", "google-cloud-metadata", "google-cloud-token", "home", @@ -2231,7 +2314,7 @@ checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" dependencies = [ "async-stream", "async-trait", - "base64 0.21.5", + "base64 0.21.6", "bytes", "futures-util", "google-cloud-auth", @@ -2243,7 +2326,7 @@ dependencies = [ "pkcs8 0.10.2", "regex", "reqwest", - "ring 0.17.5", + "ring 0.17.7", "serde", "serde_json", "sha2 0.10.8", @@ -2256,9 +2339,9 @@ dependencies = [ [[package]] name = "google-cloud-token" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcd62eb34e3de2f085bcc33a09c3e17c4f65650f36d53eb328b00d63bcb536a" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" dependencies = [ "async-trait", ] @@ -2269,16 +2352,27 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff", + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes", "fnv", @@ -2286,7 +2380,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.1.0", "slab", "tokio", "tokio-util", @@ -2301,9 +2395,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "handlebars" -version = "4.5.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" +checksum = "94eae21d01d20dabef65d8eda734d83df6e2dea8166788804be9bd6bc92448fa" dependencies = [ "log", "pest", @@ -2328,16 +2422,16 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", ] [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", "allocator-api2", ] @@ -2347,7 +2441,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] @@ -2356,7 +2450,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "bytes", "headers-core", "http", @@ -2415,9 +2509,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac 0.12.1", ] @@ -2443,11 +2537,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2463,9 +2557,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95b9abcae896730d42b78e09c155ed4ddf82c07b4de772c64aee5b2d8b7c150" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -2474,9 +2568,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -2503,9 +2597,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -2518,7 +2612,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.5", "tokio", "tower-service", "tracing", @@ -2554,9 +2648,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2591,6 +2685,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "impl-codec" version = "0.5.1" @@ -2606,7 +2710,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec 3.6.5", + "parity-scale-codec 3.6.9", ] [[package]] @@ -2642,8 +2746,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -2664,7 +2768,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] @@ -2684,13 +2788,13 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" dependencies = [ "hermit-abi 0.3.3", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2722,15 +2826,24 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -2741,7 +2854,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.29", + "futures 0.3.30", "futures-executor", "futures-util", "log", @@ -2756,7 +2869,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "pem", "ring 0.16.20", "serde", @@ -2771,9 +2884,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.8", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if 1.0.0", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "once_cell", "sha2 0.10.8", + "signature 2.2.0", ] [[package]] @@ -2802,18 +2929,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.150" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" dependencies = [ "cfg-if 1.0.0", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -2849,40 +2976,41 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.12" +version = "1.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050" dependencies = [ "cc", + "libc", "pkg-config", "vcpkg", ] [[package]] name = "linkme" -version = "0.3.17" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ed2ee9464ff9707af8e9ad834cffa4802f072caad90639c583dd3c62e6e608" +checksum = "8b53ad6a33de58864705954edb5ad5d571a010f9e296865ed43dc72a5621b430" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.17" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396" +checksum = "04e542a18c94a9b6fcc7adb090fa3ba6b79ee220a16404f325672729f32a66ff" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "local-ip-address" @@ -2893,7 +3021,7 @@ dependencies = [ "libc", "neli", "thiserror", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2929,10 +3057,10 @@ checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ "beef", "fnv", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "regex-syntax 0.6.29", - "syn 2.0.39", + "syn 2.0.48", ] [[package]] @@ -2946,9 +3074,9 @@ dependencies = [ [[package]] name = "mach2" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ "libc", ] @@ -2986,9 +3114,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -2999,33 +3127,24 @@ dependencies = [ "autocfg 1.1.0", ] -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg 1.1.0", -] - [[package]] name = "metrics" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde3af1a009ed76a778cb84fdef9e7dbbdf5775ae3e4cc1f434a6a307f6f76c5" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", "metrics-macros", "portable-atomic", ] [[package]] name = "metrics-exporter-prometheus" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5" +checksum = "1d4fa7ce7c4862db464a37b0b31d89bca874562f034bd7993895572783d02950" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "hyper", "indexmap 1.9.3", "ipnet", @@ -3039,13 +3158,13 @@ dependencies = [ [[package]] name = "metrics-macros" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df" +checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3054,8 +3173,8 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4de2ed6e491ed114b40b732e4d1659a9d53992ebd87490c44a6ffe23739d973e" dependencies = [ - "crossbeam-epoch 0.9.15", - "crossbeam-utils 0.8.16", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.19", "hashbrown 0.13.1", "metrics", "num_cpus", @@ -3081,9 +3200,9 @@ version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3104,12 +3223,12 @@ dependencies = [ [[package]] name = "mini-moka" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e0b72e7c9042467008b10279fc732326bd605459ae03bda88825909dd19b56" +checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-utils 0.8.16", + "crossbeam-channel 0.5.11", + "crossbeam-utils 0.8.19", "dashmap", "skeptic", "smallvec", @@ -3134,13 +3253,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3163,7 +3282,9 @@ dependencies = [ "zk_evm 1.3.1", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", + "zk_evm 1.4.1", "zkevm_test_harness 1.4.0", + "zkevm_test_harness 1.4.1", "zksync_contracts", "zksync_state", "zksync_system_constants", @@ -3208,8 +3329,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c168194d373b1e134786274020dae7fc5513d565ea2ebb9bc9ff17ffb69106d4" dependencies = [ "either", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "serde", "syn 1.0.109", ] @@ -3355,8 +3476,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -3452,25 +3573,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" @@ -3486,9 +3607,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.59" +version = "0.10.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" +checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" dependencies = [ "bitflags 2.4.1", "cfg-if 1.0.0", @@ -3505,9 +3626,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3518,9 +3639,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.95" +version = "0.9.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" +checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" dependencies = [ "cc", "libc", @@ -3641,15 +3762,15 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec 1.0.1", "byte-slice-cast", "impl-trait-for-tuples", - "parity-scale-codec-derive 3.6.5", + "parity-scale-codec-derive 3.6.9", "serde", ] @@ -3660,20 +3781,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro-crate 2.0.0", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -3697,7 +3818,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3764,15 +3885,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" dependencies = [ "memchr", "thiserror", @@ -3781,9 +3902,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" +checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" dependencies = [ "pest", "pest_generator", @@ -3791,22 +3912,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" +checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "pest_meta" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" dependencies = [ "once_cell", "pest", @@ -3838,9 +3959,9 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3863,7 +3984,7 @@ checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ "der 0.7.8", "pkcs8 0.10.2", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] @@ -3883,20 +4004,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der 0.7.8", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "platforms" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "plotters" @@ -3928,9 +4049,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" [[package]] name = "powerfmt" @@ -3946,12 +4067,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ - "proc-macro2 1.0.69", - "syn 2.0.39", + "proc-macro2 1.0.76", + "syn 2.0.48", ] [[package]] @@ -3992,12 +4113,20 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b2685dd208a3771337d8d386a89840f0f43cd68be8dae90a5f8c2384effc9cd" +dependencies = [ + "toml_edit 0.21.0", ] [[package]] @@ -4007,8 +4136,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", "version_check", ] @@ -4019,8 +4148,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "version_check", ] @@ -4041,9 +4170,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] @@ -4066,9 +4195,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4105,9 +4234,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5a410fc7882af66deb8d01d01737353cf3ad6204c408177ba494291a626312" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", "prost-derive", @@ -4115,9 +4244,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa3d084c8704911bfefb2771be2f9b6c5c0da7343a71e0021ee3c665cada738" +checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck 0.4.1", @@ -4130,22 +4259,22 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.39", + "syn 2.0.48", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065717a5dfaca4a83d2fe57db3487b311365200000551d7a364e715dbf4346bc" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", "itertools 0.11.0", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4154,7 +4283,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "logos", "miette", "once_cell", @@ -4166,9 +4295,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8339f32236f590281e2f6368276441394fcd1b2133b549cc895d0ae80f2f9a52" +checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" dependencies = [ "prost", ] @@ -4215,8 +4344,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -4237,7 +4366,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" dependencies = [ - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", "libc", "mach2", "once_cell", @@ -4279,11 +4408,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "proc-macro2 1.0.69", + "proc-macro2 1.0.76", ] [[package]] @@ -4412,7 +4541,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", ] [[package]] @@ -4520,8 +4649,8 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-deque 0.8.3", - "crossbeam-utils 0.8.16", + "crossbeam-deque 0.8.5", + "crossbeam-utils 0.8.19", ] [[package]] @@ -4597,11 +4726,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "bytes", "encoding_rs", "futures-core", @@ -4694,6 +4823,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + [[package]] name = "ring" version = "0.16.20" @@ -4711,16 +4850,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", - "getrandom 0.2.11", + "getrandom 0.2.12", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4758,8 +4897,8 @@ version = "0.7.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -4785,9 +4924,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ "const-oid", "digest 0.10.7", @@ -4798,7 +4937,7 @@ dependencies = [ "pkcs8 0.10.2", "rand_core 0.6.4", "signature 2.2.0", - "spki 0.7.2", + "spki 0.7.3", "subtle", "zeroize", ] @@ -4848,25 +4987,25 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.21" +version = "0.38.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" dependencies = [ "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring 0.17.5", + "ring 0.17.7", "rustls-webpki", "sct", ] @@ -4877,7 +5016,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", ] [[package]] @@ -4886,7 +5025,7 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.5", + "ring 0.17.7", "untrusted 0.9.0", ] @@ -4910,9 +5049,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "salsa20" @@ -4934,11 +5073,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -4969,7 +5108,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.5", + "ring 0.17.7", "untrusted 0.9.0", ] @@ -4985,7 +5124,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct", + "base16ct 0.1.1", "der 0.6.1", "generic-array", "pkcs8 0.9.0", @@ -4993,6 +5132,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.8", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + [[package]] name = "secp256k1" version = "0.20.3" @@ -5055,9 +5208,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" dependencies = [ "serde", ] @@ -5178,9 +5331,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.192" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] @@ -5197,20 +5350,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.192" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" dependencies = [ "itoa", "ryu", @@ -5247,8 +5400,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ "darling", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -5340,13 +5493,13 @@ dependencies = [ [[package]] name = "shivini" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-shivini.git?branch=main#bb3d4ad1fa454d7be54a819cc0c16561806c49fe" +source = "git+https://github.com/matter-labs/era-shivini.git?branch=v1.4.1#a788f4007c4a63529f6715897556f169938a6a36" dependencies = [ "bincode", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "boojum", "boojum-cuda", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "cudart", "derivative", "hex", @@ -5475,7 +5628,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -5505,9 +5658,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der 0.7.8", @@ -5549,14 +5702,14 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", "atoi", "bigdecimal", "byteorder", "bytes", "chrono", "crc", - "crossbeam-queue 0.3.8", + "crossbeam-queue 0.3.11", "dotenvy", "either", "event-listener", @@ -5594,8 +5747,8 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "sqlx-core", "sqlx-macros-core", "syn 1.0.109", @@ -5613,8 +5766,8 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "serde", "serde_json", "sha2 0.10.8", @@ -5635,7 +5788,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" dependencies = [ "atoi", - "base64 0.21.5", + "base64 0.21.6", "bigdecimal", "bitflags 2.4.1", "byteorder", @@ -5680,7 +5833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" dependencies = [ "atoi", - "base64 0.21.5", + "base64 0.21.6", "bigdecimal", "bitflags 2.4.1", "byteorder", @@ -5795,8 +5948,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "syn 1.0.109", ] @@ -5816,8 +5969,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "rustversion", "syn 1.0.109", ] @@ -5845,19 +5998,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.39" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.76", + "quote 1.0.35", "unicode-ident", ] @@ -5868,9 +6021,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -5931,35 +6084,45 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if 1.0.0", "fastrand", "redox_syscall", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "test-log" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" +checksum = "6159ab4116165c99fc88cce31f99fa2c9dbe08d3691cb38da02fc3b45f357d2b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "env_logger 0.10.1", + "test-log-macros", +] + +[[package]] +name = "test-log-macros" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" +dependencies = [ + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -5973,22 +6136,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6012,9 +6175,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "itoa", @@ -6032,9 +6195,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -6084,9 +6247,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.34.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "bytes", @@ -6098,7 +6261,7 @@ dependencies = [ "signal-hook-registry", "socket2 0.5.5", "tokio-macros", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -6107,9 +6270,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6159,9 +6322,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -6187,9 +6350,20 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ "indexmap 2.1.0", "toml_datetime", @@ -6220,9 +6394,9 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6237,9 +6411,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", @@ -6258,9 +6432,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -6280,15 +6454,15 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" @@ -6340,9 +6514,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" [[package]] name = "unicode-ident" @@ -6395,7 +6569,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" dependencies = [ - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -6413,11 +6587,11 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" +checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" dependencies = [ - "base64 0.21.5", + "base64 0.21.6", "log", "native-tls", "once_cell", @@ -6426,12 +6600,12 @@ dependencies = [ [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna", + "idna 0.5.0", "percent-encoding", "serde", ] @@ -6444,9 +6618,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "uuid" -version = "1.5.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ "serde", ] @@ -6506,9 +6680,9 @@ name = "vise-macros" version = "0.1.0" source = "git+https://github.com/matter-labs/vise.git?rev=1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1#1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6517,7 +6691,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bincode", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "itertools 0.10.5", "once_cell", "proptest", @@ -6529,7 +6703,7 @@ dependencies = [ "toml_edit 0.14.4", "tracing", "vlog", - "zkevm_test_harness 1.4.0", + "zkevm_test_harness 1.4.1", "zksync_config", "zksync_env_config", "zksync_prover_fri_types", @@ -6589,9 +6763,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -6599,24 +6773,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -6626,32 +6800,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ - "quote 1.0.33", + "quote 1.0.35", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-streams" @@ -6668,9 +6842,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" dependencies = [ "js-sys", "wasm-bindgen", @@ -6683,16 +6857,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" dependencies = [ "arrayvec 0.7.4", - "base64 0.21.5", + "base64 0.21.6", "bytes", "derive_more", "ethabi", "ethereum-types 0.14.1", - "futures 0.3.29", + "futures 0.3.30", "futures-timer", "headers", "hex", - "idna", + "idna 0.4.0", "jsonrpc-core", "log", "once_cell", @@ -6709,9 +6883,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.2" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "which" @@ -6764,11 +6938,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.0", ] [[package]] @@ -6777,7 +6951,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", ] [[package]] @@ -6786,13 +6969,28 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", ] [[package]] @@ -6801,47 +6999,89 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "b7520bbdec7211caa7c4e682eb1fbe07abe20cee6756b6e00f537c82c11816aa" dependencies = [ "memchr", ] @@ -6853,7 +7093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ "cfg-if 1.0.0", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -6873,29 +7113,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.25" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.25" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -6906,9 +7146,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", + "proc-macro2 1.0.76", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6917,7 +7157,7 @@ version = "1.3.1" source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.1-rc2#0a7c775932db4839ff6b7fb0db9bdb3583ab54c0" dependencies = [ "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", - "k256", + "k256 0.11.6", "lazy_static", "num 0.4.1", "serde", @@ -6939,7 +7179,7 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] @@ -6954,7 +7194,7 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] @@ -6969,10 +7209,25 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions", + "zk_evm_abstractions 0.1.0", "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zk_evm" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.1#6250dbf64b2d14ced87a127735da559f27a432d5" +dependencies = [ + "anyhow", + "lazy_static", + "num 0.4.1", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 1.4.1", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zk_evm_abstractions" version = "0.1.0" @@ -6985,6 +7240,18 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zk_evm_abstractions" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.4.1#0aac08c3b097ee8147e748475117ac46bddcdcef" +dependencies = [ + "anyhow", + "num_enum", + "serde", + "static_assertions", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm-assembly" version = "1.3.2" @@ -7004,6 +7271,25 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zkevm-assembly" +version = "1.3.2" +source = "git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1#50282016d01bd2fd147021dd558209778db2268b" +dependencies = [ + "env_logger 0.9.3", + "hex", + "lazy_static", + "log", + "nom", + "num-bigint 0.4.4", + "num-traits", + "sha3 0.10.8", + "smallvec", + "structopt", + "thiserror", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_circuits" version = "1.4.0" @@ -7025,6 +7311,27 @@ dependencies = [ "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#70234e99c2492740226b9f40091e7fccc7ef28e9" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum?branch=main)", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_opcode_defs" version = "1.3.1" @@ -7044,12 +7351,26 @@ dependencies = [ "bitflags 2.4.1", "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", "ethereum-types 0.14.1", - "k256", + "k256 0.11.6", "lazy_static", "sha2 0.10.6", "sha3 0.10.6", ] +[[package]] +name = "zkevm_opcode_defs" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" +dependencies = [ + "bitflags 2.4.1", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.14.1", + "k256 0.13.3", + "lazy_static", + "sha2 0.10.8", + "sha3 0.10.8", +] + [[package]] name = "zkevm_test_harness" version = "1.3.3" @@ -7058,9 +7379,9 @@ dependencies = [ "bincode", "circuit_testing", "codegen 0.2.0", - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", - "env_logger 0.10.1", + "env_logger 0.9.3", "hex", "num-bigint 0.4.4", "num-integer", @@ -7074,20 +7395,20 @@ dependencies = [ "test-log", "tracing", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3)", - "zkevm-assembly", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2)", ] [[package]] name = "zkevm_test_harness" version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#d2e3670e0c5115b7cc7cc24e6d3dbdd17a214aad" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#fb47657ae3b6ff6e4bb5199964d3d37212978200" dependencies = [ "bincode", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0)", "codegen 0.2.0", - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", - "env_logger 0.10.1", + "env_logger 0.9.3", "hex", "rand 0.4.6", "rayon", @@ -7097,7 +7418,36 @@ dependencies = [ "structopt", "test-log", "tracing", - "zkevm-assembly", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2)", +] + +[[package]] +name = "zkevm_test_harness" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#44975f894aff0893b5f98e34d0e364375390bcb8" +dependencies = [ + "bincode", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "codegen 0.2.0", + "crossbeam 0.8.4", + "curl", + "derivative", + "env_logger 0.9.3", + "hex", + "lazy_static", + "rand 0.4.6", + "rayon", + "reqwest", + "rescue_poseidon 0.4.1 (git+https://github.com/matter-labs/rescue-poseidon.git?branch=poseidon2)", + "serde", + "serde_json", + "smallvec", + "snark_wrapper", + "structopt", + "test-log", + "tracing", + "walkdir", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", ] [[package]] @@ -7112,7 +7462,7 @@ dependencies = [ [[package]] name = "zksync_concurrency" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "once_cell", @@ -7139,7 +7489,7 @@ dependencies = [ [[package]] name = "zksync_consensus_crypto" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "blst", @@ -7157,7 +7507,7 @@ dependencies = [ [[package]] name = "zksync_consensus_roles" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "bit-vec", @@ -7177,7 +7527,7 @@ dependencies = [ [[package]] name = "zksync_consensus_storage" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "async-trait", @@ -7185,6 +7535,7 @@ dependencies = [ "rand 0.8.5", "thiserror", "tracing", + "vise", "zksync_concurrency", "zksync_consensus_roles", "zksync_protobuf", @@ -7194,7 +7545,7 @@ dependencies = [ [[package]] name = "zksync_consensus_utils" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "thiserror", "zksync_concurrency", @@ -7276,7 +7627,7 @@ name = "zksync_health_check" version = "0.1.0" dependencies = [ "async-trait", - "futures 0.3.29", + "futures 0.3.30", "serde", "serde_json", "tokio", @@ -7321,7 +7672,7 @@ dependencies = [ "async-trait", "bincode", "ctrlc", - "futures 0.3.29", + "futures 0.3.30", "prometheus_exporter", "reqwest", "structopt", @@ -7330,7 +7681,7 @@ dependencies = [ "vise", "vk_setup_data_generator_server_fri", "vlog", - "zkevm_test_harness 1.4.0", + "zkevm_test_harness 1.4.1", "zksync_config", "zksync_dal", "zksync_env_config", @@ -7344,7 +7695,7 @@ dependencies = [ [[package]] name = "zksync_protobuf" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "bit-vec", @@ -7362,17 +7713,17 @@ dependencies = [ [[package]] name = "zksync_protobuf_build" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=84cdd9e45fd84bc1fac0b394c899ae33aef91afa#84cdd9e45fd84bc1fac0b394c899ae33aef91afa" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=5727a3e0b22470bb90092388f9125bcb366df613#5727a3e0b22470bb90092388f9125bcb366df613" dependencies = [ "anyhow", "heck 0.4.1", "prettyplease", - "proc-macro2 1.0.69", + "proc-macro2 1.0.76", "prost-build", "prost-reflect", "protox", - "quote 1.0.33", - "syn 2.0.39", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -7381,9 +7732,9 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "ctrlc", - "futures 0.3.29", + "futures 0.3.30", "local-ip-address", "prometheus_exporter", "regex", @@ -7395,7 +7746,7 @@ dependencies = [ "vise", "vk_setup_data_generator_server_fri", "vlog", - "zkevm_test_harness 1.4.0", + "zkevm_test_harness 1.4.1", "zksync_config", "zksync_dal", "zksync_env_config", @@ -7414,7 +7765,7 @@ dependencies = [ "anyhow", "async-trait", "ctrlc", - "futures 0.3.29", + "futures 0.3.30", "log", "prometheus_exporter", "reqwest", @@ -7435,7 +7786,7 @@ dependencies = [ name = "zksync_prover_fri_types" version = "0.1.0" dependencies = [ - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "serde", "zksync_object_store", "zksync_types", @@ -7538,8 +7889,10 @@ dependencies = [ "thiserror", "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", + "zk_evm 1.4.1", "zkevm_test_harness 1.3.3", "zksync_basic_types", + "zksync_config", "zksync_consensus_roles", "zksync_contracts", "zksync_mini_merkle_tree", @@ -7555,7 +7908,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bigdecimal", - "futures 0.3.29", + "futures 0.3.30", "hex", "itertools 0.10.5", "metrics", @@ -7577,10 +7930,10 @@ dependencies = [ "anyhow", "async-trait", "bincode", - "circuit_definitions", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "const-decoder", "ctrlc", - "futures 0.3.29", + "futures 0.3.30", "hex", "multivm", "prometheus_exporter", @@ -7593,8 +7946,8 @@ dependencies = [ "vise", "vk_setup_data_generator_server_fri", "vlog", - "zk_evm 1.4.0", - "zkevm_test_harness 1.4.0", + "zk_evm 1.4.1", + "zkevm_test_harness 1.4.1", "zksync_config", "zksync_dal", "zksync_env_config", @@ -7616,7 +7969,7 @@ dependencies = [ "async-trait", "bincode", "ctrlc", - "futures 0.3.29", + "futures 0.3.30", "prometheus_exporter", "queues", "serde", diff --git a/prover/proof_fri_compressor/Cargo.toml b/prover/proof_fri_compressor/Cargo.toml index 659f1fb4ceb4..068de147497c 100644 --- a/prover/proof_fri_compressor/Cargo.toml +++ b/prover/proof_fri_compressor/Cargo.toml @@ -20,7 +20,7 @@ zksync_queued_job_processor = { path = "../../core/lib/queued_job_processor" } vk_setup_data_generator_server_fri = { path = "../vk_setup_data_generator_server_fri" } vlog = { path = "../../core/lib/vlog" } -zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" } +zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } anyhow = "1.0" tracing = "0.1" diff --git a/prover/prover_fri/Cargo.toml b/prover/prover_fri/Cargo.toml index dca42c966d27..45ab5e966731 100644 --- a/prover/prover_fri/Cargo.toml +++ b/prover/prover_fri/Cargo.toml @@ -20,13 +20,13 @@ zksync_prover_fri_utils = { path = "../prover_fri_utils" } zksync_prover_fri_types = { path = "../prover_fri_types" } zksync_utils = { path = "../../core/lib/utils" } vk_setup_data_generator_server_fri = { path = "../vk_setup_data_generator_server_fri" } -shivini = { git = "https://github.com/matter-labs/era-shivini.git", branch = "main", optional = true, features = [ +shivini = { git = "https://github.com/matter-labs/era-shivini.git", branch = "v1.4.1", optional = true, features = [ "circuit_definitions", "zksync", ] } -zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" } -circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0", features = [ +zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } +circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1", features = [ "log_tracing", ] } diff --git a/prover/prover_fri_types/Cargo.toml b/prover/prover_fri_types/Cargo.toml index 9f84afe2207c..bcb609d31caf 100644 --- a/prover/prover_fri_types/Cargo.toml +++ b/prover/prover_fri_types/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" zksync_object_store = { path = "../../core/lib/object_store" } zksync_types = { path = "../../core/lib/types" } -circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0", features = [ +circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1", features = [ "log_tracing", ] } diff --git a/prover/setup-data-cpu-keys.json b/prover/setup-data-cpu-keys.json index 1a0427e53463..8b7a9165e2c2 100644 --- a/prover/setup-data-cpu-keys.json +++ b/prover/setup-data-cpu-keys.json @@ -1,5 +1,5 @@ { - "us": "gs://matterlabs-setup-data-us/e2e94ff/", - "europe": "gs://matterlabs-setup-data-europe/e2e94ff/", - "asia": "gs://matterlabs-setup-data-asia/e2e94ff/" + "us": "gs://matterlabs-setup-data-us/8ef5506/", + "europe": "gs://matterlabs-setup-data-europe/8ef5506/", + "asia": "gs://matterlabs-setup-data-asia/8ef5506/" } diff --git a/prover/setup-data-gpu-keys.json b/prover/setup-data-gpu-keys.json index 295d43ddaa4a..38057979f61b 100644 --- a/prover/setup-data-gpu-keys.json +++ b/prover/setup-data-gpu-keys.json @@ -1,5 +1,5 @@ { - "us": "gs://matterlabs-setup-data-us/5e22273-gpu/", - "europe": "gs://matterlabs-setup-data-europe/5e22273-gpu/", - "asia": "gs://matterlabs-setup-data-asia/5e22273-gpu/" + "us": "gs://matterlabs-setup-data-us/8ef5506-gpu/", + "europe": "gs://matterlabs-setup-data-europe/8ef5506-gpu/", + "asia": "gs://matterlabs-setup-data-asia/8ef5506-gpu/" } diff --git a/prover/vk_setup_data_generator_server_fri/Cargo.toml b/prover/vk_setup_data_generator_server_fri/Cargo.toml index 6186f121b25b..31941bfafb73 100644 --- a/prover/vk_setup_data_generator_server_fri/Cargo.toml +++ b/prover/vk_setup_data_generator_server_fri/Cargo.toml @@ -25,11 +25,11 @@ vlog = { path = "../../core/lib/vlog" } zksync_types = { path = "../../core/lib/types" } zksync_prover_fri_types = { path = "../prover_fri_types" } -zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" } -circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0", features = [ +zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } +circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1", features = [ "log_tracing", ] } -shivini = { git = "https://github.com/matter-labs/era-shivini.git", branch = "main", optional = true } +shivini = { git = "https://github.com/matter-labs/era-shivini.git", branch = "v1.4.1", optional = true } zksync_config = { path = "../../core/lib/config" } zksync_env_config = { path = "../../core/lib/env_config" } diff --git a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_1.bin b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_1.bin index be9b474bd0dc..f1af57a5cdfe 100644 Binary files a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_1.bin and b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_1.bin differ diff --git a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_5.bin b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_5.bin index efed390e9107..4ef8ad2edd4e 100644 Binary files a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_5.bin and b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_5.bin differ diff --git a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_7.bin b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_7.bin index 35d82d21ed62..2dbd63c71931 100644 Binary files a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_7.bin and b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_basic_7.bin differ diff --git a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_leaf_9.bin b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_leaf_9.bin index 082fcccf6d4c..2bda22f5779a 100644 Binary files a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_leaf_9.bin and b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_leaf_9.bin differ diff --git a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_scheduler.bin b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_scheduler.bin index b4daf641fe58..b74bfd796ed0 100644 Binary files a/prover/vk_setup_data_generator_server_fri/data/finalization_hints_scheduler.bin and b/prover/vk_setup_data_generator_server_fri/data/finalization_hints_scheduler.bin differ diff --git a/prover/vk_setup_data_generator_server_fri/data/snark_verification_scheduler_key.json b/prover/vk_setup_data_generator_server_fri/data/snark_verification_scheduler_key.json index 5d33f98b183f..4b83fd50553f 100644 --- a/prover/vk_setup_data_generator_server_fri/data/snark_verification_scheduler_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/snark_verification_scheduler_key.json @@ -6,16 +6,16 @@ "gate_setup_commitments": [ { "x": [ - 4563648229522529090, - 12621273650309129924, - 6198549568814142266, - 2552508369834820982 + 18196698015838820804, + 13870798184679972679, + 10383601464080125147, + 2890147079142100565 ], "y": [ - 6942986305285328922, - 13872369038900622115, - 16362071052994133467, - 804758705072609803 + 15077880217479618043, + 409257657776446622, + 7624188368705821190, + 571146283794538062 ], "infinity": false }, @@ -96,16 +96,16 @@ }, { "x": [ - 17877966991893524598, - 5994085157062523222, - 1757001537059388699, - 624319710399696047 + 6133635431083343666, + 17066500748032848681, + 9464481803886990457, + 3099188496124947302 ], "y": [ - 4763287561833789230, - 2005258298669826833, - 16972767076042430273, - 143191352994868054 + 11826823385291662601, + 13141227272786891670, + 936697723418808310, + 619083601736774460 ], "infinity": false }, diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_basic_1_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_basic_1_key.json index dba61453753c..666f79b512cc 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_basic_1_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_basic_1_key.json @@ -19,19 +19,19 @@ "public_inputs_locations": [ [ 0, - 1047658 + 1033357 ], [ 1, - 1047658 + 1033357 ], [ 2, - 1047658 + 1033357 ], [ 3, - 1047658 + 1033357 ] ], "extra_constant_polys_for_selectors": 3, @@ -183,100 +183,100 @@ }, "setup_merkle_tree_cap": [ [ - 14869022747991704186, - 17031358815991649117, - 4714282231372708414, - 6414019057952366663 + 13979541772562812886, + 628221230774609014, + 18373366089216843595, + 17288643748939748082 ], [ - 6900602175855696430, - 6670794569935170089, - 10800109531102252604, - 17486750553116564567 + 497560230331914293, + 12933065490353267070, + 610531049548094364, + 2561281819852481556 ], [ - 17299361551409797093, - 11990751079425151913, - 6826444113393762570, - 10932118118889734350 + 6872202279589309483, + 15371443137485864328, + 14042185857374951614, + 2871085713710647736 ], [ - 6474368291910763152, - 7951437263957002667, - 16115489689031613949, - 7133133995520501271 + 14717287901379274289, + 11041091584433246952, + 1516317718358551577, + 17942326492608764586 ], [ - 10017359634641638081, - 5101743302584875322, - 5266371437134340172, - 6069099232595401770 + 11102657606425854019, + 16719055288925226903, + 251505614603105506, + 788154469314461155 ], [ - 17756274064208120672, - 3982804959467006511, - 10666837127743053144, - 5042305760262773346 + 14609783504099553169, + 8414020072480378909, + 5493814014146289405, + 11182914537731016461 ], [ - 6276015788824777492, - 7548026914440268726, - 7686087580556345175, - 70678741505519130 + 3985640097063592337, + 11522574954802621414, + 3987867522671712202, + 6993409547661445349 ], [ - 17054606409621314666, - 12181652464079780487, - 16509905652014130420, - 18326959307811580345 + 9457187851706480139, + 5415597435441111057, + 2054966732353439166, + 4687827253126200545 ], [ - 11297851890381778013, - 4519272151514850089, - 11187164861287540939, - 11860631544716366680 + 10511650860939798500, + 5585198921532047811, + 16190623865304580725, + 4707719904878919289 ], [ - 6694400911557434438, - 10320855386973467141, - 6409090468016993938, - 1691791456834022317 + 835496114275750140, + 11205584076775867467, + 14617309449219062577, + 14840896155754974551 ], [ - 12631827227087810588, - 17420660366875362680, - 8998719038651802977, - 7868656510918289268 + 8838401009958590877, + 4356703539172827619, + 15906895008509963830, + 15213987306529390063 ], [ - 6457505234632244247, - 13541404564190215974, - 16187962154051613109, - 17552751586718992793 + 15386648629189748383, + 981209449049965222, + 17702894300685706682, + 7188184581569627427 ], [ - 16545123790363978986, - 5350362016628834362, - 18354051751822556975, - 6117654413762589372 + 11773289872945276065, + 14292663988536993999, + 4995957744780789767, + 11157975329762130496 ], [ - 489622670611184909, - 15319066911773803522, - 18442076011714885642, - 6096263545427509383 + 10992634905557330633, + 6679058793747630815, + 7619754239129113371, + 15635323274093564751 ], [ - 15489313913065919449, - 8423761693489524867, - 15818905453819585194, - 15653211152174043194 + 5612302911762512037, + 7066509597590412204, + 16090150944640300635, + 8925201513572491903 ], [ - 5640704920035577473, - 4663598453214139985, - 1172539769174279254, - 11923632706292759615 + 49562861942122717, + 78347250110042296, + 15729365300851668553, + 5811723960573072789 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_basic_5_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_basic_5_key.json index 4537187b9b36..5cf937317a97 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_basic_5_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_basic_5_key.json @@ -19,19 +19,19 @@ "public_inputs_locations": [ [ 0, - 1047292 + 957655 ], [ 1, - 1047292 + 957655 ], [ 2, - 1047292 + 957655 ], [ 3, - 1047292 + 957655 ] ], "extra_constant_polys_for_selectors": 2, @@ -144,100 +144,100 @@ }, "setup_merkle_tree_cap": [ [ - 5926546619152935907, - 11291861669768573654, - 11100100891141895430, - 1040099038134319144 + 5863338309468690805, + 6612807556868623855, + 14384447122223208889, + 4869624617941633977 ], [ - 9405378490457870663, - 11971348617109093172, - 7779954465112100917, - 8521139113892942903 + 7203568093424325982, + 11467433213790803023, + 3331132209617185572, + 12059630931627430867 ], [ - 1041442145290466080, - 2626937507866398782, - 4297959424787982903, - 7963254695121664304 + 17754341693454587497, + 7044019905110787629, + 13344874745221604862, + 689445111894783375 ], [ - 8679424872010178168, - 928230210029079843, - 17862919271344969949, - 9085342720844642067 + 12146861234544017277, + 10376115062914418911, + 8960119128938611413, + 8559956938223261930 ], [ - 2346566700143956389, - 751827788815495159, - 18018129704559687246, - 6344673729449349673 + 16520223933708511688, + 3172930642611959373, + 17561897383101277942, + 8480394309945227558 ], [ - 12798999539756004171, - 2962217720855368908, - 17815764746262544024, - 6141433679632029898 + 1996517481667965644, + 7377981481713124790, + 4085759919146714953, + 14547160858649434950 ], [ - 10612436896218340091, - 5382517797965219051, - 1440771605952502920, - 6120504474919675320 + 6783829941378618951, + 4164473016846576356, + 6466125109246198457, + 5555424632322755268 ], [ - 5639210895028949894, - 17579589483393163114, - 8531068549022389838, - 9055992165271810945 + 15545095573096466305, + 6069931892954605821, + 9897118900133603670, + 623299142232746660 ], [ - 15625252378325581383, - 11791782086341113568, - 1976318982912441593, - 16561636205817299485 + 2729973951622970375, + 2475966630698408655, + 6354477244264616033, + 16467651095039013404 ], [ - 9291503982934971506, - 5967409911022700010, - 9096839168538146295, - 3004596177933970509 + 3475789501107470785, + 6545047721624920952, + 13708118956887446396, + 8327911440041257243 ], [ - 9243725287341188464, - 6878316427230924845, - 7270708110528992687, - 15417458474646493002 + 12619459378778019696, + 4556930387203524575, + 15096694625117428691, + 968312946067281062 ], [ - 15577762808206668193, - 10775213926343901301, - 4900917235853777300, - 8940673145641313937 + 15417126618137433078, + 919913711636678455, + 601385876894393616, + 10002950656997366990 ], [ - 18157038451252266825, - 13776543473230491269, - 17449669960102455201, - 1902286122568749061 + 13539183528986038681, + 18114796302738189862, + 17405354768003119916, + 15572242745340962324 ], [ - 10247491007925641249, - 5411016508841956578, - 11766519965796614613, - 1073824923129670847 + 9674870974878238491, + 12069223024267066514, + 7771360710281282208, + 14926388438391014942 ], [ - 10691592838471536401, - 16863854034452440410, - 16989985027265774429, - 10784858673090746367 + 18104374714769140792, + 16885383007413710616, + 14207969031693102569, + 13387272531183358013 ], [ - 5688638173552292266, - 2543022480770607266, - 1257951713416281965, - 6435312724052439304 + 4720607235344128981, + 8734926750581912691, + 8602628498785008248, + 9428253327807062948 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_basic_7_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_basic_7_key.json index b905a476ea43..2e8bd4248a45 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_basic_7_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_basic_7_key.json @@ -15,23 +15,23 @@ } }, "domain_size": 1048576, - "total_tables_len": 132096, + "total_tables_len": 197632, "public_inputs_locations": [ [ 0, - 872841 + 938954 ], [ 1, - 872841 + 938954 ], [ 2, - 872841 + 938954 ], [ 3, - 872841 + 938954 ] ], "extra_constant_polys_for_selectors": 2, @@ -49,7 +49,7 @@ "Fork": { "left": { "GateOnly": { - "gate_idx": 2, + "gate_idx": 3, "num_constants": 2, "degree": 3, "needs_selector": true, @@ -62,7 +62,7 @@ "Fork": { "left": { "GateOnly": { - "gate_idx": 4, + "gate_idx": 2, "num_constants": 0, "degree": 2, "needs_selector": true, @@ -95,7 +95,7 @@ "GateOnly": { "gate_idx": 7, "num_constants": 0, - "degree": 0, + "degree": 2, "needs_selector": true, "is_lookup": false } @@ -107,19 +107,32 @@ } }, "right": { - "GateOnly": { - "gate_idx": 1, - "num_constants": 0, - "degree": 2, - "needs_selector": true, - "is_lookup": false + "Fork": { + "left": { + "GateOnly": { + "gate_idx": 1, + "num_constants": 0, + "degree": 2, + "needs_selector": true, + "is_lookup": false + } + }, + "right": { + "GateOnly": { + "gate_idx": 8, + "num_constants": 0, + "degree": 0, + "needs_selector": true, + "is_lookup": false + } + } } } } }, "right": { "GateOnly": { - "gate_idx": 3, + "gate_idx": 4, "num_constants": 1, "degree": 2, "needs_selector": true, @@ -132,7 +145,7 @@ "Fork": { "left": { "GateOnly": { - "gate_idx": 8, + "gate_idx": 9, "num_constants": 4, "degree": 2, "needs_selector": true, @@ -157,100 +170,100 @@ }, "setup_merkle_tree_cap": [ [ - 13818450912197620420, - 5079205692118648775, - 14615787041360044769, - 2941606671776647183 + 10364558592939111741, + 2704090932534378545, + 3848869986273969160, + 16106328006947126620 ], [ - 6715253104770723417, - 3160280029457127352, - 11108406980823166906, - 15487865556610611893 + 18358486967141014750, + 14641508205909281179, + 7093116894832566610, + 7500598559033532768 ], [ - 14039903923831613967, - 15298198763143829103, - 17031409250405123985, - 10266023324667771113 + 16215619146982875852, + 931552260993232306, + 12732515925355865703, + 10874000891781998666 ], [ - 17366151300788544369, - 13314676565834570017, - 17521241757753748935, - 13066688955830816807 + 16696055299959994592, + 7517181201234171849, + 13530124260986169974, + 12420742919152555831 ], [ - 14445090483790969730, - 15708367780098206326, - 2336844413511710318, - 3268235585540529265 + 12935551582494340631, + 11277556804627122699, + 2585203450556476813, + 6641635578391032765 ], [ - 2882405134850480170, - 14247534382965114291, - 17531255653612736614, - 11676635700695125188 + 14147502223221812516, + 10219199483850226233, + 9787631410983267539, + 2756256845301132553 ], [ - 11530141675448575062, - 8910365257612403024, - 300072654586353643, - 8472188536913229506 + 15406861586967121153, + 6131399528017195276, + 14224933511241022797, + 8698057950989472792 ], [ - 1426612518547638168, - 17806679375517512145, - 14835333334022265221, - 2007845272495904476 + 10880960805700971620, + 16164526380247682456, + 12282645756801863671, + 6794498938134022476 ], [ - 6034343869761808836, - 13937750910508416181, - 16942548919853718543, - 16086518391257789831 + 5447689690988908031, + 11077827740731268910, + 11281826336784931146, + 1857605592445416779 ], [ - 15933462173546075175, - 8612525819877657624, - 4132383244121115701, - 9288543398092863864 + 16543238481770974716, + 15644234753306810707, + 7325159377101369499, + 9364028963032249345 ], [ - 8157130847726661070, - 4231891352218163681, - 14620351586778336684, - 4186724240746204294 + 15668430137612641656, + 9735500688010860318, + 6232756292978092916, + 596001075134187400 ], [ - 7440132245224537493, - 6666895991749911132, - 8404993517441732468, - 6556569653095950475 + 10401718076460605202, + 11567967099757836303, + 12006248804213440045, + 17385738920789950897 ], [ - 1982595939619922877, - 17561202624392859313, - 14381497498171193805, - 17908865555917026633 + 5700779282136820007, + 6374023460690849286, + 2926225761189217992, + 120655127472319182 ], [ - 7384278864004035589, - 10191778068274570585, - 6103937442735162958, - 5142419559331404710 + 14205253813728620805, + 16457174518919888691, + 366727105995090878, + 3239884099992559905 ], [ - 3651117166359200686, - 3827322296271305097, - 14799462710376656576, - 13600220646083181205 + 12999528173970371119, + 14057657825586485436, + 11885903378658833926, + 3645634639162950888 ], [ - 1989104086172888026, - 7796359126421144184, - 16967575681666150511, - 5993683835612332048 + 9127695548309953097, + 9124168086734357914, + 4696446350416763314, + 14190588963396757344 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_basic_9_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_basic_9_key.json index 26a0c0c3e387..2a80fcf04d1d 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_basic_9_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_basic_9_key.json @@ -157,100 +157,100 @@ }, "setup_merkle_tree_cap": [ [ - 11871327302077385347, - 16906876010300982827, - 1595439427548031919, - 8289977278285908320 + 4720381805984417431, + 13078422028573677966, + 12719610199416872768, + 814461378397191674 ], [ - 1781098816832363622, - 3478218372991964399, - 7533433777158627341, - 14771106422370550145 + 7528162393526520082, + 16021794900358493536, + 10778196681779195944, + 16999373544006604274 ], [ - 2685684430663814546, - 12416630179340889407, - 2015102854033739219, - 5941892917351537077 + 6747601332592429411, + 10839430478686810097, + 13645038614460463708, + 13820943711197201062 ], [ - 11253028729705493819, - 14850400929314449282, - 8678044000034959641, - 17294624061384818276 + 3296980954753787898, + 16847154708500530922, + 4760207114567346237, + 933989207013374596 ], [ - 14258883085276585451, - 6370442713006574674, - 14046750730761444155, - 17791869273332245871 + 435751225506322730, + 11838854342511914922, + 8141668552314414324, + 2080639242020278276 ], [ - 7220276552024778410, - 8960130478379828559, - 16936405896975145419, - 5038663776382566512 + 12577933521680800715, + 7013157337092792023, + 8948304311622302542, + 13444594627920045180 ], [ - 13808097963622191673, - 11828988786702917270, - 2233362366627924, - 6612334601851706078 + 10039030243356480714, + 16189912181289242789, + 10233207085455746896, + 9133045755698092179 ], [ - 7478203141391683139, - 224415780917265400, - 7567502678051235826, - 7851341697237293082 + 4258951657397630338, + 7089329735582865970, + 7454083395219072742, + 6942440874612228572 ], [ - 16539824364674252288, - 4519676258951332695, - 18049825257493226995, - 1267218050479719768 + 4205365380387206769, + 4810070288054886759, + 12185381545408489993, + 9168852501594036569 ], [ - 3826454470928570687, - 1236146101240459873, - 6372203166973826150, - 6930153498226497616 + 10516394727687757858, + 13834473449189539894, + 14081317825129873045, + 6351648171885016957 ], [ - 3167281621364929622, - 2762481164640470670, - 8362276586345702073, - 14045722791397864122 + 18078042118328183988, + 6073950769044690696, + 16412846409205043478, + 2130555455391847686 ], [ - 14365302546843858790, - 17322057150049918196, - 286070742254960491, - 8246670609891611634 + 11243654607886467582, + 16949864848604250653, + 9402265113410343268, + 5314745691722462235 ], [ - 7988693957097790412, - 314963851507072118, - 17207369419682640756, - 412453697544464209 + 15979853768668375314, + 12543007664588017291, + 12965088303373453422, + 2147288991358425708 ], [ - 14890448417542266631, - 5963437462474119237, - 9763006742695214759, - 17659455413153344670 + 244366469137530999, + 6419427921450944899, + 11667939960797081159, + 12423571797082389411 ], [ - 13083329023803443846, - 10870396255388184280, - 17412894322433867553, - 4879290934605969545 + 1119341028349378585, + 6534556044367196007, + 17980160443578730518, + 15264250936810044760 ], [ - 7034677264054074316, - 3672095934764717273, - 6174572782407460075, - 6718668524195598096 + 13689391307335641715, + 17074269686100848413, + 17922241310959477038, + 13088974302469761152 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_3_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_3_key.json index f03848a09751..20bd6a9d1749 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_3_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_3_key.json @@ -162,100 +162,100 @@ }, "setup_merkle_tree_cap": [ [ - 1805040357731911032, - 12724391787715131487, - 16479521122472510699, - 16667703969508778391 + 1247576564412051418, + 12273306257668670509, + 14191376561140331689, + 10310912622041030225 ], [ - 12688435309079006504, - 14734642188927813728, - 11915884033454147184, - 17329321226955875183 + 5225236367749136421, + 603187870752456963, + 9837780210091125930, + 2506013264691550385 ], [ - 16315437509239525068, - 14908436607574402415, - 2084428987844243846, - 15413041179037655921 + 8497193842162297485, + 4845860822409534304, + 4138334177467689966, + 9202074843839089802 ], [ - 2823702871692091034, - 6376153290603778949, - 10890272396514589925, - 8026713020686697748 + 9654034842841910269, + 708990255886442263, + 10107840680979664389, + 5808533714672310191 ], [ - 17397137686907845637, - 2064022542849488262, - 3786405316970836609, - 5437499595967723836 + 14251291393125869883, + 3616107614863400854, + 2010682359417586096, + 12456662796675379513 ], [ - 2550071694179416093, - 4897423300632444750, - 13062462915336389501, - 18372839862930961551 + 7970212854162698408, + 14194713765138589776, + 5849242043577428661, + 12606622141811352806 ], [ - 17088995408991024798, - 16316191327122804523, - 5528066820138050503, - 14599942305495755459 + 11948724638653550851, + 8947958806821567157, + 12909128685306703210, + 14917378813839046977 ], [ - 5958767730804376795, - 6660452824628491350, - 5783408552721592941, - 14088521578529200272 + 5412287161492062871, + 6606116647402177461, + 13017829696219856153, + 7487301845602534303 ], [ - 2291071995718572256, - 907353728885268958, - 129782464141134801, - 9589777919267926845 + 9477201289532820910, + 9800973848806475446, + 3508021038584770051, + 3235776687244218864 ], [ - 16187707968438160509, - 11100373869445159993, - 5237804265105284075, - 9739986537750733952 + 2791092338875051443, + 18194879996262719903, + 2899450023178678246, + 14069689187928679177 ], [ - 16892182605566285738, - 1703786579928301563, - 8812499024578960746, - 17823411878542653115 + 13666503722421095396, + 14491872544075331112, + 9386967518782130527, + 16009683032302829790 ], [ - 13683376511744176189, - 5433888418576498236, - 15343790216728546383, - 16285187192287214848 + 2839395143875783163, + 7648396343194982154, + 13937364562578226328, + 8063553841239143405 ], [ - 17452383859621845374, - 17719367598200163617, - 1419014138942951485, - 7011441981346002658 + 5966137847999981886, + 2198398451338343366, + 10088393797769586259, + 16125482633308865245 ], [ - 6400096584820601208, - 16235194395642444364, - 11311947162131944240, - 7598189765195297754 + 16215892849491971068, + 17210376177731213089, + 7447200587018988406, + 4975940832749883899 ], [ - 8933333390708774665, - 12091548374904536228, - 14131593419057989631, - 3687065922153051144 + 14769784807006985958, + 653301846789535760, + 6822608902746300061, + 6085195747006357764 ], [ - 4357902627493767816, - 8081210589813839837, - 15890918119202411959, - 12214732213338934860 + 14032400430012753659, + 10972800536044118388, + 2081969033107576242, + 9228417089775570723 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_7_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_7_key.json index 1ab34e32a4f7..1250098066e9 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_7_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_7_key.json @@ -162,100 +162,100 @@ }, "setup_merkle_tree_cap": [ [ - 15278222994235313807, - 4647505541828109982, - 11601404244072907522, - 7495301362149670205 + 2754337122404035131, + 13536623891656361365, + 1007616849063951008, + 15105252681621581082 ], [ - 2294446454282967643, - 10852196555067806436, - 4676542110718751671, - 3650676510146080911 + 8308444090318189338, + 7446058959525096525, + 13329207951509548855, + 7561889402802668448 ], [ - 10036426682390389619, - 15410534417517518379, - 411748073143090898, - 1725429274294449186 + 15626189183123654473, + 9389275788860639449, + 7727979895208578309, + 8967557569387905568 ], [ - 10773139363930294963, - 14784009814759595952, - 4523828744129500622, - 14635565308295099932 + 1271041653742580722, + 1508771155767829929, + 3539674211903238731, + 6674336842512236791 ], [ - 11532260655451503527, - 2889442075290561580, - 7947536971337998641, - 9006850837384135593 + 14993085933639327428, + 12859616637151917255, + 17451807438447563279, + 18361547219004635882 ], [ - 18268520902352688907, - 17460815273130161567, - 5448683527846534560, - 16860223759333541117 + 2596569918238049986, + 9535951245061094004, + 3612719904693838716, + 15669710216801791634 ], [ - 8586752129609394016, - 17056726335999361043, - 13247832408825538184, - 10865075704067323346 + 2923247806064529346, + 476025466236692654, + 219470078253531684, + 3253637150697045053 ], [ - 4810539255563012829, - 3494541358111189199, - 7443746985302784339, - 1488118652209005646 + 11455918723444914411, + 12760698121370134283, + 1348665151397345538, + 1503330250917801638 ], [ - 13632843557374648899, - 11530787504038845899, - 8016420701220086345, - 2100494706314940875 + 3882061487409180567, + 4539967518573931769, + 16041271276470561136, + 13198977187430751226 ], [ - 12565007434827640436, - 2122488373912552994, - 7924677296826511433, - 4337201927455963919 + 9175887734272823437, + 11834689895461412171, + 15661083739716912511, + 11679573170871122987 ], [ - 9121346173552113908, - 8257616625819727572, - 1352571964050839537, - 1245015447612032209 + 16807522636555833221, + 8478021735953695140, + 6319467368854890639, + 9055828631796683676 ], [ - 5550331618999138407, - 15197131088442812142, - 17401528975137618793, - 7876503578710888777 + 17441028216195758717, + 16733042275859432057, + 16209233366181649846, + 16396552402939532160 ], [ - 10581471072917622415, - 11057977535360446233, - 4745650017347491925, - 16374614618217057484 + 6210356141414087397, + 4943182941258025608, + 7273397807824898264, + 11582999888436731797 ], [ - 15877663159259953297, - 13196700387970223678, - 987069829507588466, - 1239752961099076877 + 14142343453086872024, + 17506279899770493168, + 9608284523774702738, + 609745290150469595 ], [ - 1564056242532596441, - 8225585740585112689, - 8013357208824893542, - 8291061420556283364 + 8310851111766432853, + 13548474419145163485, + 15450231847428594055, + 12223625109163810065 ], [ - 10408011788640723232, - 11035192730597666502, - 7808927156371652130, - 8373070655798680509 + 18255684948340198040, + 10371054994206808107, + 3264758647817486750, + 6747927017612155762 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_9_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_9_key.json index 88a48a0bf911..e819d87f0563 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_leaf_9_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_leaf_9_key.json @@ -162,100 +162,100 @@ }, "setup_merkle_tree_cap": [ [ - 1966688024276265163, - 1600999376577297955, - 9979283765343242481, - 10853158383047279373 + 14148284386830541652, + 14837085299135448704, + 6322573177435797385, + 9541235098780333065 ], [ - 9617115799973676416, - 1436692352837490106, - 16621229234254045212, - 17649471158808930813 + 18026891006762862860, + 8815462913262358846, + 3028459576654036894, + 4764978179870290626 ], [ - 10598997254576197179, - 6191890180530301291, - 485325547092687385, - 17866822217569560015 + 3143414711632972556, + 215009862632575109, + 115871183085121437, + 15678879580422096616 ], [ - 17529069959174406385, - 1822730242748867421, - 10607268541276403219, - 10369730414641253572 + 7008443537620227362, + 15405045094706661453, + 7054378897351244413, + 15063094779164469832 ], [ - 9559948904275293033, - 271393452476373483, - 10294727560225979037, - 13356808215545342022 + 11380051289982529587, + 14537160074260598253, + 319143631423375734, + 3054216871356863172 ], [ - 3330505141292591439, - 14604912162246460234, - 13747490798131143365, - 9686392462153294316 + 6677826033770529061, + 12532558508585119885, + 6483341484367915585, + 13833715102611979913 ], [ - 1308334442155460802, - 8411248012498029090, - 1727122243552046217, - 1891983150748887801 + 16383714077146582615, + 6099349887502755988, + 611692769071329528, + 6249348051757898139 ], [ - 13628794098518472387, - 9775581327398472118, - 10952798350389999267, - 3791915693702783252 + 13655984727793006641, + 16299779079612206176, + 6852678328562466162, + 372227381623477635 ], [ - 5150729729317744106, - 15268081752408833175, - 11313693800895322733, - 7645258866415024451 + 4425585391371569673, + 6763900039933749019, + 16006906678055998259, + 1427464989992584471 ], [ - 4492405884498997751, - 1462600329700613046, - 4494587633368393420, - 13835293745083269390 + 10046306903330433098, + 5388931302017828778, + 14561141494124910623, + 17810178181842901525 ], [ - 16786735218378765255, - 13489016634632055711, - 780880140016370703, - 1632417931049291348 + 7153732502663673262, + 10145905956758704652, + 5539285688413432284, + 838720682164893952 ], [ - 15419598237747857050, - 17379853454459968259, - 1377883698753277247, - 17090368996477921986 + 10222632123310734549, + 15639343223634758385, + 11763187165521672016, + 3632059402025063524 ], [ - 5453156352466670830, - 7921752778252981104, - 15901693682958424795, - 7759079127470880643 + 15347417540234677848, + 734067739620863189, + 13817834505400578135, + 4053013374259122068 ], [ - 13945928657949258565, - 10630556046992331796, - 5947903586431352857, - 13970701039664769056 + 1278154817848231719, + 10728883570888770764, + 18088295704053736009, + 15861821502158970546 ], [ - 11402992940883704805, - 14254801701412570920, - 16823021910688666954, - 16435058721419375579 + 14731074814234828267, + 7249639464351543805, + 14262815218043638628, + 2820426900263260210 ], [ - 1434897606543124534, - 7242596307416400095, - 1722748060955112357, - 1262887759339605102 + 8806343049474442429, + 10816590200059736523, + 7404010135457618112, + 14366274165457799247 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/verification_scheduler_key.json b/prover/vk_setup_data_generator_server_fri/data/verification_scheduler_key.json index 198f0389a72c..ab9545b38f33 100644 --- a/prover/vk_setup_data_generator_server_fri/data/verification_scheduler_key.json +++ b/prover/vk_setup_data_generator_server_fri/data/verification_scheduler_key.json @@ -19,19 +19,19 @@ "public_inputs_locations": [ [ 0, - 1001025 + 1001364 ], [ 1, - 1001025 + 1001364 ], [ 2, - 1001025 + 1001364 ], [ 3, - 1001025 + 1001364 ] ], "extra_constant_polys_for_selectors": 4, @@ -170,100 +170,100 @@ }, "setup_merkle_tree_cap": [ [ - 4522138600368992679, - 9538550764574095149, - 12350165878820403151, - 17316455735707094331 + 12689670017976745265, + 4735744839674262721, + 13286982813628318381, + 9149186980107562073 ], [ - 5497320764894852275, - 1590480833349456203, - 6557309322687596584, - 15454422223540210306 + 11392738209994648966, + 9093985895872596846, + 10573344842509535237, + 17700304896358218640 ], [ - 5558505086540283030, - 13943227629024743939, - 10259100634144494257, - 5704170399326630549 + 7067297734958509313, + 9354967931491158103, + 16182722545820495396, + 16144754456929631304 ], [ - 2951435633176249116, - 9236611820854085075, - 7033504824356317789, - 6878637342940269074 + 16740527296473943989, + 3880867293805242982, + 14726916748278129428, + 13912258461398978671 ], [ - 14892753504099420541, - 5719263246041693687, - 4025705708519747499, - 1086118372881038482 + 5388324952186405061, + 8461633823113748075, + 18417727201095296026, + 7513276821057635636 ], [ - 7732214748303870430, - 9037879918645611146, - 5795905425560049291, - 5456605407758692913 + 6835783195916312963, + 2764814759828064484, + 16360792463144143961, + 5031433507456284412 ], [ - 6947322728148447593, - 6382294998862546420, - 7884427302760020118, - 2212936554013177065 + 15018426371866855766, + 4216590438341145666, + 8141336991557864596, + 18027566136801125192 ], [ - 2343438613885863348, - 13493857712239522643, - 14424009770652266387, - 12969912574245991559 + 8197677022277307310, + 1039519033649920171, + 5587998336806073757, + 350261181032052949 ], [ - 16858795808644713105, - 6129396520459104783, - 209477910023536873, - 13344925663188092269 + 2502911159112974589, + 13478164380649649834, + 16148336361712138832, + 8401471201750923846 ], [ - 14152833547677278430, - 12581387048991719122, - 15917744314847466427, - 14443470950772122977 + 517633987246350732, + 12439096122626936100, + 14664043968721607634, + 3303256595393751370 ], [ - 10299081693196569961, - 350315107343268130, - 6173847887082203307, - 1849093595195412250 + 5150386132855813766, + 14910776297213771263, + 18320842773032635721, + 2341887992598697076 ], [ - 9042415970339022369, - 11988457939756485920, - 10336433647276674537, - 1259669594789643496 + 13646814683590542464, + 15026224737243689799, + 16971519653333540083, + 18306550087952130765 ], [ - 14433184155184276283, - 13064790874012444560, - 14980870107816026210, - 2386527707606459321 + 14077330435849067750, + 8641340920988484366, + 996700081834100300, + 10087635324876250651 ], [ - 15192505525596647383, - 7015684183971452334, - 11289275074222101729, - 15044015789923655184 + 17645985847504542483, + 975231828184945972, + 8892884311156010064, + 13142281407395312794 ], [ - 9328083477760636394, - 9428251331620260633, - 11272001100772856, - 15622689851435689927 + 17909979348139777087, + 17963293453564535400, + 3853686384403451731, + 4326736934406905567 ], [ - 12073756266594964092, - 6962117934383929276, - 8722407149087296616, - 8660375341615685433 + 14322063846564984431, + 8636438762882737544, + 12279387165399832419, + 17171376743426295351 ] ] } diff --git a/prover/vk_setup_data_generator_server_fri/data/witness_artifacts.json b/prover/vk_setup_data_generator_server_fri/data/witness_artifacts.json index 98857952935b..821a2d6e3881 100644 --- a/prover/vk_setup_data_generator_server_fri/data/witness_artifacts.json +++ b/prover/vk_setup_data_generator_server_fri/data/witness_artifacts.json @@ -1,22 +1 @@ -{ - "entry_point_address": "0xc54E30ABB6a3eeD1b9DC0494D90c9C22D76FbA7e", - "entry_point_code": "0x0004000000000002000200000000000200000000030100190000006003300270000002b70430019700030000004103550002000000010355000002b70030019d000100000000001f00000080010000390000004004000039000000000014043500000001012001900000006f0000c13d0000000002000031000000040120008c0000007a0000413d0000000201000367000000000101043b000000e001100270000002b90310009c000000290000c13d0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0ad708e90000040f000000270000013d000200000004001d000002ba0310009c000000810000613d000002bb0310009c0000009c0000613d000002bc0310009c000000be0000613d000002bd0310009c000000d80000613d000002be0310009c000000f30000613d000002bf0310009c0000010d0000613d000002c00310009c000002200000613d000002c10310009c000001460000613d000002c20210009c0000023b0000613d000002c30210009c000001580000613d000002c40210009c000001720000613d000002c50210009c000002550000613d000002c60210009c0000018c0000613d000002c70210009c000002780000613d000002c80210009c000001a20000613d000002c90210009c0000028e0000613d000002ca0210009c000001ba0000613d000002cb0210009c000001d20000613d000002cc0210009c000001ec0000613d000002cd0210009c000002060000613d000002ce0110009c000002d20000c13d0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000004010000390ad70ad50000040f00000002020000290000000003020433000002d00110019700000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000002b8030000410ad7039b0000040f000000000120004c000002d20000c13d0ad703ff0000040f0000000001000019000000000200001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000000010000190ad70ad50000040f00000002020000290000000003020433000002d00110019700000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000200310008c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000004010000390000000201100367000000000101043b0000000005010433000002b7010000410000000002000414000002b70320009c0000000001024019000000c001100210000002d4011001c70000800d020000390000000203000039000002d5040000410ad70ac90000040f0000000101200190000002d20000613d000002d50000013d0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000003010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000002010000390ad70ad50000040f00000002020000290000000003020433000000e00110021000000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000006010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000800310008c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d000000000100041400000002040003670000006402400370000000000602043b0000004402400370000000000502043b0000000402400370000000000302043b0000000002000410000000040720008c000002cd0000c13d0000001f0160018f0000000502600270000000000420004c000001360000613d0000000004000019000000050640021000000000076500190000000006630019000000000606043300000000006704350000000104400039000000000624004b0000012e0000413d000000000410004c000002d50000613d0000000502200210000000000323001900000000022500190000000301100210000000000402043300000000041401cf000000000414022f00000000030304330000010001100089000000000313022f00000000011301cf000000000141019f0000000000120435000002d50000013d000000040120008a000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0ad706e60000040f0000000001000019000000000200001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0000000a010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000008010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0ad70a100000040f0000000001000019000000000200001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000002010000290000000001010433000002d3020000410000000000210435000000200200003900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000400310008c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000002010003670000002402100370000000000202043b0000000401100370000000000101043b00000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000001010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0000000b010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000005010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000009010000390ad70ad50000040f00000002020000290000000003020433000002d00110019700000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000007010000390ad70ad50000040f0000000202000029000000000302043300000000001304350000002002000039000000000103001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000200310008c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000002010003670000000402100370000000000202043b000000000121034f000000000501043b000002b7010000410000000002000414000002b70320009c0000000001024019000000c001100210000002d4011001c70000800d020000390000000203000039000002d5040000410ad70ac90000040f0000000101200190000002d50000c13d000002d20000013d0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d0ad707770000040f0000000001000019000000000200001900000000030000190ad7039b0000040f0000000001000416000000000110004c000002d20000c13d000000040100008a0000000001100031000002cf02000041000000000310004c00000000030000190000000003024019000002cf01100197000000000410004c000000000200a019000002cf0110009c00000000010300190000000001026019000000000110004c000002d20000c13d00000002010000290000000003010433000002d1010000410000000000130435000000000100041400000002020000390000000e04000039000000200600003900000000050000190ad7031f0000040f000000000110004c000002d90000c13d000000030200036700000001040000310000001f0340018f000000020100002900000000010104330000000504400270000000000540004c000002bc0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000002b40000413d000000000530004c000002cb0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310ad703a50000040f0000002404400370000000000404043b0ad702ea0000040f000000000110004c000002d50000c13d000000000100001900000000020000190ad703a50000040f0000000001000019000000000200001900000000030000190ad7039b0000040f0000000001000433000002d20410016700000002030000290000000001030433000100000001001d000000400210003900000000004204350000002004100039000002d202000041000000000024043500000000003104350ad703ae0000040f00000001010000290ad709ab0000040f000000000100001900000000020000190ad703a50000040f0002000000000002000200000006001d000100000005001d000002b705000041000002b70630009c00000000030580190000004003300210000002b70640009c00000000040580190000006004400210000000000334019f000002b70410009c0000000001058019000000c001100210000000000113019f0ad70ac90000040f000000010800002900000002040000290000001f0340018f0000000504400270000000000540004c000003090000613d000000000500001900000005065002100000000007680019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000003010000413d000000010220018f000000000530004c000003190000613d0000000504400210000000000541034f00000000044800190000000303300210000000000604043300000000063601cf000000000636022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000363019f000000000034043500030000000103550000006001100270000102b70010019d00000000010200190000000200000005000000000001042d0002000000000002000200000006001d000100000005001d000002b705000041000002b70630009c00000000030580190000004003300210000002b70640009c00000000040580190000006004400210000000000334019f000002b70410009c0000000001058019000000c001100210000000000113019f0ad70ace0000040f000000010800002900000002040000290000001f0340018f0000000504400270000000000540004c0000033e0000613d000000000500001900000005065002100000000007680019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000003360000413d000000010220018f000000000530004c0000034e0000613d0000000504400210000000000541034f00000000044800190000000303300210000000000604043300000000063601cf000000000636022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000363019f000000000034043500030000000103550000006001100270000102b70010019d00000000010200190000000200000005000000000001042d000002b703000041000002b70410009c00000000010380190000004001100210000002b70420009c00000000020380190000006002200210000000000112019f0000000002000414000002b70420009c0000000002038019000000c002200210000000000112019f000002d4011001c700008010020000390ad70ace0000040f0000000102200190000003680000613d000000000101043b000000000001042d000000000100001900000000020000190ad703a50000040f0000000003010019000002b7010000410000000004000414000002b70540009c0000000001044019000000c00110021000000060022002100000000001120019000002d60110004100000000020300190ad70ace0000040f00000001022001900000037a0000613d000000000101043b000000000001042d000000000100001900000000020000190ad703a50000040f0000004402100039000000000300041400000060040000390000000000420435000002d70200004100000000002104350000006402100039000000000002043500000004021000390000000000020435000002b702000041000002b70430009c0000000003028019000002b70410009c00000000010280190000004001100210000000c002300210000000000112019f000002d8011001c700008006020000390ad70ac90000040f0000000102200190000003960000613d000000000101043b0000039a0000013d00030000000103550000006001100270000102b70010019d0000000001000019000000000001042d000002b704000041000002b70510009c000000000104801900000040011002100000000001310019000002b70320009c00000000020480190000006002200210000000000121001900000ad80001042e000002b703000041000002b70420009c0000000002038019000002b70410009c000000000103801900000040011002100000006002200210000000000112019f00000ad900010430000002d90210009c000003b40000813d000000600110003900000040020000390000000000120435000000000001042d000002da010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f0000004002100039000002db030000410000000000320435000000200210003900000017030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d0000006002100039000002dc0300004100000000003204350000004002100039000002dd030000410000000000320435000000200210003900000026030000390000000000320435000000200200003900000000002104350000008001100039000000000001042d0000004002100039000002de03000041000000000032043500000020021000390000002003000039000000000032043500000000003104350000006001100039000000000001042d0000006002100039000002df0300004100000000003204350000004002100039000002e0030000410000000000320435000000200210003900000022030000390000000000320435000000200200003900000000002104350000008001100039000000000001042d0000004002100039000002e103000041000000000032043500000020021000390000002003000039000000000032043500000000003104350000006001100039000000000001042d0000006002100039000002e20300004100000000003204350000004002100039000002e303000041000000000032043500000020021000390000002c030000390000000000320435000000200200003900000000002104350000008001100039000000000001042d00080000000000020000000001000412000002d0021001970000000001000410000800000002001d000000000112004b000005dc0000c13d0ad706e60000040f0ad707770000040f0000000c010000390ad70ad50000040f000500000001001d000000000110004c000005eb0000613d000002e60100004100000000001004390000000401000039000300000001001d00000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d0000004001000039000700000001001d0000000002010433000002e701000041000600000002001d000000000012043500000000010004140000000802000029000000040320008c000005ce0000613d00000004040000390000000603000029000400000004001d000000000503001900000000060000190ad702ea0000040f000000000110004c000005ce0000c13d0000000c010000390ad70ad50000040f0000000502000029000000000121004b000005fa0000c13d000002e6010000410000000000100439000000080200002900000004010000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002e9010000410000000000130435000000000100041400000004040000390000000802000029000600000004001d000500000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006090000c13d0ad70a100000040f00000000010004140000000003000416000000000230004c0000045d0000613d000002b702000041000002b70410009c0000000001028019000000c001100210000002d4011001c70000800902000039000002eb0400004100000000050000190ad70ac90000040f000000000301034f000000010120018f000300000003035500000000020300190000006002200270000102b70020019d000002b702200197000004640000013d000002eb0200004100000000030000190000000004000019000000000500001900000000060000190ad702ea0000040f0000000102000031000000000320004c0000000809000029000004950000613d0000003f03200039000000200400008a000000000443016f000000070700002900000000030704330000000004430019000000000534004b00000000050000190000000105004039000002ea0640009c000006a30000213d0000000105500190000006a30000c13d000000000047043500000000002304350000002002300039000000030300036700000001050000310000001f0450018f0000000505500270000000000650004c000004860000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000047e0000413d000000000640004c000004950000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000000110004c000006170000613d0000000001000414000500000001001d000002e601000041000000000010043900000006010000290000000000910439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d000000070100002900000000030104330000002401300039000002b7020000410000000000210435000002ec0100004100000000001304350000000401300039000200000001001d00000000000104350000000501000029000027102110011a00000044040000390000000802000029000400000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006260000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d000000070100002900000000030104330000002401300039000000010200008a000400000002001d0000000000210435000002ec0100004100000000001304350000000401300039000100000001001d00000000000104350000000501000029000027102110011a00000044040000390000000802000029000200000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006350000c13d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002ed01000041000000000013043500000004043000390000000001000414000002b702000041000200000004001d000000000024043500000024040000390000000802000029000500000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006440000c13d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002ed01000041000000000013043500000004043000390000000001000414000002ee02000041000200000004001d000000000024043500000024040000390000000802000029000500000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006530000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002ef0100004100000000001304350000000402300039000002f001000041000100000002001d00000000001204350000000501000029000027102110011a00000024040000390000000802000029000200000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006620000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002ef0100004100000000001304350000000402300039000002b701000041000100000002001d00000000001204350000000501000029000027102110011a00000024040000390000000802000029000200000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006710000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002ef01000041000000000013043500000004023000390000000401000029000100000002001d00000000001204350000000501000029000027102110011a00000024040000390000000802000029000200000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c000006800000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d000000070100002900000000030104330000006401300039000002f102000041000000000021043500000044013000390000000000210435000002f2010000410000000000130435000000240130003900000000000104350000000401300039000200000001001d00000000000104350000000501000029000027102110011a00000084040000390000000802000029000400000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c0000068f0000c13d0000000001000414000500000001001d000002e6010000410000000000100439000000060100002900000008020000290000000000210439000080020100003900000024020000390ad7036b0000040f000000000110004c000005cb0000613d00000007010000290000000003010433000002f20100004100000000001304350000002401300039000002f10200004100000000002104350000000401300039000400000001001d000000000021043500000064013000390000000000010435000000440130003900000000000104350000000501000029000027102110011a00000084040000390000000802000029000600000003001d000000000503001900000000060000190ad702ea0000040f000000000110004c0000069e0000c13d00000007010000290000000001010433000002f30210009c000006a30000213d0000002402100039000002f40300004100000000003204350ad7037d0000040f000000000210004c000006ab0000613d000002d005100197000000000150004c000006cd0000613d000002b7010000410000000002000414000002b70320009c0000000001024019000000c001100210000002d4011001c70000800d020000390000000303000039000002f50400004100000000060004110ad70ac90000040f0000000101200190000005cb0000613d0000000800000005000000000001042d000000000100001900000000020000190ad703a50000040f0000000601000029000002f80110009c0000000701000029000006a30000813d00000006020000290000000000210435000002e501000041000000000012043500000004012000390ad703bc0000040f0000000603000029000000000231004900000000010300190ad703a50000040f000000400100003900000000010104330000004402100039000002e4030000410000000000320435000000240210003900000010030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f000000400100003900000000010104330000004402100039000002f9030000410000000000320435000000240210003900000018030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f000000070100002900000000010104330000004402100039000002e803000041000000000032043500000024021000390000001b030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f0000000501000029000002ea0110009c0000000701000029000006a30000213d00000005020000290000000000210435000002e501000041000000000012043500000004012000390ad703c60000040f0000000503000029000000000231004900000000010300190ad703a50000040f000000070100002900000000010104330000004402100039000002f7030000410000000000320435000000240210003900000014030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f00000002020000290000000401000029000002ea0110009c0000000701000029000006a30000213d00000004030000290000000000310435000002e501000041000000000013043500000000010200190ad703d30000040f0000000403000029000000000231004900000000010300190ad703a50000040f00000001020000290000000201000029000002ea0110009c0000000701000029000006a30000213d00000002030000290000000000310435000002e501000041000000000013043500000000010200190ad703d30000040f0000000203000029000000000231004900000000010300190ad703a50000040f00000002020000290000000501000029000002ea0110009c0000000701000029000006a30000213d00000005030000290000000000310435000002e501000041000000000013043500000000010200190ad703dc0000040f0000000503000029000000000231004900000000010300190ad703a50000040f00000002020000290000000501000029000002ea0110009c0000000701000029000006a30000213d00000005030000290000000000310435000002e501000041000000000013043500000000010200190ad703dc0000040f0000000503000029000000000231004900000000010300190ad703a50000040f00000001020000290000000201000029000002ea0110009c0000000701000029000006a30000213d00000002030000290000000000310435000002e501000041000000000013043500000000010200190ad703e90000040f0000000203000029000000000231004900000000010300190ad703a50000040f00000001020000290000000201000029000002ea0110009c0000000701000029000006a30000213d00000002030000290000000000310435000002e501000041000000000013043500000000010200190ad703e90000040f0000000203000029000000000231004900000000010300190ad703a50000040f00000001020000290000000201000029000002ea0110009c0000000701000029000006a30000213d00000002030000290000000000310435000002e501000041000000000013043500000000010200190ad703e90000040f0000000203000029000000000231004900000000010300190ad703a50000040f00000002020000290000000401000029000002ea0110009c0000000701000029000006a30000213d00000004030000290000000000310435000002e501000041000000000013043500000000010200190ad703f20000040f0000000403000029000000000231004900000000010300190ad703a50000040f00000004020000290000000601000029000002ea0110009c0000000701000029000006dc0000a13d000002da010000410000000000100435000000410100003900000003020000290000000000120435000000240200003900000000010000190ad703a50000040f000000030200036700000001040000310000001f0340018f000000070100002900000000010104330000000504400270000000000540004c000006bc0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000006b40000413d000000000530004c000006cb0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310ad703a50000040f000000070100002900000000010104330000004402100039000002f6030000410000000000320435000000240210003900000019030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f00000006030000290000000000310435000002e501000041000000000013043500000000010200190ad703f20000040f0000000603000029000000000231004900000000010300190ad703a50000040f0004000000000002000002fa0100004100000000001004390000800b0100003900000004020000390ad7036b0000040f0000000002000411000000000121004b000007740000c13d0000000001000032000007740000c13d000002fb0100004100000000001004390000800b0100003900000004020000390ad7036b0000040f000000000110004c000007120000613d000002fb0100004100000000001004390000800b010000390000000402000039000100000002001d0ad7036b0000040f000000000110004c0000076c0000613d000002fb01000041000400000001001d00000000001004390000800b01000039000300000001001d0000000402000039000200000002001d0ad7036b0000040f00000004020000290000000000200439000400000001001d000000030100002900000002020000290ad7036b0000040f000003e8011000390000000402000029000000000112004b0000076c0000213d000002fc0100004100000000001004390000800b01000039000300000001001d0000000402000039000400000002001d0ad7036b0000040f0000000a020000390ad70ad30000040f000002fd010000410000000000100439000000030100002900000004020000290ad7036b0000040f000100000001001d0000000901000039000200000001001d0ad70ad50000040f0000000102000029000002d002200197000002fe01100197000000000121019f00000002020000290ad70ad30000040f000002ff010000410000000000100439000000030100002900000004020000290ad7036b0000040f00000008020000390ad70ad30000040f00000300010000410000000000100439000000030100002900000004020000290ad7036b0000040f00000007020000390ad70ad30000040f00000301010000410000000000100439000000030100002900000004020000290ad7036b0000040f00000006020000390ad70ad30000040f00000302010000410000000000100439000000030100002900000004020000290ad7036b0000040f00000003020000390ad70ad30000040f000002fa010000410000000000100439000000030100002900000004020000290ad7036b0000040f000200000001001d00000004010000290ad70ad50000040f0000000202000029000002d002200197000002fe01100197000000000121019f00000004020000290ad70ad30000040f0000000201000367000000000101043b000100000001001d0000000201000039000200000001001d0ad70ad50000040f0000000102000029000000e0022002700000030301100197000000000121019f00000002020000290ad70ad30000040f000002fb010000410000000000100439000000030100002900000004020000290ad7036b0000040f00000005020000390ad70ad30000040f00000000010004160000000b020000390ad70ad30000040f0000000400000005000000000001042d000002da010000410000000000100435000000110100003900000001020000290000000000120435000000240200003900000000010000190ad703a50000040f000000000100001900000000020000190ad703a50000040f000a0000000000020000000001000414000100000001001d0000004001000039000400000001001d0000000003010433000003040130009c000008640000813d000000a001300039000000040200002900000000001204350000008001300039000003050200004100000000002104350000006001300039000003060200004100000000002104350000004001300039000003070200004100000000002104350000002001300039000003080200004100000000002104350000007a0100003900000000001304350000000002000019000000030120008c000a00000003001d0000082d0000213d000200000002001d000000000203043300000020013000390ad703540000040f0000000a0700002900000004020000290000000003020433000900000001001d000000000100041400000000040704330000000002000019000000000542004b000007a70000813d000000000532001900000020022000390000000006720019000000000606043300000000006504350000079f0000013d000000000234001900000000000204350000000202000039000000200600003900000000050000190ad7031f0000040f000000000110004c0000086c0000613d00000000020004330000000a0800002900000000010804330000000403000029000000000703043300000020037000390000000004000019000000000514004b000007be0000813d00000000053400190000002004400039000000000684001900000000060604330000000000650435000007b60000013d0000000904000029000000000442013f0000000002310019000500000004001d0000000000420435000000200210003900000000002704350000005f01100039000000200200008a000000000221016f000300000007001d0000000001720019000000000221004b00000000020000190000000102004039000002ea0310009c000008640000213d0000000102200190000008640000c13d000000040200002900000000001204350000000c01000039000a00000001001d0ad70ad50000040f0000000003010019000002ea0130009c000008640000213d00000001013000390000000a02000029000900000003001d0ad70ad30000040f0000000a01000029000000000010043500000009010000290000030c0210004100000005010000290ad70ad30000040f0000000a010000290ad70ad50000040f000000000210004c0000085c0000613d000000010110008a000000000210004c000008190000613d000a00000001001d0ad708b00000040f000800000002001d0ad70ad50000040f000600000001001d0000000a01000029000000010110008a0000000101100270000900000001001d0ad708b00000040f000700000002001d0ad70ad50000040f00000007020000290000000302200210000000000121022f000000ff0220008c000000000100201900000008020000290000000302200210000000ff0320008c0000000a03000029000008190000213d0000000604000029000000000224022f000000000112004b000008190000a13d00000009010000290ad708b00000040f000800000002001d0ad70ad50000040f000700000001001d0000000a010000290ad708b00000040f000000080300002900000003033002100000000704000029000000000434022f000000ff0330008c000000000304001900000000030020190ad708c60000040f00000009010000290ad708b00000040f00000005030000290ad708c60000040f0000000901000029000007e80000013d0000000c010000390ad70ad50000040f000000000210004c0000085c0000613d000000010210008a0000000001210170000008270000c13d0000000d010000390ad70ad50000040f000002ea01100197000002ea0210009c0000085c0000613d00000001011000390ad708dc0000040f00000003010000290ad709ab0000040f000000020200002900000001022000390000000303000029000007910000013d0ad708e90000040f0000000007000414000000040100002900000000010104330000000102000029000000000272004b0000088e0000a13d0000000a0600002900000000020604330000000003000019000000000423004b0000083f0000813d00000000041300190000002003300039000000000563001900000000050504330000000000540435000008370000013d00000000031200190000000000030435000a00000007001d0ad703540000040f00000001020000290000000a0300002900000000023200490000000403000029000000000303043300000000002304350000000005010019000002b7010000410000000002000414000002b70420009c0000000002018019000002b70430009c00000000010340190000004001100210000000c002200210000000000112019f0000030a011001c70000800d0200003900000002030000390000030b040000410ad70ac90000040f00000001012001900000089b0000613d0000000a00000005000000000001042d000002da010000410000000000100435000000110100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f000002da010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f000000030200036700000001040000310000001f0340018f000000040100002900000000010104330000000504400270000000000540004c0000087d0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000008750000413d000000000530004c0000088c0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310ad703a50000040f000000440210003900000309030000410000000000320435000000240210003900000012030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f000000000100001900000000020000190ad703a50000040f00010000000000020000000c01000039000100000001001d0ad70ad50000040f000000000110004c000008a80000613d000000010100002900000000001004350000000100000005000000000001042d000002da010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f0002000000000002000200000001001d0000000c01000039000100000001001d0ad70ad50000040f0000000202000029000000000121004b000008be0000a13d000000010100002900000000001004350000030c0120004100000000020000190000000200000005000000000001042d000002da010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f0003000000000002000200000003001d000100000002001d000300000001001d0ad70ad50000040f00000001020000290000000302200210000000010300008a00000000042301cf000000ff0520008c0000000004002019000000020500002900000000022501cf0000000002002019000000000242016f000000000334013f000000000131016f000000000121019f00000003020000290ad70ad30000040f0000000300000005000000000001042d0002000000000002000100000001001d0000000d01000039000200000001001d0ad70ad50000040f0000000102000029000002ea022001970000030d01100197000000000121019f00000002020000290ad70ad30000040f0000000200000005000000000001042d00080000000000020000000c010000390ad70ad50000040f000700000001001d000000000110004c000009940000613d0ad7089e0000040f0000030c01000041000800000001001d0ad70ad50000040f0000000701000029000000010110008a0ad708b00000040f0ad70ad50000040f000700000001001d0ad7089e0000040f00000008010000290ad70ad50000040f000000070100002900000008020000290ad70ad30000040f0000000c01000039000200000001001d0ad70ad50000040f000000000210004c000009a30000613d00000002020000290000000000200435000800000001001d0000030e0210004100000000010000190ad70ad30000040f0000000801000029000000010110008a00000002020000290ad70ad30000040f000000010100008a000100000001001d0000000003000019000700000003001d000002cf010000410000000102000029000000000223004b00000000020000190000000002012019000002cf03300197000002cf0430009c0000000001008019000002cf03300167000002cf0330009c000000000102c019000000000110004c0000098c0000613d00000002010000290ad70ad50000040f0000000704000029000000010240021000000001032001bf000800000003001d000000000313004b0000097b0000813d0000000202200039000000000112004b000009430000813d0000000801000029000600000002001d0ad708b00000040f000500000002001d0ad70ad50000040f000400000001001d00000006010000290ad708b00000040f000300000002001d0ad70ad50000040f000000050200002900000003022002100000000403000029000000000323022f000000ff0220008c0000000002030019000000000200201900000003030000290000000303300210000000ff0430008c0000000604000029000009430000213d000000000131022f000000000121004b000009430000a13d000800000004001d00000008010000290ad708b00000040f000600000002001d0ad70ad50000040f000400000001001d00000007010000290ad708b00000040f000500000002001d0ad70ad50000040f000000070400002900000005020000290000000302200210000000000121022f000000ff0220008c000000000100201900000006020000290000000302200210000000ff0320008c0000097b0000213d0000000403000029000000000223022f000000000112004b0000097b0000a13d00000000010400190ad708b00000040f000600000002001d0ad70ad50000040f000500000001001d0000000801000029000800000001001d0ad708b00000040f000400000002001d0ad70ad50000040f000300000001001d00000007010000290ad708b00000040f000000040300002900000003033002100000000304000029000000000434022f000000ff0330008c000000000304001900000000030020190ad708c60000040f00000008010000290ad708b00000040f000000060300002900000003033002100000000504000029000000000434022f000000ff0330008c000000000304001900000000030020190ad708c60000040f0000000803000029000009100000013d0000000c010000390ad70ad50000040f0000000102000029000000000221004b0000098c0000613d000000010210003900000000011201700000098a0000c13d0000000d010000390ad70ad50000040f000002ea01100197000000010110008a000002ea0210009c0000098c0000213d0ad708dc0000040f0000000800000005000000000001042d000002da010000410000000000100435000000110100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f0000004001000039000000000101043300000044021000390000030f030000410000000000320435000000240210003900000001030000390000000000320435000002e502000041000000000021043500000004021000390000002003000039000000000032043500000064020000390ad703a50000040f000002da010000410000000000100435000000310100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f00020000000000020000004002000039000200000002001d00000000030204330000031002000041000000000023043500000004023000390000002004000039000000000042043500000000020104330000002404300039000000000024043500000044073000390000000004000019000000000524004b000009c10000813d00000000057400190000002004400039000000000614001900000000060604330000000000650435000009b90000013d000000000172001900000000000104350000001f01200039000000200200008a000000000121016f00000044041000390000000001000414000080080200003900000020060000390000000005030019000100000003001d0ad702ea0000040f0000000104000031000000000110004c000009e40000613d000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000001010000290000000001120019000000000221004b00000000020000190000000102004039000002ea0310009c00000a050000213d000000010220019000000a050000c13d00000002020000290000000000120435000000200140008c00000a0d0000413d0000000200000005000000000001042d00000003030003670000001f0240018f000000020100002900000000010104330000000504400270000000000540004c000009f40000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000009ec0000413d000000000520004c00000a030000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310ad703a50000040f000002da010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f000000000100001900000000020000190ad703a50000040f000300000000000200000040050000390000000001050433000002d90210009c00000a6e0000813d00000060021000390000000000250435000003110200004100000000002104350000000002050433000003120320009c00000a6e0000213d0000008003200039000000000035043500000060032000390000031304000041000000000043043500000040032000390000031404000041000000000043043500000020032000390000031504000041000000000043043500000041060000390000000000620435000000400310003900000316040000410000000000430435000000200310003900000000002304350000000007050433000003170270009c00000a6e0000213d00000060027000390000000000250435000003180200004100000000002704350000000002050433000003120320009c00000a6e0000213d0000008003200039000000000035043500000060032000390000031304000041000000000043043500000040032000390000031904000041000000000043043500000020032000390000031a040000410000000000430435000000000062043500000040037000390000031b04000041000000000043043500000020037000390000000000230435000300000005001d000200000006001d000100000007001d0ad70a760000040f00000001010000290ad70a760000040f000000020500002900000003040000290000000001040433000003170210009c00000a6e0000213d000000600210003900000000002404350000031c0200004100000000002104350000000002040433000003120320009c00000a6e0000213d0000008003200039000000000034043500000060032000390000031d04000041000000000043043500000040032000390000031e04000041000000000043043500000020032000390000031f040000410000000000430435000000000052043500000020031000390000000000230435000000400210003900000000000204350ad70a760000040f0000000300000005000000000001042d000002da010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190ad703a50000040f0002000000000002000000200210003900000000030204330000000002030433000000410220008c00000aa40000c13d00000041023000390000000002020433000000ff0220018f0000001b0420008a000000010440008c00000aa40000213d00000040041000390000000004040433000200000004001d000000000101043300000020043000390000000004040433000000400330003900000000050304330000004003000039000100000003001d000000000303043300000060063000390000000000560435000000400530003900000000004504350000002004300039000000000024043500000000001304350000000000000435000000000100041400000001020000390000008004000039000000200600003900000000050000190ad7031f0000040f000000000110004c00000aa70000613d00000000010004330000000202000029000000000121013f000002d00110019800000aa40000c13d0000000200000005000000000001042d000000000100001900000000020000190ad703a50000040f000000030200036700000001040000310000001f0340018f000000010100002900000000010104330000000504400270000000000540004c00000ab80000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00000ab00000413d000000000530004c00000ac70000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310ad703a50000040f00000acc002104210000000102000039000000000001042d0000000002000019000000000001042d00000ad1002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d00000ad70000043200000ad80001042e00000ad9000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006603c2f10000000000000000000000000000000000000000000000000000000002d05d3f000000000000000000000000000000000000000000000000000000000738693d0000000000000000000000000000000000000000000000000000000019d8ac610000000000000000000000000000000000000000000000000000000022844fbc000000000000000000000000000000000000000000000000000000002abbd748000000000000000000000000000000000000000000000000000000003b29037c000000000000000000000000000000000000000000000000000000004840a05100000000000000000000000000000000000000000000000000000000579ae3ec0000000000000000000000000000000000000000000000000000000059308f0f000000000000000000000000000000000000000000000000000000005efe4bb4000000000000000000000000000000000000000000000000000000007737dde7000000000000000000000000000000000000000000000000000000007b494b6e000000000000000000000000000000000000000000000000000000007fd5946100000000000000000000000000000000000000000000000000000000874e8f8f00000000000000000000000000000000000000000000000000000000993a04b700000000000000000000000000000000000000000000000000000000ab25690f00000000000000000000000000000000000000000000000000000000aea34ae800000000000000000000000000000000000000000000000000000000af640d0f00000000000000000000000000000000000000000000000000000000be8b112000000000000000000000000000000000000000000000000000000000c6f9688400000000000000000000000000000000000000000000000000000000fb38aa568000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff54657374206d65737361676520320000000000000000000000000000000000003ea98af6e35141fbcacc1724e14f5d76b9b58e41f6c35d0e8ae2e204e66695eb993a04b70000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000449bf97d987c61f24f2a6bbac8f2e426eab123cdfadfc01364acfff36c658d902000002000000000000000000000000000000000000000000000000000000009c4d535bdea7cd8a978f128b93471df48c7dbab89d703809115bdc118c235bfd0200000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa04e487b71000000000000000000000000000000000000000000000000000000006865617020746573742073686f756c64206661696c65640000000000000000006661696c6564000000000000000000000000000000000000000000000000000073656e64696e67206c31206d6573736167657320746573742073686f756c642072657475726e206d656d6f727920746573742073686f756c64206661696c656465640000000000000000000000000000000000000000000000000000000000006163636573732063616c6c6461746120746573742073686f756c64206661696c616363657373206d656d6f727920746573742073686f756c64206661696c6564686f756c64206661696c656400000000000000000000000000000000000000007261772063616c6c2074657374207769746820626967206f7574207075742073696e2064656c65676174652063616c6c0000000000000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b836603c2f100000000000000000000000000000000000000000000000000000000486561702073686f756c64206e6f74206265206d6f6469666965640000000000ab25690f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaea34ae8000000000000000000000000000000000000000000000000000000007b494b6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000738693d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff00000000000000000000000000000000000000000000000000000000800000003b29037c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7b01000035cd4a1b3f84331419050d6ae2d93c44ec0563f2f82bd890769ed5abec2d49c67975aadd2d389580b368cfff5b49965b0bd5da33c144922ce01e7a4d7b4661696c656420746f206465706c6f7920636f6e7472616374000000000000006661696c6564207472616e736665722063616c6c0000000000000000000000000000000000000000000000000000000000000000000000010000000000000000486561702073686f756c64206e6f7420626520656d7074790000000000000000938b5f3299a1f3b18e458564efbb950733226014eece26fae19012d850b48d8342cbb15ccdc3cad6266b0e7a08c0454b23bf29dc2df74b6f3c209e9336465bd119cae4629a2dd7890036d0d1f6a82742845b778b7184e38d5bebfd4cce3b181ea6ae0aac158b2d5c9a9c9285743419d62a32f6727a640955e4ce8ee41503c784ffffffffffffffffffffffff00000000000000000000000000000000000000007877a797fe6dca4321f33fd95414da079ab78e698d761514c01ced9211af267efe173b97ed9aa263236c52fa3eb334d07741add95e972d17352d76816b4aaea39a8a0592ac89c5ad3bc6df8224c17b485976f597df104ee20d0df415241f670b796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d95539132ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000ffffffffffffff6074686520696e6475737472792773207374616e646172642e2e2e00000000000020696e6475737472792e204c6f72656d20497073756d20686173206265656e20206f6620746865207072696e74696e6720616e64207479706573657474696e674c6f72656d20497073756d2069732073696d706c792064756d6d792074657874536f6d65206572726f72206d6573736167650000000000000000000000000000020000000000000000000000000000000000002000000000000000000000000085bd2d2aa0e5528cca3248dfb1e992d0113a553802d7924fdf049ae9ed1d5b30df6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000df6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6770000000000000000000000000000000000000000000000000000000000000062f84b240000000000000000000000000000000000000000000000000000000014431339128bd25f2c7f93baa611e367472048757f4ad67f6d71a5ca0da550f5000000000000000000000000000000000000000000000000ffffffffffffff7f1c0000000000000000000000000000000000000000000000000000000000000046eabf35680328e26ef4579caf8aeb2cf9ece05dbf67a4f3d1f28c7b1d0e354651e4dbbbcebade695a3f0fdf10beb8b5f83fda161e1a3105a14c41168bf3dce00000000000000000000000007f8b3b04bf34618f4a1723fba96b5db211279a2b000000000000000000000000000000000000000000000000ffffffffffffff9fe0682fd4a26032afff3b18053a0c33d2a6c465c0e19cb1e4c10eb0a949f2827c0bdb5f0ac79d1a7efdc255f399a045038c1b433e9d06c1b1abd58a5fcaab33f1c46cdc50a66f4d07c6e9a127a7277e882fb21bcfb5b068f2b58c7f7283993b790000000000000000000000000865a77d4d68c7e3cdd219d431cfee9271905074dd69e9950f52dddcbc6751fdbb6949787cc1b84ac4020ab0617ec8ad950e554a1b000000000000000000000000000000000000000000000000000000000000004068f5b5e6c4b442e83fcb7b6290520ebb5e077cd10d3bd86cf431ca4b640162b00986d8bb52ee7acb06cabfa6c2c099d8904c7c8d56707a267ddbafd7aed0700000000000000000000000000000000000000000000000000000000000000000", - "default_account_code": "0x0004000000000002000700000000000200000000030100190000006003300270000003540430019700030000004103550002000000010355000003540030019d000100000000001f00000080010000390000004007000039000000000017043500000001012001900000005b0000c13d0000000001000031000000040210008c000000660000413d0000000202000367000000000302043b000000e003300270000003560430009c000000000a00041100000000090004120000000008000410000000740000613d000003570430009c0000008c0000613d000003580430009c000000b30000613d000003590430009c000000c50000613d0000035a0330009c0000006c0000c13d000000040310008a0000035b04000041000000200530008c000000000500001900000000050440190000035b03300197000000000630004c000000000400a0190000035b0330009c00000000030500190000000003046019000000000330004c000000cb0000c13d0000000402200370000000000602043b0000035c0260009c000000cb0000213d000000040560003900000000015100490000035b02000041000002600310008c000000000300001900000000030240190000035b01100197000000000410004c000000000200a0190000035b0110009c00000000010300190000000001026019000000000110004c000000cb0000c13d0000800101a0008c000000680000c13d0000035d09900197000000000189004b000000680000c13d0000000001000414000000000207043300000020032000390000035e04000041000000000043043500000104036000390000000203300367000000000303043b00000024042000390000000000340435000000240300003900000000003204350000035f0320009c000000f60000a13d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f0000000001000416000000000110004c000000cb0000c13d00000020020000390000010001000039000000000021043900000120020000390000000000020439000000400200003900000355030000410d4902960000040f000000000110004c0000006c0000c13d0000000001000019000000000200001900000000030000190d4902960000040f0000000001000416000000000110004c000000cb0000c13d0d4905bf0000040f0000000001000019000000000200001900000000030000190d4902960000040f000500000009001d000600000008001d000400000007001d00070000000a001d0d4902a90000040f0000000701000029000080010110008c000000680000c13d00000005010000290000035d011001970000000604000029000000000141004b000000680000c13d000000000102001900000000020300190d49042e0000040f00000004020000290000000003020433000003640110019700000000001304350000002002000039000000000103001900000000030000190d4902960000040f000500000009001d000600000008001d000400000007001d00070000000a001d0d4902a90000040f0000000701000029000080010110008c000000680000c13d00000005010000290000035d021001970000000601000029000000000112004b000000680000c13d000600000002001d00000220023000390000000001030019000700000002001d000300000003001d0d4903300000040f000000030120008c000000c60000213d0000000401000029000000000101043300000064021000390000036f03000041000000000032043500000044021000390000037003000041000000000032043500000024021000390000003a0300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000084020000390d4902a00000040f000500000009001d000600000008001d00070000000a001d0d4902a90000040f0000000701000029000080010110008c000000680000c13d00000005010000290000035d011001970000000602000029000000000121004b000000680000c13d00000000010300190d49049f0000040f0000000001000019000000000200001900000000030000190d4902960000040f0d4902d10000040f000000030100002900000007020000290d4903300000040f000000040220008c000000ce0000813d000000000100001900000000020000190d4902a00000040f0000000201100367000000000101043b0000036401100197000003650210009c000000e90000c13d000000030100002900000007020000290d4903300000040f000000430120008c000001390000213d0000000404000029000000000104043300000064021000390000036d03000041000000000032043500000044021000390000036e030000410000000000320435000000240210003900000000004204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000084020000390d4902a00000040f000003660110009c000000680000613d00000004010000290000000002010433000700000002001d0000036701000041000000000012043500000004012000390d490c390000040f0000000703000029000000000231004900000000010300190d4902a00000040f000500000009001d000000600320003900000000003704350000035401100197000700000005001d000600000006001d0d4905cb0000040f00000007010000290d49061b0000040f000400000001001d000000060100002900000044011000390000000201100367000000000101043b000080060110008c0000010e0000c13d0000000601000029000001c40210003900000007010000290d4903300000040f000000030120008c000000000100001900000001010020390d49035d0000040f00000007010000290d490c430000040f0000036002000041000000000020043900000004030000390000000502000029000300000003001d0000000000230439000500000001001d0000800a0100003900000024020000390d4902840000040f0000000502000029000000000112004b0000000001000019000000010100a0390d49036e0000040f0000000601000029000001e402100039000600000002001d00000007010000290d4903300000040f00000000030000310d4903830000040f000000070100002900000006020000290d4903300000040f000000000120004c0000018d0000c13d000000060100002900000007010000290d4903c40000040f0000000002010433000000410220008c000001860000213d00000363010000410000000000100435000000320100003900000003020000290000000000120435000000240200003900000000010000190d4902a00000040f000000030100002900000007020000290d4903300000040f000000440220008c000000cb0000413d00000004031000390000000202000367000000000332034f000000000603043b0000035d0360009c000000cb0000213d0000000303000029000000e003300039000000000332034f0000002401100039000000000112034f000000000101043b000500000001001d000000000203043b000000040500002900000000030504330000036801000041000000000013043500000004073000390000000001000414000000060400002900000000004704350000035d042001970000002402300039000300000004001d0000000000420435000000040260008c0000019b0000613d000000440400003900000000020600190000000005030019000700000006001d000200000003001d0d49024a0000040f000000020300002900000007060000290000000405000029000000000110004c0000019b0000c13d000000030200036700000001040000310000001f0340018f00000000010504330000000504400270000000000540004c000001750000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b0000016d0000413d000000000530004c000001840000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310d4902a00000040f00000061011000390000000002010433000003610220019700000362022001c7000000000021043500000007010000290000000601000029000000070100002900000006020000290d4903300000040f00000000030000310d4903830000040f000000000201001900000004010000290d4905410000040f00000007010000290d49049f0000040f0000000001000019000000000200001900000000030000190d4902960000040f0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600420018f00000000070300190000000002340019000000000342004b000000000300001900000001030040390000035c0420009c000000530000213d0000000103300190000000530000c13d0000000000250435000000200110008c000000cb0000413d000700000006001d00000000010704330000000503000029000000000131004b000000680000813d0000002001200039000003690300004100000000003104350000002401200039000000030300002900000000003104350000004401000039000100000001001d0000000000120435000000440120003900000000000104350000036a0120009c00000004030000290000000701000029000000530000213d000000800420003900000000004304350d490c7d0000040f000000070200002900000004050000290000000006050433000003680100004100000000001604350000002403600039000000000100041400000003040000290000000000430435000200000006001d000000040460003900000006030000290000000000340435000000040320008c000001da0000613d0000004404000039000000020300002900000000050300190d49024a0000040f0000000405000029000000000110004c000001650000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f00000002030000290000000003320019000000000223004b000000000200001900000001020040390000035c0430009c000000530000213d0000000102200190000000530000c13d0000000000350435000000200110008c000000cb0000413d00000002010000290000000001010433000000000110004c000002040000c13d000000200130003900000369020000410000000000210435000000440130003900000005020000290000000000210435000000240130003900000003020000290000000000210435000000010100002900000000001304350000036a0130009c00000004020000290000000701000029000000530000213d0000008004300039000000000042043500000000020300190d490c7d0000040f000000680000013d00000064013000390000036b02000041000000000021043500000044013000390000036c02000041000000000021043500000024013000390000003602000039000000000021043500000367010000410000000000130435000000040130003900000020020000390000000000210435000000840200003900000000010300190d4902a00000040f0002000000000002000200000006001d000100000005001d0000035405000041000003540630009c00000000030580190000004003300210000003540640009c00000000040580190000006004400210000000000334019f000003540410009c0000000001058019000000c001100210000000000113019f0d490d3f0000040f000000010800002900000002040000290000001f0340018f0000000504400270000000000540004c000002340000613d000000000500001900000005065002100000000007680019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b0000022c0000413d000000010220018f000000000530004c000002440000613d0000000504400210000000000541034f00000000044800190000000303300210000000000604043300000000063601cf000000000636022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000363019f000000000034043500030000000103550000006001100270000103540010019d00000000010200190000000200000005000000000001042d0001000000000002000100000005001d0000035405000041000003540630009c00000000030580190000004003300210000003540640009c00000000040580190000006004400210000000000334019f000003540410009c0000000001058019000000c001100210000000000113019f0d490d440000040f0000000106000029000000010220018f000000000300001900000005043002100000000005460019000000000441034f000000000404043b00000000004504350000000103300039000000000430004c0000000004000019000000010400603900000001044001900000025c0000c13d00030000000103550000006001100270000103540010019d00000000010200190000000100000005000000000001042d0000035403000041000003540410009c00000000010380190000004001100210000003540420009c00000000020380190000006002200210000000000112019f0000000002000414000003540420009c0000000002038019000000c002200210000000000112019f00000371011001c700008010020000390d490d440000040f0000000102200190000002810000613d000000000101043b000000000001042d000000000100001900000000020000190d4902a00000040f000000000301001900000354010000410000000004000414000003540540009c0000000001044019000000c00110021000000060022002100000000001120019000003720110004100000000020300190d490d440000040f0000000102200190000002930000613d000000000101043b000000000001042d000000000100001900000000020000190d4902a00000040f0000035404000041000003540510009c000000000104801900000040011002100000000001310019000003540320009c00000000020480190000006002200210000000000121001900000d4a0001042e0000035403000041000003540420009c0000000002038019000003540410009c000000000103801900000040011002100000006002200210000000000112019f00000d4b00010430000000040210008a0000035b030000410000005f0420008c000000000400001900000000040320190000035b02200197000000000520004c00000000030080190000035b0220009c00000000020400190000000002036019000000000220004c000002ce0000613d00000002020003670000004403200370000000000303043b0000035c0430009c000002ce0000213d000000040330003900000000013100490000035b04000041000002600510008c000000000500001900000000050440190000035b01100197000000000610004c000000000400a0190000035b0110009c00000000010500190000000001046019000000000110004c000002ce0000c13d0000000401200370000000000101043b0000002402200370000000000202043b000000000001042d000000000100001900000000020000190d4902a00000040f000300000000000200000000010000310d4902a90000040f0000000001000411000080010110008c000003080000c13d00000000010004120000035d011001970000000002000410000000000121004b000003080000c13d000000a00230003900000000010004140000000204000367000000000524034f0000006002300039000000000224034f000000000202043b000000000405043b000000000340004c0000030c0000c13d0000000004000415000000030440008a00000020044000c9000300000000001d000100000004001d000080010200003900000000030000190000000004000019000000000500001900000000060000190d4902150000040f0000000103000029000000200230011a000000000201001f000000000110004c000003080000c13d000000400100003900000000010104330000006402100039000003730300004100000000003204350000004402100039000003740300004100000000003204350000002402100039000000250300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000084020000390d4902a00000040f0000000001000019000000000200001900000000030000190d4902960000040f00000000534200a900000000544300d9000000000224004b000003280000c13d0000000004000415000000020440008a00000020044000c9000200000000001d000000000230004c000002ea0000613d0000035402000041000003540410009c0000000001028019000000c00110021000000371011001c70000800902000039000080010400003900000000050000190d490d3f0000040f00000000030100190000006003300270000103540030019d0000000003000415000000020330008a00000020033000c90003000000010355000000010120018f000002f20000013d00000363010000410000000000100435000000110100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000000300003100000000041300490000001f0540008a0000000204000367000000000224034f000000000202043b0000035b06000041000000000752004b000000000700001900000000070640190000035b055001970000035b08200197000000000958004b000000000600a019000000000558013f0000035b0550009c00000000050700190000000005066019000000000550004c0000035a0000613d0000000001120019000000000214034f000000000202043b0000035c0420009c0000035a0000213d000000000323004900000020011000390000035b04000041000000000531004b000000000500001900000000050420190000035b033001970000035b06100197000000000736004b0000000004008019000000000336013f0000035b0330009c00000000030500190000000003046019000000000330004c0000035a0000c13d000000000001042d000000000100001900000000020000190d4902a00000040f000000000110004c000003600000613d000000000001042d00000040010000390000000001010433000000440210003900000375030000410000000000320435000003670200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000064020000390d4902a00000040f000000000110004c000003710000613d000000000001042d000000400100003900000000010104330000006402100039000003760300004100000000003204350000004402100039000003770300004100000000003204350000002402100039000000220300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000084020000390d4902a00000040f0000000004010019000003780120009c000003b90000813d0000003f01200039000000200500008a000000000651016f000000400500003900000000010504330000000006610019000000000716004b000000000700001900000001070040390000035c0860009c000003b90000213d0000000107700190000003b90000c13d000000000065043500000000002104350000000005420019000000000335004b000003c10000213d0000001f0520018f000000020440036700000020031000390000000506200270000000000760004c000003a70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000039f0000413d000000000750004c000003b60000613d0000000506600210000000000464034f00000000066300190000000305500210000000000706043300000000075701cf000000000757022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000474019f000000000046043500000000022300190000000000020435000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000000100001900000000020000190d4902a00000040f00000040020000390000000001020433000003790310009c000003d90000813d0000008003100039000000000032043500000041020000390000000000210435000000200210003900000000030000310000000203300367000000000400001900000005054002100000000006520019000000000553034f000000000505043b00000000005604350000000104400039000000030540008c000003d00000413d000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000400200003900000000010204330000037a0310009c000003f90000813d0000004003100039000000000032043500000001020000390000000000210435000000200210003900000000030000310000000203300367000000000400001900000005054002100000000006520019000000000553034f000000000505043b00000000005604350000000104400039000000000540004c000000000500001900000001050060390000000105500190000003ed0000c13d000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f0000000002010019000003780120009c000004260000813d0000003f01200039000000200300008a000000000431016f000000400300003900000000010304330000000004410019000000000514004b000000000500001900000001050040390000035c0640009c000004260000213d0000000105500190000004260000c13d000000000043043500000000002104350000001f022000390000000502200270000000000320004c000004230000613d000000200310003900000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000000625004b0000041b0000413d000000000200004c000004250000613d000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f00040000000000020000000006020019000300000001001d00000000010004140000004003000039000000000203043300000020042000390000035e050000410000000000540435000400000006001d00000100046000390000000204400367000000000404043b00000024052000390000000000450435000000240400003900000000004204350000037b0420009c0000048f0000813d0000006004200039000000000043043500000354011001970d4905cb0000040f0000000302000029000000000120004c00000000010200190000044b0000c13d00000004010000290d49061b0000040f000300000001001d000000040100002900000040021000390000000202200367000000000202043b000080060220008c000004590000c13d000001c0021000390d4903300000040f000000030120008c000000000100001900000001010020390d49035d0000040f00000004010000290d490c430000040f0000036002000041000000000020043900000000020004100000000403000039000100000003001d0000000000230439000200000001001d0000800a0100003900000024020000390d4902840000040f0000000202000029000000000112004b0000000001000019000000010100a0390d49036e0000040f0000000401000029000001e002100039000200000002001d0d4903300000040f00000000030000310d4903830000040f000000040100002900000002020000290d4903300000040f000000000120004c0000000401000029000004820000c13d000000020100002900000001010000290d4903c40000040f0000000002010433000000410220008c000004970000a13d00000061011000390000000002010433000003610220019700000362022001c700000000002104350000000401000029000000020200002900000002020000290d4903300000040f00000000030000310d4903830000040f000000000201001900000003010000290d4905410000040f0000037c02000041000000000110004c000000000102001900000000010060190000000400000005000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f00000363010000410000000000100435000000320100003900000001020000290000000000120435000000240200003900000000010000190d4902a00000040f0004000000000002000200000001001d00000120031000390000000202000367000000000432034f0000004003100039000000000232034f000000000202043b000400000002001d000000000104043b000300000001001d0000037d0110009c000000000100001900000001010040390d490c6b0000040f0000000201000029000001c0021000390d4903300000040f00000000030000310d4903830000040f00000003020000290000037e062001970000000002010019000000000700041400000004010000290000035d04100197000080060140008c000004e00000c13d0000037f0170009c00000000010000190000000101004039000300000006001d000100000007001d000400000002001d0d490c6b0000040f00000004010000290000000001010433000200000001001d0000037f0110009c000000000100001900000001010040390d490c6b0000040f00000003030000290000000101000029000000c00110021000000380011001970000000402000029000000400220021000000381022000410000038202200197000000000112019f000000020200002900000060022002100000038302200197000000000121019f00000384011001c7000000000230004c000004ff0000613d00008009020000390000800604000039000000010500003900000000060000190d490d3f0000040f000300000002001d000005060000013d000000040140008c0000053c0000613d00000000050204330000002003200039000000000160004c000005340000613d0000035401000041000003540230009c000000000201001900000000020340190000004002200210000003540350009c000000000301001900000000030540190000006003300210000000000223019f000003540370009c0000000001074019000000c001100210000000000112019f00000371011001c70000800902000039000000000306001900000000050000190d490d3f0000040f00000000030100190000006003300270000103540030019d0003000000010355000000010120018f0000053a0000013d000080060200003900000000030000190000000004000019000000000500001900000000060000190d490d3f0000040f000300000002001d00030000000103550000006001100270000103540010019d0000035401100197000400000001001d0d4904010000040f00000004050000290000000102000031000000000225004b0000053e0000213d000000200310003900000003040003670000001f0250018f0000000505500270000000000650004c0000051f0000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000005170000413d000000000620004c0000052e0000613d0000000505500210000000000454034f00000000055300190000000302200210000000000605043300000000062601cf000000000626022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000262019f0000000000250435000000030200002900000001022001900000053c0000c13d000000000201043300000000010300190d4902a00000040f000000000107001900000000020400190000000004050019000000000500001900000000060000190d4902150000040f000000000110004c0000053e0000613d0000000400000005000000000001042d000000000100001900000000020000190d4902a00000040f00010000000000020000000003020433000000410330008c000005710000c13d00000041032000390000000003030433000000ff0430018f0000001d0340008a000000030500008a000000000353004b000005800000a13d00000040032000390000000005030433000000200220003900000000020204330000004003000039000100000003001d0000000003030433000003860650009c0000058f0000813d0000006006300039000000000056043500000040053000390000000000250435000000200230003900000000004204350000000000130435000000000000043500000000010004140000000102000039000000800400003900000000050000190d49024a0000040f000000000110004c0000059d0000613d00000000010004330000035d011001970000000002000410000000000221004b00000000020000190000000102006039000000000110004c0000000001000019000000010100c039000000000112016f000000010110018f0000000100000005000000000001042d0000004001000039000000000101043300000044021000390000038503000041000000000032043500000024021000390000001d0300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000064020000390d4902a00000040f000000400100003900000000010104330000004402100039000003880300004100000000003204350000002402100039000000160300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000064020000390d4902a00000040f00000044013000390000038702000041000000000021043500000024013000390000000902000039000000000021043500000367010000410000000000130435000000040130003900000020020000390000000000210435000000640200003900000000010300190d4902a00000040f000000030200036700000001040000310000001f0340018f000000010100002900000000010104330000000504400270000000000540004c000005ae0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000005a60000413d000000000530004c000005bd0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310d4902a00000040f0000000001000411000080010110008c000005c30000613d000000000001042d00000363010000410000000000100435000000010100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f0003000000000002000200000002001d000100000001001d0000000001020433000300000001001d0000037f0110009c000000000100001900000001010040390d490c6b0000040f0000000101000029000000c00110021000000380011001970000000202000029000000400220021000000381022000410000038202200197000000000121019f000000030200002900000060022002100000038302200197000000000121019f00000384011001c7000080030200003900000000030000190000000004000019000000000500001900000000060000190d490d3f0000040f000200000002001d00030000000103550000006001100270000103540010019d0000035401100197000300000001001d0d4904010000040f00000003050000290000000102000031000000000225004b000006150000213d000000200310003900000003040003670000001f0250018f0000000505500270000000000650004c000006010000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000005f90000413d000000000620004c000006100000613d0000000505500210000000000454034f00000000055300190000000302200210000000000605043300000000062601cf000000000626022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000262019f000000000025043500000002020000290000000102200190000006180000613d0000000300000005000000000001042d000000000100001900000000020000190d4902a00000040f000000000201043300000000010300190d4902a00000040f000f0000000000020000000207000367000000000217034f000000000302043b000000000230004c0000010004100039000000a00610003900000060051000390000004002100039000a00000002001d0000012002100039000b00000002001d000001c002100039000f00000001001d000e00000002001d000d00000005001d000c00000006001d0000070b0000613d000900000004001d000000710430008c000000c004100039000007780000c13d000800000004001d0d4903300000040f00000000030000310d4903830000040f000000000201043300000020011000390d49026d0000040f0000000f020000290000020003200039000000000400003100000000022400490000001f0520008a0000000202000367000000000332034f000000000303043b0000035b06000041000000000753004b000000000700001900000000070640190000035b055001970000035b08300197000000000958004b000000000600a019000000000558013f0000035b0550009c00000000050700190000000005066019000000000a010019000000000150004c00000b200000613d0000000f010000290000000001130019000000000312034f000000000503043b0000035c0350009c00000b200000213d0000000503500210000000000434004900000020061000390000035b01000041000000000746004b000000000700001900000000070120190000035b044001970000035b08600197000000000948004b0000000001008019000000000448013f0000035b0440009c000000000107c019000000000110004c00000b200000c13d0000004001000039000e00000001001d000000000401043300000020014000390000038c05500197000000000750004c000006760000613d000000000262034f000000000600001900000005076002100000000008710019000000000772034f000000000707043b00000000007804350000000106600039000000000756004b0000066e0000413d000000000200004c000006780000613d00070000000a001d00000000003404350000003f02300039000000200300008a000000000232016f0000000002240019000000000342004b000000000300001900000001030040390000035c0520009c00000b180000213d000000010330019000000b180000c13d0000000e03000029000000000023043500000000020404330d49026d0000040f000600000001001d0000000f0100002900000220021000390d4903300000040f00000000030000310d4903830000040f000000000201043300000020011000390d49026d0000040f00000002020003670000000d03000029000000000632034f0000000a03000029000000000532034f0000000f0c0000290000002003c00039000000000432034f0000000b03000029000000000732034f0000000903000029000000000832034f000000e003c00039000000000932034f0000000803000029000000000a32034f0000000c03000029000000000b32034f0000008003c00039000000000d0c0019000000000c32034f0000000002d2034f000000000302043b000000000404043b000000000505043b000000000606043b000000000c0c043b000000000b0b043b000000000a0a043b000000000909043b000000000808043b000000000707043b0000000e020000290000000002020433000001c00d20003900000000001d0435000001a001200039000000060d0000290000000000d104350000018001200039000000070d0000290000000000d1043500000160012000390000000000710435000001400120003900000000008104350000012001200039000000000091043500000100012000390000000000a10435000000e0012000390000000000b10435000000c0012000390000000000c10435000000a0012000390000000000610435000000800120003900000000005104350000006001200039000000000041043500000040012000390000000000310435000001c00100003900000000001204350000038d03000041000000200120003900000000003104350000038e0320009c00000b180000213d000001e0032000390000000e04000029000000000034043500000000020204330d49026d0000040f0000000e020000290000000002020433000f00000002001d0000038a020000410000000000200439000d00000001001d0000800b0100003900000004020000390d4902840000040f0000038f020000410000000f040000290000006003400039000000000023043500000390020000410000004003400039000000000023043500000000030400190000008002300039000000000012043500000391020000410000002001300039000000000021043500000080020000390000000000230435000003920230009c00000b180000213d000000a0023000390000000e04000029000000000024043500000000020304330d49026d0000040f0000000e02000029000000000402043300000042024000390000000d03000029000000000032043500000393020000410000002003400039000000000023043500000022024000390000000000120435000000420100003900000000001404350000036a0140009c00000b180000213d000000800140003900000b110000013d000000000147034f000000000101043b00090000000703530d490b720000040f000000090200035f0000000c03000029000000000232034f000000000202043b000c00000001001d00000000010200190d490b720000040f0000000d02000029000000090300035f000000000223034f000000000202043b000d00000001001d00000000010200190d490b720000040f0000000d0700002900000000020704330000004009000039000000000809043300000020038000390000000004000019000000000524004b0000072b0000813d00000000053400190000002004400039000000000674001900000000060604330000000000650435000007230000013d0000000003320019000000000003043500000000040104330000000005000019000000000645004b000007370000813d000000000635001900000020055000390000000007150019000000000707043300000000007604350000072f0000013d00000000013400190000000000010435000000000124001900000000001804350000003f01100039000000200200008a000700000002001d000000000221016f000d00000008001d0000000001820019000000000221004b000000000200001900000001020040390000035c0310009c00000b180000213d000000010220019000000b180000c13d000900000009001d00000000001904350000000a010000290000000201100367000000000101043b0000035d011001970d490b5a0000040f0000000b020000290000000202200367000000000202043b000a00000001001d00000000010200190d490b720000040f000b00000001001d0000000f010000290000000e020000290d4903300000040f0000035c01200197000000010210008c000007ba0000c13d0000000f010000290000000e020000290d4903300000040f000000000220004c00000b230000613d0000000205000367000000000115034f000000000101043b000000010200008a0000035b03000041000000000221004b000000000200001900000000020320190000035b011001970000035b0410009c00000000030080190000035b011001670000035b0110009c000000000102001900000000010360190000006006000039000000000110004c000007bd0000c13d00080000000503530d490b460000040f000000080500035f0000000006010019000007bd0000013d000000020230008c000008ad0000c13d0000038a0100004100000000001004390000800b010000390000000402000039000800000004001d0d4902840000040f0d490b720000040f000000020300036700070000000303530000000902000029000000000223034f000000000202043b000500000001001d00000000010200190d490b720000040f000000070200035f0000000803000029000000000232034f000000000202043b000600000001001d00000000010200190d490b720000040f000000070200035f0000000c03000029000000000232034f000000000202043b000800000001001d00000000010200190d490b720000040f0000000d02000029000000070300035f000000000223034f000000000202043b000900000001001d00000000010200190d490b720000040f0000000a02000029000000070300035f000000000223034f000000000202043b0000035d02200197000c00000001001d00000000010200190d490b5a0000040f0000000b020000290000000202200367000000000202043b000d00000001001d00000000010200190d490b720000040f000000050700002900000000020704330000004009000039000000000809043300000020038000390000000004000019000000000524004b000008e70000813d00000000053400190000002004400039000000000674001900000000060604330000000000650435000007b20000013d0d490ba70000040f000000020500036700000000060100190000000f010000290000014002100039000000000225034f0000006007000039000000000202043b000000000220004c0000000d020000290000000c030000290000000b040000290000000a050000290000000908000029000600000006001d000007f40000613d0000038a0100004100000000001004390000800b0100003900000004020000390d4902840000040f0d490b720000040f00000009080000290000000007080433000000200370003900000000020104330000000004000019000000000524004b000007dd0000813d00000000053400190000002004400039000000000614001900000000060604330000000000650435000007d50000013d0000000001320019000003940300004100000000003104350000000201200039000000000017043500000041012000390000000702000029000000000221016f0000000001720019000000000221004b000000000200001900000001020040390000035c0310009c00000b180000213d000000010220019000000b180000c13d00000000001804350000000f010000290000000d020000290000000c030000290000000b040000290000000a050000290000000606000029000800000007001d0000000006060433000500000006001d0000000004040433000400000004001d0000000004050433000300000004001d0000000002020433000200000002001d0000000002030433000100000002001d0000000e020000290d4903300000040f00000002010000290000000103000029000000000131001900000003030000290000000001310019000000040300002900000000013100190000000503000029000000000131001900000000012100190000000802000029000000000202043300000000012100190000035c011001970d490be70000040f000500000001001d0000000f010000290000000e020000290d4903300000040f000000050900002900000000050904330000000903000029000000000403043300000020034000390000000006000019000000000756004b000008220000813d000000000736001900000020066000390000000008960019000000000808043300000000008704350000081a0000013d00000000063500190000000000060435000000000545001900000020075000390000000c0c00002900000000060c043300000000080000190000000d0b000029000000000968004b000008320000813d00000000097800190000002008800039000000000ac80019000000000a0a04330000000000a904350000082a0000013d000000000776001900000000000704350000000005560019000000200750003900000000060b043300000000080000190000000a0c000029000000000968004b000008410000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a90435000008390000013d000000000776001900000000000704350000000005560019000000200750003900000000060c043300000000080000190000000b0b000029000000000968004b000008500000813d00000000097800190000002008800039000000000ac80019000000000a0a04330000000000a90435000008480000013d000000000776001900000000000704350000000005560019000000200750003900000000060b04330000000008000019000000000968004b0000085e0000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a90435000008560000013d0000000007760019000000000007043500000000055600190000002007500039000000060b00002900000000060b04330000000008000019000000000968004b0000086d0000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a90435000008650000013d0000000007760019000000000007043500000000055600190000001f0620018f000000200750003900000002011003670000000508200270000000000980004c0000087f0000613d0000000009000019000000050a900210000000000ba70019000000000aa1034f000000000a0a043b0000000000ab04350000000109900039000000000a89004b000008770000413d000000000960004c0000088e0000613d0000000508800210000000000181034f00000000078700190000000306600210000000000807043300000000086801cf000000000868022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000181019f0000000000170435000000000125001900000020051000390000000000050435000000080900002900000000020904330000000006000019000000000726004b0000089c0000813d00000000075600190000002006600039000000000896001900000000080804330000000000870435000008940000013d000000000552001900000000000504350000000001410049000000000112001900000000001404350000003f011000390000000702000029000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000035c0510009c00000b180000213d000000010220019000000b110000613d00000b180000013d000000010130008c00000b2b0000c13d0000038a0100004100000000001004390000800b0100003900000004020000390d4902840000040f0d490b720000040f000000020300036700080000000303530000000902000029000000000223034f000000000202043b000600000001001d00000000010200190d490b720000040f0000000c02000029000000080300035f000000000223034f000000000202043b000700000001001d00000000010200190d490b720000040f0000000d02000029000000080300035f000000000223034f000000000202043b000900000001001d00000000010200190d490b720000040f0000000a02000029000000080300035f000000000223034f000000000202043b0000035d02200197000c00000001001d00000000010200190d490b5a0000040f0000000b020000290000000202200367000000000202043b000d00000001001d00000000010200190d490b720000040f000000060700002900000000020704330000004009000039000000000809043300000020038000390000000004000019000000000524004b000009710000813d00000000053400190000002004400039000000000674001900000000060604330000000000650435000008df0000013d0000000003320019000000000003043500000000028200190000002004200039000000060e00002900000000030e043300000000050000190000000d0a0000290000000c0b000029000000090c000029000000080d000029000000000635004b000008fa0000813d000000000645001900000020055000390000000007e5001900000000070704330000000000760435000008f20000013d000000000443001900000000000404350000000002230019000000200420003900000000030d04330000000005000019000000000635004b000009080000813d000000000645001900000020055000390000000007d5001900000000070704330000000000760435000009000000013d000000000443001900000000000404350000000002230019000000200420003900000000030c04330000000005000019000000000635004b000009160000813d000000000645001900000020055000390000000007c50019000000000707043300000000007604350000090e0000013d000000000443001900000000000404350000000002230019000000200420003900000000030b04330000000005000019000000000635004b000009240000813d000000000645001900000020055000390000000007b50019000000000707043300000000007604350000091c0000013d000000000443001900000000000404350000000002230019000000200420003900000000030a04330000000005000019000000000635004b000009320000813d000000000645001900000020055000390000000007a50019000000000707043300000000007604350000092a0000013d000000000443001900000000000404350000000002230019000000200420003900000000030104330000000005000019000000000635004b000009400000813d00000000064500190000002005500039000000000715001900000000070704330000000000760435000009380000013d000000000143001900000000000104350000000001820049000000000113001900000000001804350000003f01100039000000200200008a000a00000002001d000000000221016f000d00000008001d0000000001820019000000000221004b000000000200001900000001020040390000035c0310009c00000b180000213d000000010220019000000b180000c13d000900000009001d00000000001904350000000f010000290000000e020000290d4903300000040f0000035c01200197000000010210008c000009ec0000c13d0000000f010000290000000e020000290d4903300000040f000000000220004c00000b230000613d0000000201100367000000000101043b000000010200008a0000035b03000041000000000221004b000000000200001900000000020320190000035b011001970000035b0410009c00000000030080190000035b011001670000035b0110009c00000000020360190000006001000039000000000220004c000009ed0000c13d0d490b460000040f000009ed0000013d0000000003320019000000000003043500000000028200190000002004200039000000070d00002900000000030d043300000000050000190000000d0a0000290000000c0b000029000000090c000029000000000635004b000009830000813d000000000645001900000020055000390000000007d50019000000000707043300000000007604350000097b0000013d000000000443001900000000000404350000000002230019000000200420003900000000030c04330000000005000019000000000635004b000009910000813d000000000645001900000020055000390000000007c5001900000000070704330000000000760435000009890000013d000000000443001900000000000404350000000002230019000000200420003900000000030b04330000000005000019000000000635004b0000099f0000813d000000000645001900000020055000390000000007b5001900000000070704330000000000760435000009970000013d000000000443001900000000000404350000000002230019000000200420003900000000030a04330000000005000019000000000635004b000009ad0000813d000000000645001900000020055000390000000007a5001900000000070704330000000000760435000009a50000013d000000000443001900000000000404350000000002230019000000200420003900000000030104330000000005000019000000000635004b000009bb0000813d00000000064500190000002005500039000000000715001900000000070704330000000000760435000009b30000013d000000000143001900000000000104350000000001820049000000000113001900000000001804350000003f01100039000000200200008a000a00000002001d000000000221016f000d00000008001d0000000001820019000000000221004b000000000200001900000001020040390000035c0310009c00000b180000213d000000010220019000000b180000c13d000900000009001d00000000001904350000000f010000290000000e020000290d4903300000040f0000035c01200197000000010210008c00000a7f0000c13d0000000f010000290000000e020000290d4903300000040f000000000220004c00000b230000613d0000000201100367000000000101043b000000010200008a0000035b03000041000000000221004b000000000200001900000000020320190000035b011001970000035b0410009c00000000030080190000035b011001670000035b0110009c00000000020360190000006001000039000000000220004c00000a800000c13d0d490b460000040f00000a800000013d0d490ba70000040f000c00000001001d0d4903e10000040f00000000030100190000000001030433000000000110004c00000b230000613d0000002001300039000000000201043300000361022001970000038b022001c700000000002104350000000c010000290000000001010433000800000001001d0000000d010000290000000001010433000700000001001d0000000f010000290000000e02000029000b00000003001d0d4903300000040f00000008010000290000000703000029000000000131001900000000012100190000000b02000029000000000202043300000000012100190000035c011001970d490be70000040f000800000001001d0000000f010000290000000e020000290d4903300000040f000000080a00002900000009030000290000000004030433000003710500004100000020034000390000000000530435000000210640003900000000050a04330000000007000019000000000857004b00000a200000813d000000000867001900000020077000390000000009a700190000000009090433000000000098043500000a180000013d00000000066500190000000000060435000000000545001900000021075000390000000d0b00002900000000060b04330000000008000019000000000968004b00000a2f0000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a9043500000a270000013d00000000077600190000000000070435000000000556001900000021075000390000000c0b00002900000000060b04330000000008000019000000000968004b00000a3e0000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a9043500000a360000013d0000000007760019000000000007043500000000055600190000001f0620018f000000210750003900000002011003670000000508200270000000000980004c00000a500000613d0000000009000019000000050a900210000000000ba70019000000000aa1034f000000000a0a043b0000000000ab04350000000109900039000000000a89004b00000a480000413d000000000960004c00000a5f0000613d0000000508800210000000000181034f00000000078700190000000306600210000000000807043300000000086801cf000000000868022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000181019f00000000001704350000000001250019000000210510003900000000000504350000000b0900002900000000020904330000000006000019000000000726004b00000a6d0000813d0000000007560019000000200660003900000000089600190000000008080433000000000087043500000a650000013d00000000055200190000000000050435000000000141004900000000011200190000000102100039000000000024043500000040011000390000000a02000029000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000035c0510009c00000b180000213d000000010220019000000b110000613d00000b180000013d0d490ba70000040f000c00000001001d0d4903e10000040f00000000030100190000000001030433000000000110004c00000b230000613d0000002001300039000000000201043300000361022001970000038b022001c700000000002104350000000c010000290000000001010433000800000001001d0000000d010000290000000001010433000700000001001d0000000f010000290000000e02000029000b00000003001d0d4903300000040f00000008010000290000000703000029000000000131001900000000012100190000000b02000029000000000202043300000000012100190000035c011001970d490be70000040f000800000001001d0000000f010000290000000e020000290d4903300000040f000000080a00002900000009030000290000000004030433000003840500004100000020034000390000000000530435000000210640003900000000050a04330000000007000019000000000857004b00000ab30000813d000000000867001900000020077000390000000009a700190000000009090433000000000098043500000aab0000013d00000000066500190000000000060435000000000545001900000021075000390000000d0b00002900000000060b04330000000008000019000000000968004b00000ac20000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a9043500000aba0000013d00000000077600190000000000070435000000000556001900000021075000390000000c0b00002900000000060b04330000000008000019000000000968004b00000ad10000813d00000000097800190000002008800039000000000ab80019000000000a0a04330000000000a9043500000ac90000013d0000000007760019000000000007043500000000055600190000001f0620018f000000210750003900000002011003670000000508200270000000000980004c00000ae30000613d0000000009000019000000050a900210000000000ba70019000000000aa1034f000000000a0a043b0000000000ab04350000000109900039000000000a89004b00000adb0000413d000000000960004c00000af20000613d0000000508800210000000000181034f00000000078700190000000306600210000000000807043300000000086801cf000000000868022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000181019f00000000001704350000000001250019000000210510003900000000000504350000000b0900002900000000020904330000000006000019000000000726004b00000b000000813d0000000007560019000000200660003900000000089600190000000008080433000000000087043500000af80000013d00000000055200190000000000050435000000000141004900000000011200190000000102100039000000000024043500000040011000390000000a02000029000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000035c0510009c00000b180000213d000000010220019000000b180000c13d00000040020000390000000000120435000000000204043300000000010300190d49026d0000040f0000000f00000005000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000000100001900000000020000190d4902a00000040f00000363010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000400100003900000000010104330000004402100039000003890300004100000000003204350000002402100039000000170300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000064020000390d4902a00000040f0000000004000019000000000534004b00000b430000813d0000000005240019000000000614001900000000060604330000000000650435000000200440003900000b3b0000013d00000000012300190000000000010435000000000001042d000000400200003900000000010204330000037a0310009c00000b520000813d0000004003100039000000000032043500000020021000390000039503000041000000000032043500000001020000390000000000210435000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f0000000002010019000000400300003900000000010304330000037a0410009c00000b6a0000813d0000004004100039000000000043043500000020031000390000039604000041000000000043043500000060022002100000002103100039000000000023043500000015020000390000000000210435000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f00020000000000020000007f0210008c000200000001001d00000b8f0000a13d0d490c1d0000040f000100000001001d00000002011000390d4904010000040f0000000002010433000000000220004c00000b9f0000613d0000002002100039000000000302043300000361033001970000000105000029000000f804500210000000000334019f000003950330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c000000000203001900000000020020190000002103100039000000000023043500000b9d0000013d0d4903e10000040f0000000002010433000000000220004c00000b9f0000613d0000000204000029000000f8024002100000035b03000041000000000440004c0000000002036019000000200310003900000000040304330000036104400197000000000224019f00000000002304350000000200000005000000000001042d00000363010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000200000000000200000000030100190000035c01300197000000010210008c00000bd70000613d000000370210008c00000bc80000a13d000200000001001d0d490c1d0000040f000100000001001d00000002011000390d4904010000040f0000000002010433000000000220004c00000bdf0000613d0000002002100039000000000302043300000361033001970000000105000029000000f804500210000000000334019f000003970330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c000000000203001900000000020020190000002103100039000000000023043500000bd50000013d000200000003001d0d4903e10000040f0000000002010433000000000220004c00000bdf0000613d0000000202000029000000f802200210000000200310003900000000040304330000036104400197000000000224019f0000035b0220016700000000002304350000000200000005000000000001042d00000363010000410000000000100435000000010100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f00000363010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000200000000000200000000030100190000035c01300197000000370210008c00000c060000a13d000200000001001d0d490c1d0000040f000100000001001d00000002011000390d4904010000040f0000000002010433000000000220004c00000c150000613d0000002002100039000000000302043300000361033001970000000105000029000000f804500210000000000334019f000003980330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c000000000203001900000000020020190000002103100039000000000023043500000c130000013d000200000003001d0d4903e10000040f0000000002010433000000000220004c00000c150000613d0000000202000029000000f802200210000000200310003900000000040304330000036104400197000000000242019f0000038b0220004100000000002304350000000200000005000000000001042d00000363010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f00000080021002700000037e0310009c000000000201a0190000037e0110009c0000000001000019000000100100203900000008031001bf0000035c0420009c000000000103201900000040032002700000035c0420009c000000000203201900000004031001bf000003540420009c00000000010320190000002003200270000003540420009c000000000203201900000002031001bf0000ffff0420008c000000000103201900000010032002700000000002032019000000ff0220008c000000000200001900000001020020390000000001210019000000000001042d00000040021000390000039903000041000000000032043500000020021000390000001a030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d000000e0031000390000000202000367000000000332034f000000000303043b0000035d0330019800000c4d0000613d0000012001100039000000000112034f000000000101043b00000c620000013d000000a003100039000000000332034f0000006004100039000000000442034f000000000404043b000000000503043b00000000635400a9000000000650004c00000c590000613d00000000655300d9000000000445004b00000c630000c13d0000012001100039000000000112034f000000000201043b0000000001320019000000000221004b00000000020000190000000102004039000000010220019000000c630000c13d000000000001042d00000363010000410000000000100435000000110100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000000110004c00000c6e0000613d000000000001042d0000004001000039000000000101043300000044021000390000039a0300004100000000003204350000002402100039000000080300003900000000003204350000036702000041000000000021043500000004021000390000002003000039000000000032043500000064020000390d4902a00000040f00050000000000020000035d0a1001970000004009000039000000000b0904330000037a01b0009c00000cfb0000813d0000004001b0003900000000001904350000002001000039000400000001001d00000000001b04350000002003b000390000039b01000041000300000003001d0000000000130435000000010100003900000000050004140000000403a0008c00000c9d0000613d00000000040204330000002003200039000000000105001900000000020a001900000000050000190000000006000019000500000009001d00020000000a001d00010000000b001d0d4902150000040f000000010b000029000000020a0000290000000509000029000000600c0000390000000102000031000000000320004c00000cd00000613d0000035c0320009c00000cfb0000213d0000003f03200039000000200400008a000000000343016f000000000c09043300000000033c00190000000004c3004b000000000400001900000001040040390000035c0530009c00000cfb0000213d000000010440019000000cfb0000c13d000000000039043500000000002c04350000002002c00039000000030300036700000001050000310000001f0450018f0000000505500270000000000650004c00000cc10000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00000cb90000413d000000000640004c00000cd00000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000032043500000000020c0433000000000110004c00000d060000613d000000000120004c00000ce50000c13d00030000000c001d000500000009001d0000039c01000041000000000010043900000004010000390000000000a10439000080020100003900000024020000390d4902840000040f000000000110004c00000d300000613d000000030c00002900000000020c0433000000000120004c000000050900002900000cf90000613d0000035b01000041000000200320008c000000000300001900000000030140190000035b02200197000000000420004c000000000100a0190000035b0220009c000000000103c019000000000110004c00000d030000c13d0000002001c000390000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d030000c13d000000000110004c00000d1d0000613d0000000500000005000000000001042d00000363010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190d4902a00000040f000000000100001900000000020000190d4902a00000040f000000000120004c00000d2e0000c13d0000000004090433000500000004001d0000036701000041000000000014043500000004014000390000000402000029000000000021043500000000030b0433000400000003001d00000024014000390000000000310435000000440240003900000003010000290d490b3a0000040f00000004010000290000001f01100039000000200200008a000000000121016f000000440210003900000005010000290d4902a00000040f000000000109043300000064021000390000039d03000041000000000032043500000044021000390000039e03000041000000000032043500000024021000390000002a0300003900000000003204350000036702000041000000000021043500000004021000390000000403000029000000000032043500000084020000390d4902a00000040f0000002001c000390d4902a00000040f0000000501000029000000000101043300000044021000390000039f03000041000000000032043500000024021000390000001d0300003900000000003204350000036702000041000000000021043500000004021000390000000403000029000000000032043500000064020000390d4902a00000040f00000d42002104210000000102000039000000000001042d0000000002000019000000000001042d00000d47002104230000000102000039000000000001042d0000000002000019000000000001042d00000d490000043200000d4a0001042e00000d4b00010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000202bcce700000000000000000000000000000000000000000000000000000000a28c1aee00000000000000000000000000000000000000000000000000000000df9c158900000000000000000000000000000000000000000000000000000000e2f318e300000000000000000000000000000000000000000000000000000000eeb8cb098000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffffffffffffe1239cd800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f3900ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1b000000000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000949431dc000000000000000000000000000000000000000000000000000000008c5a34450000000000000000000000000000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000005361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f74206d757374206265206174206c65617374203638206279746573206c6f6e6754686520617070726f76616c4261736564207061796d617374657220696e707574206265206174206c656173742034206279746573206c6f6e67000000000000546865207374616e64617264207061796d617374657220696e707574206d7573020000000000000000000000000000000000000000000000000000000000000002000002000000000000000000000000000000000000000000000000000000007261746f720000000000000000000000000000000000000000000000000000004661696c656420746f20706179207468652066656520746f20746865206f7065496e76616c69642063616c6c20746f20436f6e74726163744465706c6f79657275650000000000000000000000000000000000000000000000000000000000004e6f7420656e6f7567682062616c616e636520666f7220666565202b2076616c0000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80000000000000000000000000000000000000000000000000ffffffffffffffc0000000000000000000000000000000000000000000000000ffffffffffffffa0202bcce700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000010000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffff00000000000000000000000001000000000000000000000000000000000000000000000000000000000000005369676e6174757265206c656e67746820697320696e636f72726563740000007fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1496e76616c69642073000000000000000000000000000000000000000000000076206973206e656974686572203237206e6f7220323800000000000000000000456e636f64696e6720756e737570706f727465642074780000000000000000009a8a0592ac89c5ad3bc6df8224c17b485976f597df104ee20d0df415241f670bc00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000fffffffffffffe1fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a519b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e000000000000000000000000000000000000000000000000ffffffffffffff5f1901000000000000000000000000000000000000000000000000000000000000808000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000f800000000000000000000000000000000000000000000000000000000000000556e737570706f72746564207061796d617374657220666c6f770000000000004f766572666c6f770000000000000000000000000000000000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65641806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b836f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000000000000000000000000000000000000000000000000000000000000000000000", - "predeployed_contracts": { - "0xdeadbeafdeadbeafdeadbeafdeadbeafdeadbeaf": "0x00020000000000020001000000000002000000000301001900000060033002700000002b033001970001000000310355000000000000001f0000008001000039000000400a00003900000000001a04350000000102200190000000190000c13d000000300200004100000000002104350000002002000039000000840300003900000000002304350000001d02000039000000a40300003900000000002304350000003202000041000000c4030000390000000000230435000000640200003900a6009a0000040f0000000001000416000000000110004c000000390000c13d000000010100003900000000030004140000000002000410000000040420008c000000250000613d000000000103001900010000000a001d00a6008d0000040f000000010a00002900000060020000390000000003000031000000000430004c0000003c0000c13d000000000110004c000000760000c13d00000000010a043300000044021000390000003103000041000000000032043500000024021000390000001303000039000000000032043500000030020000410000000000210435000000040210003900000020030000390000000000320435000000640200003900a6009a0000040f0000000001000019000000000200001900a6009a0000040f0000002c0230009c0000006e0000813d0000001f02300039000000200400008a000000000242016f0000003f02200039000000000442016f00000000020a04330000000004420019000000000524004b000000000500001900000001050040390000002d0640009c0000006e0000213d00000001055001900000006e0000c13d00000000004a043500000000003204350000002003200039000000010400036700000000060000310000001f0560018f0000000506600270000000000760004c0000005e0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000000560000413d000000000750004c000000290000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000290000013d0000002e0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001900a6009a0000040f0000000001020433000000000110004c0000007f0000c13d0000002001000039000001000200003900000000001204390000012001000039000000000001043900a600980000040f00000000010a043300000044021000390000002f03000041000000000032043500000024021000390000001403000039000000000032043500000030020000410000000000210435000000040210003900000020030000390000000000320435000000640200003900a6009a0000040f0000002b030000410000002b0410009c0000000001038019000000c00110021000a600a10000040f000000000301001900000060033002700000002b0030019d0001000000010355000000010120018f000000000001042d0000003301000041000000a70001042e0000002b030000410000002b0410009c000000000103801900000040011002100000006002200210000000000121019f000000a800010430000000a4002104210000000102000039000000000001042d0000000002000019000000000001042d000000a600000432000000a70001042e000000a80001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff4e487b7100000000000000000000000000000000000000000000000000000000646174612073686f756c6420626520656d70747900000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000063616c6c2073686f756c6420737563636565640000000000000000000000000066616c6c6261636b2073686f756c64206e6f742062652063616c6c656400000000000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008002": "0x0004000000000002000400000000000200000000030100190000006003300270000000630430019700030000004103550002000000010355000000630030019d000100000000001f0000008006000039000000400500003900000000006504350000000101200190000000460000c13d0000000001000031000000040110008c000001150000413d0000000201000367000000000101043b000000e001100270000000650210009c000000510000613d000000660210009c0000009e0000613d000000670210009c000000ba0000613d000000680210009c000000dd0000613d000000690110009c000001150000c13d0000000001000416000000000110004c000001150000c13d000000040100008a00000000011000310000006a02000041000000200310008c000000000300001900000000030240190000006a01100197000000000410004c000000000200a0190000006a0110009c00000000010300190000000001026019000000000110004c000001150000c13d00000004010000390000000201100367000000000101043b0000006b01100197000400000006001d018701850000040f0000006f02100197000000700220009c00000000020000190000000102006039000000000310004c0000000003000019000000010300603900000000022301a0000000db0110027000000073011001970000000002010019000000000200c0190000000401000029000000000021043500000020020000390000000003000019018701620000040f0000000001000416000000000110004c000001150000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000006403000041018701620000040f0000000001000416000000000110004c000001150000c13d000000040100008a00000000011000310000006a02000041000000200310008c000000000300001900000000030240190000006a01100197000000000410004c000000000200a0190000006a0110009c00000000010300190000000001026019000000000110004c000001150000c13d0000000401000039000200000001001d0000000201100367000000000101043b0000006b01100197000300000001001d000400000005001d018701850000040f000000040200002900000000020204330000000003010019000000000130004c000001260000c13d000100000003001d0000006c010000410000000000120435000000040120003900000003030000290000000000310435000000000100041400000020040000390000000003020019000300000002001d0187012f0000040f000000000110004c000001020000c13d000000030200036700000001040000310000001f0340018f000000040100002900000000010104330000000504400270000000000540004c0000008d0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000000850000413d000000000530004c0000009c0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310187016c0000040f0000000001000416000000000110004c000001150000c13d000000040100008a00000000011000310000006a02000041000000200310008c000000000300001900000000030240190000006a01100197000000000410004c000000000200a0190000006a0110009c00000000010300190000000001026019000000000110004c000001150000c13d000400000005001d018701750000040f0000006b01100197018701850000040f000000040200002900000000030204330000000000130435000000200200003900000000010300190000000003000019018701620000040f0000000001000416000000000110004c000001150000c13d000000040100008a00000000011000310000006a02000041000000400310008c000000000300001900000000030240190000006a01100197000000000410004c000000000200a0190000006a0110009c00000000010300190000000001026019000000000110004c000001150000c13d00000002010003670000000402100370000000000202043b0000006b0320009c000001150000213d0000002401100370000000000101043b0000006f031001970000000004000411000080060440008c000001150000c13d000000700330009c000001150000c13d018701830000040f000000000100001900000000020000190000000003000019018701620000040f0000000001000416000000000110004c000001150000c13d000000040100008a00000000011000310000006a02000041000000200310008c000000000300001900000000030240190000006a01100197000000000410004c000000000200a0190000006a0110009c00000000010300190000000001026019000000000110004c000001150000c13d00000004010000390000000201100367000000000101043b0000006b0210009c000001150000213d0000000002000411000080060220008c000001150000c13d000400000001001d018701850000040f0000006f02100197000000700220009c0000000402000029000001150000c13d0000007201100197018701830000040f000000000100001900000000020000190000000003000019018701620000040f0000000102000031000000200120008c000000200100003900000000010240190000001f01100039000000600310018f00000003050000290000000001530019000000000331004b000000000300001900000001030040390000006d0410009c0000000404000029000001180000213d0000000103300190000001180000c13d0000000000140435000000200220008c000001200000813d000000000100001900000000020000190187016c0000040f00000071010000410000000000100435000000410100003900000002020000290000000000120435000000240200003900000000010000190187016c0000040f0000006e040000410000000003050433000000000330004c000000000201001900000001030000290000012b0000c13d0000006f013001970000006e04000041000000700110009c000000000403c0190000000001020019000000000041043500000020020000390000000003000019018701620000040f0002000000000002000200000004001d000100000003001d0000006303000041000000630420009c0000000002038019000000630410009c0000000001038019000000c0011002100000004002200210000000000112019f00000074011001c700008003020000390187017e0000040f000000010800002900000002040000290000001f0340018f0000000504400270000000000540004c0000014c0000613d000000000500001900000005065002100000000007680019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000001440000413d000000010220018f000000000530004c0000015c0000613d0000000504400210000000000541034f00000000044800190000000303300210000000000604043300000000063601cf000000000636022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000363019f000000000034043500030000000103550000006001100270000100630010019d00000000010200190000000200000005000000000001042d0000006304000041000000630510009c000000000104801900000040011002100000000001310019000000630320009c000000000204801900000060022002100000000001210019000001880001042e0000006303000041000000630420009c0000000002038019000000630410009c000000000103801900000040011002100000006002200210000000000112019f000001890001043000000004010000390000000201100367000000000101043b000000750210009c0000017b0000813d000000000001042d000000000100001900000000020000190187016c0000040f00000181002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d0000018700000432000001880001042e00000189000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e03fe177000000000000000000000000000000000000000000000000000000004de2e468000000000000000000000000000000000000000000000000000000004f1e1be000000000000000000000000000000000000000000000000000000000c2e4ff97000000000000000000000000000000000000000000000000000000001806aa188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff5aa9b6b500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000ff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000001fffe0000000000000000000000000000000000000002400000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000000000800b": "0x0002000000000002000300000000000200010000000103550000006001100270000000cd0010019d00000080010000390000004005000039000000000015043500000001012001900000004d0000c13d0000000001000031000000040110008c000002610000413d0000000101000367000000000101043b000000e001100270000000d20210009c0000009a0000613d000000d30210009c000000650000613d000000d40210009c000000b50000613d000000d50210009c0000007f0000613d000000d60210009c000000e50000613d000000d70210009c000001000000613d000000d80210009c000001190000613d000000d90210009c0000014b0000613d000000da0210009c0000016f0000613d000000db0210009c0000018b0000613d000000dc0210009c000001a60000613d000000dd0210009c000001d60000613d000000de0210009c000001f10000613d000000df0210009c0000020d0000613d000000e00210009c000002330000613d000000e10210009c000002500000613d000000e20110009c000002610000c13d0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000501000039000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000ce010000410000000302000039032f032b0000040f0000000401000039000300000001001d032f032d0000040f000000cf0110019700008001011001bf0000000302000029032f032b0000040f000000d0010000410000000502000039032f032b0000040f000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000000d103000041032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d000300000005001d032f02df0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000601000039000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000201000039000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000600310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d00000001010003670000002402100370000000000302043b0000000002000411000080010220008c000002610000c13d0000008002300210000000000430004c000000d20000613d00000000433200d9000000e90330009c000001430000c13d0000000401100370000000000301043b0000000001230019000000000231004b000000000200001900000001020040390000000102200190000001430000c13d0000000702000039032f032b0000040f00000044010000390000000101100367000000000101043b0000000602000039032f032b0000040f000000000100001900000000020000190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000301000039000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d000300000005001d032f02df0000040f00000003010000290000000001010433000000000021043500000020020000390000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000200310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d000300000005001d00000004010000390000000101100367000000000101043b000200000001001d000000e8010000410000000000100439032f02b40000040f0000000202000029000000000121004b00000000010000190000027a0000413d000000e801000041000100000001001d0000000000100439032f02b40000040f0000000102000029000000000020043900000002020000290000000001210049000100000001001d032f02b40000040f0000000102000029000000000112004b0000026f0000a13d000000ea01000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019032f02cb0000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000200310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d00000004010000390000000101100367000000000101043b000000000010043500000008010000390000002002000039000200000002001d00000000001204350000000001000019000300000005001d032f02a10000040f032f032d0000040f000000030200002900000000020204330000000000120435000000000102001900000002020000290000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000101000039000300000005001d032f032d0000040f00000003020000290000000003020433000000e4011001970000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000001000019000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000800310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d00000001010003670000002402100370000000000202043b0000000401100370000000000301043b0000000001000411000080010110008c000002610000c13d000100000003001d000300000005001d0000000701000039000200000002001d032f032d0000040f0000000203000029000000e502100197000000000223004b000002810000813d000000030100002900000000010104330000004402100039000000e6030000410000000000320435000000e7020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000006402000039032f02cb0000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000701000039000300000005001d032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000401000039000300000005001d032f032d0000040f00000003020000290000000003020433000000e4011001970000000000130435000000200200003900000000010300190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000200310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d00000004010000390000000101100367000000000201043b000000e40120009c000002610000213d0000000001000411000080010110008c000002610000c13d0000000101000039000300000001001d000200000002001d032f032d0000040f000000cf011001970000000202000029000000000121019f0000000302000029032f032b0000040f000000000100001900000000020000190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000200310008c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002610000c13d0000000001000411000080010110008c000002610000c13d00000004010000390000000101100367000000000101043b0000000202000039032f032b0000040f000000000100001900000000020000190000000003000019032f02c30000040f0000000001000416000000000110004c000002610000c13d000000040100008a0000000001100031000000e302000041000000000310004c00000000030000190000000003024019000000e301100197000000000410004c000000000200a019000000e30110009c00000000010300190000000001026019000000000110004c000002640000613d00000000010000190000000002000019032f02cb0000040f000300000005001d032f02df0000040f00000003050000290000000003050433000000200430003900000000002404350000000000130435000000000103001900000000020500190000000003000019032f02c30000040f000001010120008c000000000100001900000002020000290000027a0000813d00000000002004350000000801000039000000200200003900000000001204350000000001000019032f02a10000040f032f032d0000040f000000030200002900000000030204330000000000130435000000200200003900000000010300190000000003000019032f02c30000040f00000044020000390000000102200367000000000202043b0000008001100270000300000001001d0000000101100039000000000121004b00000000010000190000000101006039032f03010000040f0000000301000029032f02d20000040f00000000020100190000000101000029032f032b0000040f0000000301000029032f02e50000040f032f03160000040f0000000202000029032f02f20000040f032f02d90000040f00000064010000390000000101100367000000000101043b032f02dc0000040f00000002010000290000000102000029000000000021041c000000000100001900000000020000190000000003000019032f02c30000040f000000cd020000410000000003000414000000cd0430009c0000000003028019000000cd0410009c00000000010280190000004001100210000000c002300210000000000112019f000000eb011001c70000801002000039032f03260000040f0000000102200190000002b10000613d000000000101043b000000000001042d00000000010000190000000002000019032f02cb0000040f000000cd010000410000000002000414000000cd0320009c0000000001024019000000c001100210000000ec011001c70000800b02000039032f03260000040f0000000102200190000002c00000613d000000000101043b000000000001042d00000000010000190000000002000019032f02cb0000040f000000cd04000041000000cd0510009c000000000104801900000040011002100000006002200210000000000121019f0000000001310019000003300001042e000000cd03000041000000cd0410009c000000000103801900000040011002100000006002200210000000000121019f000003310001043000000000001004350000000801000039000000200200003900000000001204350000000001000019032f02a10000040f000000000001042d0000000702000039032f032b0000040f000000000001042d0000000602000039032f032b0000040f000000000001042d0000000701000039032f032d0000040f0000008003100270000000e5021001970000000001030019000000000001042d000000010200008a000000000221004b000002ea0000613d0000000101100039000000000001042d000000ea01000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019032f02cb0000040f0000000001120019000000000221004b000000000200001900000001020040390000000102200190000002f90000c13d000000000001042d000000ea01000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019032f02cb0000040f000000000110004c000003040000613d000000000001042d000000400100003900000000010104330000006402100039000000ed0300004100000000003204350000004402100039000000ee030000410000000000320435000000240210003900000028030000390000000000320435000000e70200004100000000002104350000000402100039000000200300003900000000003204350000008402000039032f02cb0000040f00000000020100190000008001200210000000000320004c0000031d0000613d00000000322100d9000000e90220009c0000031e0000c13d000000000001042d000000ea01000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019032f02cb0000040f00000329002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d0000032f00000432000003300001042e00000331000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000040000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf04000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe173b970000000000000000000000000000000000000000000000000000000042cbb15c000000000000000000000000000000000000000000000000000000004d59979f000000000000000000000000000000000000000000000000000000006ef25c3a000000000000000000000000000000000000000000000000000000007877a79700000000000000000000000000000000000000000000000000000000796b89b90000000000000000000000000000000000000000000000000000000080b412460000000000000000000000000000000000000000000000000000000085df51fd00000000000000000000000000000000000000000000000000000000938b5f32000000000000000000000000000000000000000000000000000000009a8a0592000000000000000000000000000000000000000000000000000000009e830ad300000000000000000000000000000000000000000000000000000000a0803ef700000000000000000000000000000000000000000000000000000000a6ae0aac00000000000000000000000000000000000000000000000000000000a851ae7800000000000000000000000000000000000000000000000000000000bf1fe42000000000000000000000000000000000000000000000000000000000d4a4ca0d0000000000000000000000000000000000000000000000000000000019cae4628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff54696d657374616d70732073686f756c6420626520696e6372656d656e74616c08c379a00000000000000000000000000000000000000000000000000000000042cbb15ccdc3cad6266b0e7a08c0454b23bf29dc2df74b6f3c209e9336465bd100000000000000000000000000000001000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000020000020000000000000000000000000000000400000000000000000000000020636f72726563740000000000000000000000000000000000000000000000005468652070726f766964656420626c6f636b206e756d626572206973206e6f74", - "0x0000000000000000000000000000000000008006": "0x0005000000000002000900000000000200000000030100190000006003300270000003050430019700040000004103550003000000010355000003050030019d000200000002001f000100000000001f0000008001000039000000400800003900000000001804350000000102200190000000550000c13d0000000002000031000000040320008c000003990000413d0000000303000367000000000403043b000000e006400270000003070460009c000000040520008a0000000404300370000000000a000411000001f40000613d000003080760009c000400000008001d000000600000613d000003090760009c000002540000613d0000030a0760009c000002810000613d0000030b0760009c000000a30000613d0000030c0760009c000002c50000613d0000030d0760009c000000ef0000613d0000030e0760009c000002f60000613d0000030f0760009c000001310000613d000003100160009c000001700000613d000003110160009c000001b10000613d000003120160009c000003990000c13d0000000001000416000000000110004c000003990000c13d000000040100008a00000000011000310000031302000041000000400310008c000000000300001900000000030240190000031301100197000000000410004c000000000200a019000003130110009c00000000010300190000000001026019000000000110004c000003990000c13d000000030100036700080000000103530000000401100370000000000101043b000900000001001d0c0f059b0000040f000000080100035f0000002401100370000000000201043b00000009010000290c0f079e0000040f00000004020000290000000003020433000003150110019700000000001304350000002002000039000000000103001900000000030000190c0f05880000040f0000000001000416000000000110004c000003990000c13d00000020020000390000010001000039000000000021043900000120020000390000000000020439000000400200003900000306030000410c0f05880000040f00090000000a001d00000000010200190c0f05bd0000040f000300000001001d000500000002001d000700000003001d000600000004001d000000020100003900000002021001870000000101200270000000000220004c000000700000c13d0000000901000029000003180110009c000000000100001900000001010040390c0f06c20000040f00000004010000290000000003010433000003190100004100000000001304350000000401300039000000090200002900000000002104350000000001000414000080030200003900000024040000390000002006000039000800000003001d00000000050300190c0f050a0000040f0000000104000031000000000110004c000003190000c13d00000004030003670000001f0240018f000000040100002900000000010104330000000504400270000000000540004c000000920000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b0000008a0000413d000000000520004c000000a10000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f0000000001000416000000000110004c000003990000c13d000000040100008a00000000011000310000031302000041000000200310008c000000000300001900000000030240190000031301100197000000000410004c000000000200a019000003130110009c00000000010300190000000001026019000000000110004c000003990000c13d00000004010000390000000301100367000000000101043b000900000001001d0c0f059b0000040f0c0f06250000040f00000009010000290000031501100197000000000010043500000020010000390000000000010435000000000100001900000004020000290c0f05620000040f000800000001001d00000004010000290000000001010433000900000001001d0c0f06170000040f00000008010000290c0f0c0d0000040f000800000001001d000000ff0110018f000700000001001d0c0f060c0000040f00000009010000290000000702000029000000000021043500000008010000290000000801100270000000ff0110018f000700000001001d0c0f060c0000040f00000009010000290000002002100039000800000002001d000000070300002900000000003204350000000002010433000700000002001d00000004010000290000000001010433000900000001001d00000000010200190c0f060c0000040f00000009010000290000000702000029000000000021043500000008010000290000000001010433000800000001001d0c0f060c0000040f0000000901000029000000200210003900000008030000290000000000320435000000040200002900000000030000190c0f05880000040f00090000000a001d00000000010200190c0f05bd0000040f000500000002001d000700000003001d000600000004001d000000020100003900000002021001870000000101200270000000000220004c000000fe0000c13d0000000901000029000003180110009c000000000100001900000001010040390c0f06c20000040f00000004010000290000000003010433000003190100004100000000001304350000000401300039000000090200002900000000002104350000000001000414000080030200003900000024040000390000002006000039000800000003001d00000000050300190c0f050a0000040f0000000104000031000000000110004c0000033f0000c13d00000004030003670000001f0240018f000000040100002900000000010104330000000504400270000000000540004c000001200000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000001180000413d000000000520004c0000012f0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031306000041000000200750008c000000000700001900000000070640190000031305500197000000000850004c000000000600a019000003130550009c00000000050700190000000005066019000000000550004c000003990000c13d000000000404043b000003140540009c000003990000213d00000023054000390000031306000041000000000725004b0000000007000019000000000706801900000313082001970000031305500197000000000985004b0000000006008019000000000585013f000003130550009c00000000050700190000000005066019000000000550004c000003990000c13d0000000405400039000000000353034f000000000b03043b0000031403b0009c000003990000213d00000024044000390000000503b00210000600000004001d0000000003430019000000000223004b000003990000213d0000800702a0008c000003b00000c13d0000000002000019000000000300001900070000000b001d0000000001b3004b000003bf0000813d0000000601000029000800000002001d00000000020b0019000900000003001d00000009030000290c0f07ba0000040f00000009030000290000000802000029000000070b00002900000060011000390000000301100367000000000101043b000000000221001900000001033000390000015f0000013d0000000001000416000000000110004c000003990000c13d000000040100008a00000000011000310000031302000041000000200310008c000000000300001900000000030240190000031301100197000000000410004c000000000200a019000003130110009c00000000010300190000000001026019000000000110004c000003990000c13d00000004030000390000000301300367000000000201043b000000010120008c000003990000213d000800000003001d000700000002001d0000000101000039000000020200003900000002022001880000018f0000c13d0000031801a0009c0000000001000019000000010100403900090000000a001d0c0f06c20000040f0000000901000029000000000010043500000020010000390000000000010435000000000100001900000004020000290c0f05620000040f000000040300002900000000040304330000031a0240009c000004870000213d00000040024000390000000000230435000600000004001d0c0f0c0d0000040f0000000604000029000000ff0210018f000000020320008c000001a90000813d00000000002404350000000801100270000000ff0110018f000000010210008c0000048f0000a13d0000031b010000410000000000100435000000210100003900000008020000290000000000120435000000240200003900000000010000190c0f05920000040f00090000000a001d00000000010200190c0f05e20000040f000500000002001d000700000003001d000600000004001d000300000005001d000000020100003900000002021001870000000101200270000000000220004c000001c10000c13d0000000901000029000003180110009c000000000100001900000001010040390c0f06c20000040f00000004010000290000000003010433000003190100004100000000001304350000000401300039000000090200002900000000002104350000000001000414000080030200003900000024040000390000002006000039000800000003001d00000000050300190c0f050a0000040f0000000104000031000000000110004c000003620000c13d00000004030003670000001f0240018f000000040100002900000000010104330000000504400270000000000540004c000001e30000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000001db0000413d000000000520004c000001f20000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031301000041000000400250008c000000000200001900000000020140190000031306500197000000000760004c000000000100a019000003130660009c000000000102c019000000000110004c000003990000c13d000000000604043b000003140160009c000003990000213d00000000016500490000031302000041000000a00410008c000000000400001900000000040240190000031301100197000000000510004c000000000200a019000003130110009c00000000010400190000000001026019000000000110004c000003990000c13d0000002401300370000000000201043b000003150120009c000003990000213d000000000100041000000000011a004b000003990000c13d0000000401600039000500000001001d000000000113034f000000000101043b000800000001001d000700000002001d000900000006001d0c0f09980000040f000000090100002900000024031000390000000301300367000000000101043b000003150210009c000003990000213d0000000802000029000400000003001d000600000001001d0c0f09fa0000040f0c0f06250000040f000000000201001900000020012000390000000000010435000000000002043500000006010000290c0f07050000040f000000090700002900000006020000290000000404000029000000070500002900000044037000390000000301000367000000000331034f000000000603043b000000000360004c0000000003000019000000010300c039000000000336004b000003990000c13d0000000803000029000000000360004c000004b70000c13d000000000141034f000000000701043b000003150170009c0000000806000029000003990000213d00000305010000410000000002000414000003050320009c0000000001024019000000c00110021000000316011001c70000800d02000039000000040300003900000317040000410c0f0bfb0000040f0000000101200190000003990000613d0000000001000019000000000200001900000000030000190c0f05880000040f0000000001000416000000000110004c000003990000c13d000000040100008a00000000011000310000031302000041000000200310008c000000000300001900000000030240190000031301100197000000000410004c000000000200a019000003130110009c00000000010300190000000001026019000000000110004c000003990000c13d00000004010000390000000301100367000000000201043b000000010120008c000003990000213d000800000002001d000000010100003900000002020000390000000202200188000002720000c13d0000031801a0009c0000000001000019000000010100403900090000000a001d0c0f06c20000040f0000000901000029000000000010043500000020010000390000000000010435000000400200003900000000010000190c0f05620000040f00000008020000290c0f06d70000040f0000000001000019000000000200001900000000030000190c0f05880000040f00090000000a001d00000000010200190c0f05e20000040f000200000001001d000500000002001d000700000003001d000600000004001d000300000005001d000000020100003900000002021001870000000101200270000000000220004c000002920000c13d0000000901000029000003180110009c000000000100001900000001010040390c0f06c20000040f00000004010000290000000003010433000003190100004100000000001304350000000401300039000000090200002900000000002104350000000001000414000080030200003900000024040000390000002006000039000800000003001d00000000050300190c0f050a0000040f0000000104000031000000000110004c000003860000c13d00000004030003670000001f0240018f000000040100002900000000010104330000000504400270000000000540004c000002b40000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000002ac0000413d000000000520004c000002c30000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f0000000001000416000000000110004c000003990000c13d0000000002000031000000040120008a0000031303000041000000800410008c000000000400001900000000040340190000031301100197000000000510004c000000000300a019000003130110009c00000000010400190000000001036019000000000110004c000003990000c13d00000003010003670000000403100370000000000403043b000003150340009c000003990000213d0000006401100370000000000101043b000003140310009c000003990000213d0000000401100039000900000004001d0c0f05a10000040f00000003030003670000002404300370000000000404043b0000004403300370000000000303043b0000000005010019000000000602001900000009010000290000000002040019000000000405001900000000050600190c0f076f0000040f00000004020000290000000003020433000003150110019700000000001304350000002002000039000000000103001900000000030000190c0f05880000040f0000000001000416000000000110004c000003990000c13d000000040100008a00000000011000310000031302000041000000200310008c000000000300001900000000030240190000031301100197000000000410004c000000000200a019000003130110009c00000000010300190000000001026019000000000110004c000003990000c13d00000004010000390000000301100367000000000101043b000900000001001d0c0f059b0000040f00000009010000290c0f06430000040f00000004020000290000000002020433000900000002001d000800000001001d0c0f060c0000040f000000090100002900000008020000290000000000210435000000200200003900000000030000190c0f05880000040f000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000008010000290000000001120019000000000221004b00000000020000190000000102004039000003140310009c0000000406000029000004870000213d0000000102200190000004870000c13d0000000000160435000000200140008c0000000901000029000003990000413d00000005020000290000000303000029000000070400002900000006050000290c0f076f0000040f0000000002010019000900000002001d0000000501000029000000070300002900000006040000290c0f08280000040f00000009010000290000031502100197000000040100002900000000010104330000000000210435000000200200003900000000030000190c0f05880000040f000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000008050000290000000001520019000000000221004b00000000020000190000000102004039000003140310009c0000000403000029000004870000213d0000000102200190000004870000c13d0000000000130435000000200140008c0000000901000029000003990000413d00000000020504330c0f079e0000040f0000000002010019000900000002001d0000000501000029000000070300002900000006040000290c0f08280000040f00000009010000290000031502100197000000040100002900000000010104330000000000210435000000200200003900000000030000190c0f05880000040f000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000008050000290000000001520019000000000221004b00000000020000190000000102004039000003140310009c0000000403000029000004870000213d0000000102200190000004870000c13d0000000000130435000000200140008c0000000901000029000003990000413d00000000020504330c0f079e0000040f0000000002010019000900000002001d00000005010000290000000303000029000000070400002900000006050000290c0f08da0000040f00000009010000290000031502100197000000040100002900000000010104330000000000210435000000200200003900000000030000190c0f05880000040f000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000008010000290000000001120019000000000221004b00000000020000190000000102004039000003140310009c0000000406000029000004870000213d0000000102200190000004870000c13d0000000000160435000000200140008c00000009010000290000039c0000813d000000000100001900000000020000190c0f05920000040f00000005020000290000000203000029000000070400002900000006050000290c0f076f0000040f0000000002010019000900000002001d00000005010000290000000303000029000000070400002900000006050000290c0f08da0000040f00000009010000290000031502100197000000040100002900000000010104330000000000210435000000200200003900000000030000190c0f05880000040f0000031c0200004100000000002104350000002003000039000000840200003900000000003204350000002d03000039000000a40400003900000000003404350000031d03000041000000c40400003900000000003404350000031e03000041000000e40400003900000000003404350c0f05920000040f0000000001000416000000000121004b000004a20000c13d0000000001000410000800000001001d0000000401000039000200000001001d0000000001000019000900000001001d0000000001b1004b000002500000813d000000060100002900000000020b001900000009030000290c0f07ba0000040f00000060011000390000000301100367000000000101043b000300000001001d0000000601000029000000070200002900000009030000290c0f07ba0000040f00000322020000410000000000200439000000080200002900000002030000290000000000230439000500000001001d0c0f05790000040f000000050d000029000000070b000029000000040a000029000000000110004c000003990000613d000000000c0a0433000003230100004100000000001c04350000000402c0003900000000010004140000000000a204350000000302d00367000000000202043b0000004403c0003900000000002304350000002002d000390000000302200367000000000202043b000003150320009c000003990000213d0000006403c0003900000000002304350000004002d000390000000302200367000000000202043b000000000320004c0000000003000019000000010300c039000000000332004b000003990000c13d0000008403c0003900000000002304350000006002d000390000000302200367000000000202043b000000a403c00039000000000023043500000000030000310000000002d300490000008004d000390000001f0520008a0000000302000367000000000442034f000000000404043b0000031306000041000000000754004b0000000007000019000000000706801900000313055001970000031308400197000000000958004b0000000006008019000000000558013f000003130550009c00000000050700190000000005066019000000000550004c000003990000c13d0000000004d40019000000000242034f000000000202043b000003140520009c000003990000213d000000200440003900000000032300490000031305000041000000000634004b0000000006000019000000000605201900000313033001970000031307400197000000000837004b0000000005008019000000000337013f000003130330009c00000000030600190000000003056019000000000330004c000003990000c13d000000c403c00039000000a0050000390000000000530435000000e403c0003900000000002304350000010403c0003900000003044003670000000505200270000000000650004c0000043f0000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000004370000413d0000001f0620018f000000000760004c0000044f0000613d0000000505500210000000000454034f00000000055300190000000306600210000000000705043300000000076701cf000000000767022f000000000404043b0000010006600089000000000464022f00000000046401cf000000000474019f0000000000450435000000000332001900000000000304350000002403c00039000080070400003900000000004304350000000803000029000000040330008c000004810000613d0000001f02200039000000200300008a000000000232016f00000104042000390000000303000029000000000230004c00010000000c001d000004770000613d00000305020000410000030505c0009c000000000502001900000000050c40190000004006500210000003050540009c00000000040280190000006004400210000000000564019f000003050410009c0000000001028019000000c001100210000000000115019f00000316011001c70000800902000039000000080400002900000000050000190c0f0bfb0000040f00000000030100190000006003300270000103050030019d0004000000010355000000010120018f0000047c0000013d000000080200002900000000030c001900000000050c001900000000060000190c0f050a0000040f000000000110004c000000040a000029000000070b000029000000010c000029000004e90000613d0000031401c0009c000004870000213d0000000000ca043500000009010000290000000101100039000003c70000013d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f0000002002400039000800000002001d00000000001204350000000702000029000000010220015f00000000011201a0000000000100001900000001010060390c0f06ed0000040f000000080100002900000007020000290c0f06370000040f000000090100002900000006020000290c0f07050000040f0000000001000019000000000200001900000000030000190c0f05880000040f0000000401000029000000000101043300000084021000390000031f0300004100000000003204350000006402100039000003200300004100000000003204350000004402100039000003210300004100000000003204350000002402100039000000450300003900000000003204350000031c020000410000000000210435000000040210003900000020030000390000000000320435000000a4020000390c0f05920000040f0000008403700039000000000331034f000000000a00003100000000047a0049000000230440008a000000000303043b0000031309000041000000000643004b0000000006000019000000000609801900000313044001970000031307300197000000000847004b00000000080000190000000008094019000000000447013f000003130440009c00000000040600190000000004086019000000000440004c000003990000c13d00000005040000290000000003430019000000000131034f000000000401043b000003140140009c000003990000213d00000000014a004900000020033000390000031309000041000000000613004b0000000008000019000000000809201900000313011001970000031306300197000000000716004b00000000070000190000000007094019000000000116013f000003130110009c00000000010800190000000001076019000000000110004c000003990000c13d00000000010500190c0f0a510000040f0000000404000029000000070500002900000003010003670000023f0000013d000000040200036700000001040000310000001f0340018f00000000010a04330000000504400270000000000540004c000004f90000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000004f10000413d000000000530004c000005080000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310c0f05920000040f0002000000000002000200000006001d000100000005001d0000030505000041000003050630009c00000000030580190000004003300210000003050640009c00000000040580190000006004400210000000000334019f000003050410009c0000000001058019000000c001100210000000000113019f0c0f0bfb0000040f000000010800002900000002040000290000001f0340018f0000000504400270000000000540004c000005290000613d000000000500001900000005065002100000000007680019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000005210000413d000000010220018f000000000530004c000005390000613d0000000504400210000000000541034f00000000044800190000000303300210000000000604043300000000063601cf000000000636022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000363019f000000000034043500040000000103550000006001100270000103050010019d00000000010200190000000200000005000000000001042d0001000000000002000100000005001d0000030505000041000003050630009c00000000030580190000004003300210000003050640009c00000000040580190000006004400210000000000334019f000003050410009c0000000001058019000000c001100210000000000113019f0c0f0c000000040f0000000106000029000000010220018f000000000300001900000005043002100000000005460019000000000441034f000000000404043b00000000004504350000000103300039000000000430004c000000000400001900000001040060390000000104400190000005510000c13d00040000000103550000006001100270000103050010019d00000000010200190000000100000005000000000001042d0000030503000041000003050410009c00000000010380190000004001100210000003050420009c00000000020380190000006002200210000000000112019f0000000002000414000003050420009c0000000002038019000000c002200210000000000112019f00000316011001c700008010020000390c0f0c000000040f0000000102200190000005760000613d000000000101043b000000000001042d000000000100001900000000020000190c0f05920000040f00000305010000410000000002000414000003050320009c0000000001024019000000c00110021000000324011001c700008002020000390c0f0c000000040f0000000102200190000005850000613d000000000101043b000000000001042d000000000100001900000000020000190c0f05920000040f0000030504000041000003050510009c000000000104801900000040011002100000000001310019000003050320009c00000000020480190000006002200210000000000121001900000c100001042e0000030503000041000003050420009c0000000002038019000003050410009c000000000103801900000040011002100000006002200210000000000112019f00000c1100010430000003250110009c0000059e0000813d000000000001042d000000000100001900000000020000190c0f05920000040f0000001f031000390000031304000041000000000523004b0000000005000019000000000504401900000313062001970000031303300197000000000763004b000000000400a019000000000363013f000003130330009c00000000030500190000000003046019000000000330004c000005ba0000613d0000000303100367000000000303043b000003140430009c000005ba0000213d00000020011000390000000004310019000000000224004b000005ba0000213d0000000002030019000000000001042d000000000100001900000000020000190c0f05920000040f00020000000000020000000002010019000000040120008a00000313030000410000005f0410008c000000000400001900000000040320190000031301100197000000000510004c0000000003008019000003130110009c00000000010400190000000001036019000000000110004c000005df0000613d00000003030003670000004401300370000000000101043b000003140410009c000005df0000213d0000000404300370000000000404043b000200000004001d0000002403300370000000000303043b000100000003001d00000004011000390c0f05a10000040f00000000030100190000000004020019000000020100002900000001020000290000000200000005000000000001042d000000000100001900000000020000190c0f05920000040f00020000000000020000000002010019000000040120008a00000313030000410000007f0410008c000000000400001900000000040320190000031301100197000000000510004c0000000003008019000003130110009c00000000010400190000000001036019000000000110004c000006090000613d00000003010003670000002403100370000000000303043b000200000003001d0000000403100370000000000303043b000100000003001d0000004401100370000000000101043b000003140310009c000006090000213d00000004011000390c0f05a10000040f0000000003010019000000000402001900000064010000390000000301100367000000000501043b000000010150008c000006090000213d000000010100002900000002020000290000000200000005000000000001042d000000000100001900000000020000190c0f05920000040f000000020110008c0000060f0000813d000000000001042d0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000003260210009c0000061d0000813d000000400110003900000040020000390000000000120435000000000001042d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f00000040020000390000000001020433000003260310009c0000062f0000813d00000040031000390000000000320435000000200210003900000000000204350000000000010435000000000001042d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000020320008c0000063b0000813d0000000000210435000000000001042d0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f00030000000000020000031501100197000100000001001d0000000000100435000000200100003900000000000104350000004002000039000300000002001d00000000010000190c0f05620000040f00000003030000290000000004030433000003260240009c000006960000813d00000040024000390000000000230435000200000004001d0c0f0c0d0000040f0000000204000029000000ff0210018f000000020320008c0000068e0000813d00000000002404350000000801100270000000ff0110018f000000010210008c0000068e0000213d000000200240003900000000001204350000000002040433000000010120008c0000068e0000213d0000000101000039000000000220004c0000068c0000c13d00000003010000290000000005010433000003270100004100000000001504350000000402500039000000000100041400000001030000290000000000320435000080020200003900000024040000390000000003050019000200000005001d0c0f053f0000040f0000000104000031000000000110004c0000069e0000613d000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000002050000290000000001520019000000000221004b00000000020000190000000102004039000003140310009c0000000303000029000006960000213d0000000102200190000006960000c13d00000000001304350000001f0140008c000006bf0000a13d0000000001050433000000000110004c000000000100001900000001010060390000000300000005000000000001042d0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f00000004030003670000001f0240018f000000030100002900000000010104330000000504400270000000000540004c000006ae0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000006a60000413d000000000520004c000006bd0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f000000000100001900000000020000190c0f05920000040f000000000110004c000006c50000613d000000000001042d000000400100003900000000010104330000006402100039000003280300004100000000003204350000004402100039000003290300004100000000003204350000002402100039000000240300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000084020000390c0f05920000040f0002000000000002000200000002001d000000020220008c000006e50000813d000100000001001d0c0f0c0d0000040f000001000200008a000000000121016f0000000202000029000000000121019f00000001020000290c0f0c0b0000040f0000000200000005000000000001042d0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000000110004c000006f00000613d000000000001042d0000004001000039000000000101043300000084021000390000032a03000041000000000032043500000064021000390000032b03000041000000000032043500000044021000390000032c0300004100000000003204350000002402100039000000430300003900000000003204350000031c020000410000000000210435000000040210003900000020030000390000000000320435000000a4020000390c0f05920000040f0002000000000002000200000002001d0000031501100197000000000010043500000020010000390000000000010435000000400200003900000000010000190c0f05620000040f00000002020000290000000002020433000000020320008c000007260000813d000100000001001d0c0f06d70000040f0000000101000029000000020200002900000020022000390000000002020433000200000002001d000000010220008c000007260000213d0c0f0c0d0000040f0000032d02000041000000000121016f000000020200002900000008022002100000ff000220018f000000000121019f00000001020000290c0f0c0b0000040f0000000200000005000000000001042d0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f00000000040100190000032e0120009c000007640000813d0000003f01200039000000200500008a000000000651016f000000400500003900000000010504330000000006610019000000000716004b00000000070000190000000107004039000003140860009c000007640000213d0000000107700190000007640000c13d000000000065043500000000002104350000000005420019000000000335004b0000076c0000213d0000001f0520018f000000030440036700000020031000390000000506200270000000000760004c000007520000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000074a0000413d000000000750004c000007610000613d0000000506600210000000000464034f00000000066300190000000305500210000000000706043300000000075701cf000000000757022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000474019f000000000046043500000000022300190000000000020435000000000001042d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000000100001900000000020000190c0f05920000040f0003000000000002000200000003001d000300000002001d000100000001001d0000000003000031000000000104001900000000020500190c0f072e0000040f000000000201043300000020011000390c0f05620000040f000000010200002900000315042001970000004003000039000000000203043300000040052000390000000000450435000000600420003900000002050000290000000000540435000000800420003900000003050000290000000000540435000000a0042000390000000000140435000000a00100003900000000001204350000032f0400004100000020012000390000000000410435000003300420009c000007960000813d000000c004200039000000000043043500000000020204330c0f05620000040f00000315011001970000000300000005000000000001042d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000400400003900000000030404330000006005300039000000000025043500000315011001970000004002300039000000000012043500000060010000390000000000130435000000200130003900000331020000410000000000210435000003320230009c000007b20000813d0000008002300039000000000024043500000000020304330c0f05620000040f0000031501100197000000000001042d0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000000223004b000007d20000813d000000050230021000000000021200190000000302200367000000000202043b00000000031000790000009f0330008a0000031304000041000000000532004b0000000005000019000000000504401900000313033001970000031306200197000000000736004b000000000400a019000000000336013f000003130330009c00000000030500190000000003046019000000000330004c000007da0000613d0000000001120019000000000001042d0000031b010000410000000000100435000000320100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000000100001900000000020000190c0f05920000040f000000000110004c000007e00000613d000000000001042d0000004001000039000000000101043300000044021000390000033303000041000000000032043500000024021000390000001c0300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390c0f05920000040f000000000110004c000007f20000613d000000000001042d000000400100003900000000010104330000006402100039000003340300004100000000003204350000004402100039000003350300004100000000003204350000002402100039000000280300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000084020000390c0f05920000040f000000000110004c000008070000613d000000000001042d000000400100003900000000010104330000004402100039000003360300004100000000003204350000002402100039000000150300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390c0f05920000040f000000000110004c000008190000613d000000000001042d000000400100003900000000010104330000004402100039000003370300004100000000003204350000002402100039000000130300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390c0f05920000040f0007000000000002000200000004001d000100000003001d000700000002001d000400000001001d000000000110004c0000000001000019000000010100c0390c0f07dd0000040f00000007010000290000031501100197000500000001001d0000ffff0110008c000000000100001900000001010020390c0f07ef0000040f0000004001000039000600000001001d000000000301043300000338010000410000000000130435000000040230003900000000010004140000000504000029000000000042043500008002020000390000002404000039000300000003001d00000000050300190c0f053f0000040f000000000110004c000008b00000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600320018f00000003050000290000000002530019000000000332004b00000000030000190000000103004039000003140420009c0000000004050019000008d20000213d0000000103300190000008d20000c13d000000060300002900000000002304350000001f0110008c000008ad0000a13d0000000001040433000000000110004c000000000100001900000001010060390c0f08040000040f00000006010000290000000005010433000003390100004100000000001504350000000402500039000000000100041400000005030000290000000000320435000080030200003900000024040000390000000003050019000300000005001d0c0f053f0000040f000000000110004c000008b00000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600320018f00000003050000290000000002530019000000000332004b00000000030000190000000103004039000003140420009c0000000004050019000008d20000213d0000000103300190000008d20000c13d00000006030000290000000000230435000000200110008c000008ad0000413d0000000001040433000000000110004c000000000100001900000001010060390c0f08160000040f00000004010000290c0f09980000040f000000070100002900000004020000290c0f09fa0000040f0c0f06250000040f000000000201001900000020012000390000000000010435000000000002043500000007010000290c0f07050000040f0000000001000411000600000001001d0000000702000029000000010300002900000002040000290c0f0a510000040f00000305010000410000000002000414000003050320009c000000000102401900000006020000290000031505200197000000c00110021000000316011001c70000800d0200003900000004030000390000031704000041000000040600002900000005070000290c0f0bfb0000040f0000000101200190000008ad0000613d0000000700000005000000000001042d000000000100001900000000020000190c0f05920000040f000000040200036700000001040000310000001f0340018f000000060100002900000000010104330000000504400270000000000540004c000008c10000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000008b90000413d000000000530004c000008d00000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f0008000000000002000200000005001d000100000004001d000300000003001d000800000002001d000500000001001d000000000110004c0000000001000019000000010100c0390c0f07dd0000040f00000008010000290000031501100197000600000001001d0000ffff0110008c000000000100001900000001010020390c0f07ef0000040f0000004001000039000700000001001d000000000301043300000338010000410000000000130435000000040230003900000000010004140000000604000029000000000042043500008002020000390000002404000039000400000003001d00000000050300190c0f053f0000040f000000000110004c000009660000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600320018f00000004050000290000000002530019000000000332004b00000000030000190000000103004039000003140420009c0000000004050019000009880000213d0000000103300190000009880000c13d000000070300002900000000002304350000001f0110008c000009630000a13d0000000001040433000000000110004c000000000100001900000001010060390c0f08040000040f00000007010000290000000005010433000003390100004100000000001504350000000402500039000000000100041400000006030000290000000000320435000080030200003900000024040000390000000003050019000400000005001d0c0f053f0000040f000000000110004c000009660000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600320018f00000004050000290000000002530019000000000332004b00000000030000190000000103004039000003140420009c0000000004050019000009880000213d0000000103300190000009880000c13d00000007030000290000000000230435000000200110008c000009630000413d0000000001040433000000000110004c000000000100001900000001010060390c0f08160000040f00000005010000290c0f09980000040f000000080100002900000005020000290c0f09fa0000040f0c0f06250000040f00000000020100190000000303000029000000020130008c000009900000813d00000000003204350000002001200039000000000001043500000008010000290c0f07050000040f0000000001000411000700000001001d0000000802000029000000010300002900000002040000290c0f0a510000040f00000305010000410000000002000414000003050320009c000000000102401900000007020000290000031505200197000000c00110021000000316011001c70000800d0200003900000004030000390000031704000041000000050600002900000006070000290c0f0bfb0000040f0000000101200190000009630000613d0000000800000005000000000001042d000000000100001900000000020000190c0f05920000040f000000040200036700000001040000310000001f0340018f000000070100002900000000010104330000000504400270000000000540004c000009770000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b0000096f0000413d000000000530004c000009860000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f0000031b010000410000000000100435000000210100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f00020000000000020000004002000039000200000002001d00000000030204330000033a02000041000000000023043500000004023000390000000000120435000000000100041400008004020000390000002404000039000100000003001d00000000050300190c0f053f0000040f0000000104000031000000000110004c000009c10000613d000000200140008c000000200100003900000000010440190000001f01100039000000600210018f00000001050000290000000001520019000000000221004b00000000020000190000000102004039000003140310009c0000000003050019000009e20000213d0000000102200190000009e20000c13d000000020200002900000000001204350000001f0240008c000009ea0000a13d0000000002030433000000000220004c000009ed0000613d0000000200000005000000000001042d00000004030003670000001f0240018f000000020100002900000000010104330000000504400270000000000540004c000009d10000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000009c90000413d000000000520004c000009e00000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000000100001900000000020000190c0f05920000040f00000044021000390000033b03000041000000000032043500000024021000390000001a0300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390c0f05920000040f0003000000000002000200000002001d000300000001001d0000032201000041000000000010043900008002010000390000000402000039000100000002001d00000000001204390c0f05790000040f000000000110004c00000a240000613d00000002010000290000033c011001970000033d011001c70000004002000039000200000002001d0000000003020433000000240230003900000000001204350000033e0100004100000000001304350000000301000029000003150110019700000004023000390000000000120435000000000100041400008002020000390000004404000039000300000003001d000000000503001900000000060000190c0f050a0000040f000000000110004c00000a270000613d00000003020000290000032e0120009c00000a490000813d000000020100002900000000002104350000000300000005000000000001042d000000000100001900000000020000190c0f05920000040f000000040200036700000001040000310000001f0340018f000000020100002900000000010104330000000504400270000000000540004c00000a380000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00000a300000413d000000000530004c00000a470000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310c0f05920000040f0000031b010000410000000000100435000000410100003900000001020000290000000000120435000000240200003900000000010000190c0f05920000040f00060000000000020000000005030019000500000002001d000600000001001d0000000001000416000000000110004c00000a850000613d000300000005001d000400000004001d000003220100004100000000001004390000800a01000039000000040200003900000000001204390c0f05790000040f000000000110004c00000ba20000613d0000004001000039000100000001001d00000000050104330000033f0100004100000000001504350000004402500039000000000100041400000000030004160000000000320435000000050200002900000315022001970000002403500039000000000023043500000000020004100000031502200197000000040350003900000000002304350000800a0200003900000064040000390000000003050019000200000005001d00000000060000190c0f050a0000040f000000000110004c00000bad0000613d0000000202000029000003140120009c0000000404000029000000030500002900000ba50000213d000000010100002900000000002104350000000001000416000003400110019700000000000104170000000003000031000000000105001900000000020400190c0f072e0000040f000400000001001d00000000010104330c0f0be90000040f000300000001001d00000000010004140c0f0be90000040f0000000402000029000000400220021000000341022000410000034202200197000000030300002900000060033002100000034303300197000000000232019f000000c0011002100000034401100197000000000112019f0000000602000029000003150d2001970000033d011001c700000005020000290c0f0c050000040f000000000302001900000000020100190000006002200270000103050020019d0000030502200197000400000001035500000001033001900000001f0320018f000000050420027000000bcf0000613d0000003f012000390000034506100197000000400c00003900000000050c04330000000001650019000000000751004b00000000070000190000000107004039000003140810009c00000ba50000213d000000010770019000000ba50000c13d00000000001c043500000000002504350000002001500039000000200860008a0000001f0680018f000000000700003100000003077003670000000508800270000000000980004c00000ac80000613d0000000009000019000000050a900210000000000ba10019000000000aa7034f000000000a0a043b0000000000ab04350000000109900039000000000a89004b00000ac00000413d000000000960004c00000ad70000613d0000000508800210000000000787034f00000000088100190000000306600210000000000908043300000000096901cf000000000969022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000696019f000000000068043500000000002504350000000106000031000000000262004b00000ba20000213d0000000402000367000000000640004c00000ae70000613d000000000600001900000005076002100000000008710019000000000772034f000000000707043b00000000007804350000000106600039000000000746004b00000adf0000413d000000000630004c00000af60000613d0000000504400210000000000242034f00000000044100190000000303300210000000000604043300000000063601cf000000000636022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000262019f000000000024043500000000020504330000031303000041000000200420008c000000000400001900000000040340190000031305200197000000000650004c000000000300a019000003130550009c000000000304c019000000000330004c00000ba20000c13d0000000003010433000003140430009c00000ba20000213d000000000221001900000000011300190000001f031000390000031304000041000000000523004b0000000005000019000000000504801900000313033001970000031306200197000000000763004b0000000004008019000000000363013f000003130330009c00000000030500190000000003046019000000000330004c00000ba20000c13d0000000003010433000003140430009c00000ba50000213d00000005043002100000003f04400039000000200500008a000000000454016f00000000090c04330000000004490019000000000594004b00000000050000190000000105004039000003140640009c00000ba50000213d000000010550019000000ba50000c13d00000000004c04350000000000390435000000200110003900000006033002100000000003130019000000000423004b00000ba20000213d0000000004090019000000000531004b00000b4c0000813d00000000051200490000031306000041000000400750008c000000000700001900000000070640190000031305500197000000000850004c000000000600a019000003130550009c00000000050700190000000005066019000000000550004c00000ba20000c13d00000000050c04330000031a0650009c00000ba50000213d0000002004400039000000400650003900000000006c04350000000006010433000000000065043500000020061000390000000006060433000000200750003900000000006704350000000000540435000000400110003900000b2e0000013d0000032201000041000000000010043900008005010000390000000402000039000300000002001d000000000012043900060000000c001d000400000009001d0c0f05790000040f00000004070000290000000604000029000000000110004c00000ba20000613d000000000304043300000346010000410000000000130435000000240230003900000000010004140000000000420435000000050200002900000315042001970000000402300039000200000004001d000000000042043500000000020704330000004404300039000000000024043500000064083000390000000004000019000000000524004b00000b760000813d000000200770003900000000050704330000000006050433000000000068043500000020055000390000000005050433000000200680003900000000005604350000000104400039000000400880003900000b690000013d0000000004380049000080050200003900000000050300190000000006000019000500000003001d0c0f050a0000040f000000000110004c00000bad0000613d0000000502000029000003140120009c000000060100002900000ba50000213d0000000000210435000003220100004100000000001004390000800201000039000000030200002900000000001204390c0f05790000040f0000000602000029000000000110004c00000ba20000613d0000000005020433000003470100004100000000001504350000000402500039000000000100041400000002030000290000000000320435000080020200003900000024040000390000000003050019000500000005001d00000000060000190c0f050a0000040f000000000110004c00000bad0000613d0000000502000029000003140120009c000000060100002900000ba50000213d00000000002104350000000600000005000000000001042d000000000100001900000000020000190c0f05920000040f0000031b010000410000000000100435000000410100003900000004020000390000000000120435000000240200003900000000010000190c0f05920000040f000000040200036700000001040000310000001f0340018f000000400100003900000000010104330000000504400270000000000540004c00000bbe0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00000bb60000413d000000000530004c00000bcd0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310c0f05920000040f000000000540004c00000bd90000613d00000000050000190000000506500210000000000761034f000000000707043b00000000007604350000000105500039000000000645004b00000bd20000413d000000000530004c00000be70000613d00000003033002100000000504400210000000000504043300000000053501cf000000000535022f000000000141034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000000010000190c0f05920000040f000003480210009c00000bec0000813d000000000001042d000000400100003900000000010104330000004402100039000003490300004100000000003204350000002402100039000000080300003900000000003204350000031c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390c0f05920000040f00000bfe002104210000000102000039000000000001042d0000000002000019000000000001042d00000c03002104230000000102000039000000000001042d0000000002000019000000000001042d000000000f0d001900000c09002104290000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d00000c0f0000043200000c100001042e00000c11000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3385fb6000000000000000000000000000000000000000000000000000000003cda33510000000000000000000000000000000000000000000000000000000057180981000000000000000000000000000000000000000000000000000000005d382700000000000000000000000000000000000000000000000000000000007b510fe80000000000000000000000000000000000000000000000000000000084da1fb4000000000000000000000000000000000000000000000000000000009c4d535b00000000000000000000000000000000000000000000000000000000bb0fd61000000000000000000000000000000000000000000000000000000000e9f18c1700000000000000000000000000000000000000000000000000000000ec8067c700000000000000000000000000000000000000000000000000000000ecf95b8a00000000000000000000000000000000000000000000000000000000187598a58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0200000000000000000000000000000000000000000000000000000000000000290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e50000000000000000000000000000000000000000000000000000000000010000306395c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf4e487b710000000000000000000000000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000043616e206f6e6c792062652063616c6c656420627920464f5243455f4445504c4f5945525f434f4e5452414354000000000000000000000000000000000000006d656e74730000000000000000000000000000000000000000000000000000002074686520636f6d62696e6564206076616c75656073206f66206465706c6f796076616c7565602070726f7669646564206973206e6f7420657175616c20746f1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83f3385fb60000000000000000000000000000000000000000000000000000000002000002000000000000000000000000000000240000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc04de2e46800000000000000000000000000000000000000000000000000000000666c61670000000000000000000000000000000000000000000000000000000054686973206d6574686f6420726571756972652073797374656d2063616c6c20696e6700000000000000000000000000000000000000000000000000000000006f6d2073657175656e7469616c20746f20617262697472617279206f726465724974206973206f6e6c7920706f737369626c6520746f206368616e6765206672ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff00000000000000000000000000000000000000000000000100000000000000002020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494000000000000000000000000000000000000000000000000ffffffffffffff4063bae3a9951d38e8a3fbb7b70909afc1200610fc5bc55ade242f815974674f23000000000000000000000000000000000000000000000000ffffffffffffff8042797465636f6465486173682063616e206e6f74206265207a65726f00000000656c20737061636500000000000000000000000000000000000000000000000043616e206e6f74206465706c6f7920636f6e74726163747320696e206b65726e436f64652068617368206973206e6f6e2d7a65726f00000000000000000000004163636f756e74206973206f6363757069656400000000000000000000000000e03fe177000000000000000000000000000000000000000000000000000000005aa9b6b5000000000000000000000000000000000000000000000000000000004c6314f00000000000000000000000000000000000000000000000000000000054686520636f64652068617368206973206e6f74206b6e6f776e000000000000ff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00010000000000000000000000000000000000000000000000000000000000004f1e1be000000000000000000000000000000000000000000000000000000000579952fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffe0ad7e232e00000000000000000000000000000000000000000000000000000000c2e4ff970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004f766572666c6f770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000001": "0x00010000000000020000000000010355000000800300003900000040010000390000000000310435000000000300041600000001022001900000003b0000c13d000000000230004c000000450000c13d00000000020004120000001a022001970000000003000410000000000232004b000000450000c13d00000000040003670000006002400370000000000302043b0000001b063000410000002002400370000000000202043b0000004005400370000000000505043b0000001b075000410000001c0770009c000000470000413d0000001d0720008a000000020800008a000000000787004b000000470000413d0000001b0660009c000000470000a13d000000000404043b000000000101043300000060061000390000000000360435000000400310003900000000005304350000001b0220008a000000200310003900000000002304350000000000410435000000800110008c0000004b0000c13d0000000001000414000004580110008c000000450000413d00000458010000390000001e020000410000000001120420000000000110004c000000450000613d0000000001000433000000010110008c000000470000c13d000000200100003900000000020100190000000003000019005e00520000040f000000000130004c000000450000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000001903000041005e00520000040f0000000001000019005e005c0000040f000000000100001900000000020000190000000003000019005e00520000040f0000001d0100004100000000001004350000000101000039000000040200003900000000001204350000002401000039005e005c0000040f0000001f040000410000001f0510009c0000000001048019000000400110021000000000013100190000001f0320009c0000000002048019000000600220021000000000012100190000005f0001042e000000600110021000000060000104300000005e000004320000005f0001042e00000060000104300000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000014551231950b75fc4402da1732fc9bebf000000000000000000000000000000014551231950b75fc4402da1732fc9bec04e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000040000000400000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008005": "0x00020000000000020007000000000002000100000001035500000060011002700000003a0010019d00000080050000390000004001000039000000000051043500000001012001900000003d0000c13d0000000001000031000000040110008c000000a50000413d0000000101000367000000000101043b000000e0011002700000003c0210009c000000480000613d0000003d0110009c000000a50000c13d0000000001000416000000000110004c000000a50000c13d000000040100008a00000000011000310000003e02000041000000400310008c000000000300001900000000030240190000003e01100197000000000410004c000000000200a0190000003e0110009c00000000010300190000000001026019000000000110004c000000a50000c13d000600000005001d00e400d20000040f0000003f0110019700000000001004350000002001000039000700000001001d0000000000010435000000000100001900e400ac0000040f00000024020000390000000102200367000000000202043b000000000020043500000007020000290000000000120435000000000100001900e400ac0000040f00e400e20000040f0000000602000029000000000012043500000000010200190000000702000029000000000300001900e400bf0000040f0000000001000416000000000110004c000000a50000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000003b0300004100e400bf0000040f0000000001000416000000000110004c000000a50000c13d0000000001000031000000040210008a0000003e03000041000000400420008c000000000400001900000000040340190000003e02200197000000000520004c000000000300a0190000003e0220009c00000000020400190000000002036019000000000220004c000000a50000c13d00000001020003670000000403200370000000000303043b000300000003001d0000003f0330009c000000a50000213d0000002403200370000000000303043b000000400430009c000000a50000213d00000023043000390000003e05000041000000000614004b000000000600001900000000060580190000003e071001970000003e04400197000000000874004b0000000005008019000000000474013f0000003e0440009c00000000040600190000000004056019000000000440004c000000a50000c13d0000000404300039000000000242034f000000000402043b000000400240009c000000a50000213d00000024033000390000000602400210000200000003001d0000000002320019000000000112004b000000a50000213d0000000001000411000080060110008c000000a50000c13d0000002001000039000700000001001d0000000002000019000100000004001d000000000142004b000000a80000813d0000000601200210000600000002001d000000020200002900000000012100190000000102000367000000000312034f0000002001100039000000000112034f000000000101043b000500000001001d000000000103043b000400000001001d0000000301000029000000000010043500000007010000290000000000010435000000000100001900e400ac0000040f0000000402000029000000000020043500000007020000290000000000120435000000000100001900e400ac0000040f0000000002010019000000050100002900e400e00000040f000000060200002900000001040000290000000102200039000000840000013d0000000001000019000000000200001900e400c90000040f00000000010000190000000002000019000000000300001900e400bf0000040f0000003a0200004100000000030004140000003a0430009c00000000030280190000003a0410009c00000000010280190000004001100210000000c002300210000000000112019f00000041011001c7000080100200003900e400db0000040f0000000102200190000000bc0000613d000000000101043b000000000001042d0000000001000019000000000200001900e400c90000040f0000003a040000410000003a0510009c0000000001048019000000400110021000000000013100190000003a0320009c000000000204801900000060022002100000000001210019000000e50001042e0000003a030000410000003a0420009c00000000020380190000003a0410009c000000000103801900000040011002100000006002200210000000000112019f000000e60001043000000004010000390000000101100367000000000101043b000000420210009c000000d80000813d000000000001042d0000000001000019000000000200001900e400c90000040f000000de002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d000000e400000432000000e50001042e000000e600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad7e232e00000000000000000000000000000000000000000000000000000000310ab0898000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff02000000000000000000000000000000000000400000000000000000000000000000000000000000000000010000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008010": "0x0002000000000002000200000000000200010000000103550000006001100270000000280010019d00000080010000390000004004000039000000000014043500000000030004160000000102200190000000550000c13d000000000230004c0000005f0000c13d00000000020004120000002a022001970000000003000410000000000232004b0000005f0000c13d000000010500036700000000030000310000001f0630018f0000000004040433000000882730011a0000000507300270000000000870004c000000230000613d00000000080000190000000509800210000000000a940019000000000995034f000000000909043b00000000009a04350000000108800039000000000978004b0000001b0000413d000000000860004c000000320000613d0000000507700210000000000575034f00000000077400190000000306600210000000000807043300000000086801cf000000000868022f000000000505043b0000010006600089000000000565022f00000000056501cf000000000585019f0000000000570435000000800440008c000000620000c13d000000000323004900000088043000390000002c030000410000000001100031000000870220008c0000003e0000613d0000002d0200004100000000002104350000002e030000410000007f014000390000000000310435000000881240011a000100000002001d00000028212000c9000200000004001d009a00880000040f0000000102000029000000c00220021000000002030000290000001b033002100000002f033000410000003003300197000000000223019f00000031022001c7000000000301001900000000010200190000000002030019009a007f0000040f009a00790000040f000000200200003900000000010000190000000003000019009a006a0000040f000000000130004c0000005f0000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000002903000041009a006a0000040f00000000010000190000000002000019009a00720000040f0000002b01000041000000000010043500000001010000390000000402000039000000000012043500000024020000390000000001000019009a00720000040f0000002804000041000000280510009c000000000104801900000040011002100000006002200210000000000121019f00000000013100190000009b0001042e0000002803000041000000280410009c000000000103801900000040011002100000006002200210000000000121019f0000009c00010430000000000110004c0000007c0000613d000000000001042d00000000010000190000000002000019009a00720000040f00000028022001970000000003000414000000000323004b000000850000413d0000000001210420000000000001042d00000000010000190000000002000019009a00720000040f000000320210009c0000008b0000813d000000000001042d00000040010000390000000001010433000000440210003900000033030000410000000000320435000000240210003900000008030000390000000000320435000000340200004100000000002104350000000402100039000000200300003900000000003204350000006402000039009a00720000040f0000009a000004320000009b0001042e0000009c0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff4e487b710000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000100000000000000000000000400000000000000000000000000000000000000000000000000000001000000004f766572666c6f7700000000000000000000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008004": "0x0002000000000002000100000000000200010000000103550000006001100270000000520010019d0000008005000039000000400100003900000000005104350000000101200190000000300000c13d0000000001000031000000040110008c000000710000413d0000000101000367000000000101043b000000e001100270000000540210009c0000003b0000613d000000550110009c000000710000c13d0000000001000416000000000110004c000000710000c13d000000040100008a00000000011000310000005602000041000000200310008c000000000300001900000000030240190000005601100197000000000410004c000000000200a019000000560110009c00000000010300190000000001026019000000000110004c000000710000c13d00000004010000390000000101100367000000000101043b000100000005001d014201400000040f00000001030000290000000000130435000000200200003900000000010300190000000003000019014200790000040f0000000001000416000000000110004c000000710000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000005303000041014200790000040f0000000001000416000000000110004c000000710000c13d0000000004000031000000040140008a0000005602000041000000400310008c000000000300001900000000030240190000005601100197000000000510004c000000000200a019000000560110009c00000000010300190000000001026019000000000110004c000000710000c13d00000001020003670000000401200370000000000101043b000000000310004c0000000003000019000000010300c039000000000331004b000000710000c13d0000002403200370000000000503043b000000570350009c000000710000213d00000023035000390000005606000041000000000743004b0000000007000019000000000706801900000056084001970000005603300197000000000983004b0000000006008019000000000383013f000000560330009c00000000030700190000000003066019000000000330004c000000710000c13d0000000403500039000000000232034f000000000302043b000000570230009c000000710000213d000000240250003900000005053002100000000005250019000000000445004b000000740000a13d00000000010000190000000002000019014200830000040f0142008c0000040f000000000100001900000000020000190000000003000019014200790000040f0000005204000041000000520510009c000000000104801900000040011002100000000001310019000000520320009c000000000204801900000060022002100000000001210019000001430001042e0000005203000041000000520420009c0000000002038019000000520410009c000000000103801900000040011002100000006002200210000000000112019f0000014400010430000a000000000002000700000003001d000600000002001d00000000030100190000000001000411000080010110008c0000012a0000c13d000000000130004c0000000001000019000000010100c039000500000001001d0000000101000039000400000001001d0000800d01000039000300000001001d0000000301000039000200000001001d0000000001000413000100000001001d0000000002000019000800000003001d0000000701000029000000000112004b000000df0000813d000a00000002001d0000000501200210000000060200002900000000012100190000000101100367000000000101043b000900000001001d014201400000040f0000000803000029000000000110004c000000dc0000c13d00000009020000290000005a012001970000005b0110009c000000e40000c13d0000005e01200198000000f60000613d000000000130004c000000cb0000613d00000001010000290000005205100197000000db012002700000005f01100197000000640310003900000000413500a900000000433100d9000000000335004b000001040000c13d0000000003020019000000610210009c0000010c0000813d0000000002000414000000000212004b000000e10000413d0000000001100420000000000110004c0000011b0000613d0000000002030019000000000002041d00000004010000290142013e0000040f00000052010000410000000002000414000000520320009c0000000001024019000000c00110021000000064011001c700000065040000410000000302000029000000020300002900000009050000290000000506000029014201390000040f00000008030000290000000101200190000000e10000613d0000000a020000290000000102200039000000a10000013d0000000a00000005000000000001042d00000000010000190000000002000019014200830000040f0000004001000039000000000101043300000064021000390000005c03000041000000000032043500000044021000390000005d030000410000000000320435000000240210003900000022030000390000000000320435000000590200004100000000002104350000000402100039000000200300003900000000003204350000008402000039014200830000040f0000004001000039000000000101043300000044021000390000006603000041000000000032043500000059020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000006402000039014200830000040f0000006001000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019014200830000040f00000040010000390000000001010433000000440210003900000063030000410000000000320435000000240210003900000008030000390000000000320435000000590200004100000000002104350000000402100039000000200300003900000000003204350000006402000039014200830000040f00000040010000390000000001010433000000440210003900000062030000410000000000320435000000240210003900000014030000390000000000320435000000590200004100000000002104350000000402100039000000200300003900000000003204350000006402000039014200830000040f0000004001000039000000000101043300000044021000390000005803000041000000000032043500000024021000390000001f030000390000000000320435000000590200004100000000002104350000000402100039000000200300003900000000003204350000006402000039014200830000040f0000013c002104210000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d0000014200000432000001430001042e000001440001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e516761e000000000000000000000000000000000000000000000000000000004c6314f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff43616c6c61626c65206f6e6c792062792074686520626f6f746c6f616465720008c379a000000000000000000000000000000000000000000000000000000000ffff00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000007368000000000000000000000000000000000000000000000000000000000000496e636f72726563746c7920666f726d61747465642062797465636f64654861000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffe04e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004661696c656420746f20636861726765206761730000000000000000000000004f766572666c6f770000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287436f6465206c656e67746820696e20776f726473206d757374206265206f6464", - "0x0000000000000000000000000000000000008008": "0x00020000000000020001000000000002000100000001035500000060011002700000004c0010019d00000080010000390000004008000039000000000018043500000001012001900000007a0000c13d0000000001000031000000040110008c000000850000413d0000000101000367000000000101043b0000004e011001970000004f0110009c000000850000c13d0000000001000416000000000110004c000000850000c13d0000000001000031000000040210008a0000005003000041000000200420008c000000000400001900000000040340190000005002200197000000000520004c000000000300a019000000500220009c00000000020400190000000002036019000000000220004c000000850000c13d00000001020003670000000403200370000000000303043b000000510430009c000000850000213d00000023043000390000005005000041000000000614004b0000000006000019000000000605801900000050011001970000005004400197000000000714004b0000000005008019000000000114013f000000500110009c00000000010600190000000001056019000000000110004c000000850000c13d0000000401300039000000000112034f000000000201043b000000520120009c000000880000813d0000001f01200039000000200400008a000000000141016f0000003f01100039000000000441016f00000000010804330000000004410019000000000514004b00000000050000190000000105004039000000510640009c000000880000213d0000000105500190000000880000c13d00000000004804350000000000210435000000240330003900000000043200190000000005000031000000000454004b000000850000213d000100000008001d0000001f0420018f000000010530036700000020031000390000000506200270000000000760004c000000610000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000590000413d000000000740004c000000700000613d0000000506600210000000000565034f00000000066300190000000304400210000000000706043300000000074701cf000000000747022f000000000505043b0000010004400089000000000545022f00000000044501cf000000000474019f000000000046043500000000022300190000000000020435012a00ba0000040f000000010200002900000000030204330000000000130435000000200200003900000000010300190000000003000019012a00a70000040f0000000001000416000000000110004c000000850000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000004d03000041012a00a70000040f00000000010000190000000002000019012a00b10000040f0000005301000041000000000010043500000041010000390000000402000039000000000012043500000024020000390000000001000019012a00b10000040f0000004c030000410000004c0410009c000000000103801900000040011002100000004c0420009c00000000020380190000006002200210000000000112019f00000000020004140000004c0420009c0000000002038019000000c002200210000000000112019f00000054011001c70000801002000039012a01250000040f0000000102200190000000a40000613d000000000101043b000000000001042d00000000010000190000000002000019012a00b10000040f0000004c040000410000004c0510009c0000000001048019000000400110021000000000013100190000004c0320009c0000000002048019000000600220021000000000012100190000012b0001042e0000004c030000410000004c0420009c00000000020380190000004c0410009c000000000103801900000040011002100000006002200210000000000112019f0000012c000104300001000000000002000100000001001d00000000020104330000002001100039012a00900000040f000000010a00002900000000020a04330000005f03200039000000200200008a000000000323016f000000000901001900000000010004130000004c0410019700000000514300a9000000000530004c000000cf0000613d00000000533100d9000000000334004b000001090000c13d000000550310009c000001110000813d00000058011001970000000003000414000000000313004b000001060000413d0000000001100420000000000110004c000001060000613d0000000005000411000000000095041d000000400100003900000000010104330000002003000039000000000031043500000000030a04330000002004100039000000000034043500000040041000390000000006000019000000000736004b000000e90000813d000000000746001900000020066000390000000008a6001900000000080804330000000000870435000000e10000013d000000000443001900000000000404350000005f03300039000000000223016f0000004c030000410000004c0410009c000000000103801900000040011002100000004c0420009c00000000020380190000006002200210000000000112019f00000000020004140000004c0420009c0000000002038019000000c002200210000000000112019f00000054011001c70000800d02000039000000030300003900000059040000410000000006090019000100000009001d012a01200000040f00000001010000290000000102200190000001060000613d0000000100000005000000000001042d00000000010000190000000002000019012a00b10000040f0000005301000041000000000010043500000011010000390000000402000039000000000012043500000024020000390000000001000019012a00b10000040f00000040010000390000000001010433000000440210003900000056030000410000000000320435000000240210003900000008030000390000000000320435000000570200004100000000002104350000000402100039000000200300003900000000003204350000006402000039012a00b10000040f00000123002104210000000102000039000000000001042d0000000002000019000000000001042d00000128002104230000000102000039000000000001042d0000000002000019000000000001042d0000012a000004320000012b0001042e0000012c0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000062f84b24000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000100000000000000004e487b7100000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004f766572666c6f7700000000000000000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffe03a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce2410000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000000000800a": "0x0004000000000002000600000000000200000000030100190000006003300270000000b60430019700030000004103550002000000010355000000b60030019d000100000000001f0000008001000039000000400600003900000000001604350000000101200190000000440000c13d0000000003000031000000040130008c000002410000413d0000000201000367000000000201043b000000e002200270000000b90420009c000000e90000613d000000ba0420009c0000010c0000613d000000bb0420009c000001270000613d000000bc0420009c0000013e0000613d000000bd0420009c000000550000613d000000be0120009c0000018f0000613d000000bf0120009c000000c10000613d000000c00120009c000002410000c13d0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000000310004c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d000600000006001d02d102b20000040f00000000020100190000002001200039000000d103000041000000000031043500000006010000290000000001010433000600000001001d02d1029d0000040f000000060300002900000000023100490000000001030019000000000300001902d102770000040f0000000001000416000000000110004c000002410000c13d0000000201000039000600000001001d02d102cf0000040f000000b701100197000000060200002902d102cd0000040f000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000000b80300004102d102770000040f000000040230008a000000c103000041000000200420008c00000000040000190000000004034019000000c102200197000000000520004c000000000300a019000000c10220009c00000000020400190000000002036019000000000220004c000002410000c13d0000000401100370000000000201043b000000c20120009c000002410000213d0000000001000410000000c20110019700000000001004350000002001000039000300000001001d0000000000010435000600000006001d000500000002001d02d102680000040f000400000001001d02d102cf0000040f00000000020004160000000001210049000000040200002902d102cd0000040f0000000101000039000400000001001d02d102cf0000040f00000000020004160000000001210049000000040200002902d102cd0000040f000000060500002900000000020004160000000001050433000000c9030000410000002004100039000000000034043500000005030000290000006003300210000000240410003900000000003404350000003803100039000000000023043500000038020000390000000000210435000000ca0210009c000001ce0000813d0000006003100039000400000003001d0000000000350435000000cb02000041000000000023043500000064021000390000000003000414000200000003001d00000003030000290000000000320435000000840210003902d1028a0000040f000000040200002900000000032100490000000201000029000000000402001902d102440000040f0000000104000031000000000110004c000001c30000c13d00000003030003670000001f0240018f000000060100002900000000010104330000000504400270000000000540004c000000b00000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000000a80000413d000000000520004c000000bf0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f0000000000240435000000010200003102d102810000040f0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000000310004c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d0000000001060433000500000001001d000600000006001d02d102a40000040f00000005030000290000002001300039000000c302000041000000000021043500000003010000390000000000130435000000000103001900000006020000290000000003020433000600000003001d00000020020000390000000000230435000000200230003902d1028a0000040f000000060300002900000000023100490000000001030019000000000300001902d102770000040f0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000200310008c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d00000004010000390000000201100367000000000101043b000000c20110019700000000001004350000002001000039000500000001001d0000000000010435000600000006001d02d102680000040f02d102cf0000040f00000006020000290000000002020433000000000012043500000000010200190000000502000029000000000300001902d102770000040f0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000000310004c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d0000000101000039000600000006001d02d102cf0000040f00000006020000290000000003020433000000000013043500000020020000390000000001030019000000000300001902d102770000040f0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000000310004c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d0000000001060433000000120200003900000000002104350000002002000039000000000300001902d102770000040f0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000400310008c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d00000002010003670000000402100370000000000302043b000000c20230009c000002410000213d0000002401100370000000000201043b0000000001000411000080010110008c000001d60000c13d000400000003001d000600000006001d0000000101000039000500000002001d02d102cf0000040f000000000201001900000005010000290000000001120019000000000221004b000000000200001900000001020040390000000102200190000002210000c13d000000010200003902d102cd0000040f000000040100002900000000001004350000002001000039000000000001043502d102680000040f000300000001001d02d102cf0000040f000000050300002900000000020100190000000001320019000000000221004b000000000200001900000001020040390000000102200190000002210000c13d000000030200002902d102cd0000040f0000000601000029000000000101043300000005020000290000000000210435000000b6020000410000000003000414000000b60430009c0000000003028019000000b60410009c00000000010280190000004001100210000000c002300210000000000112019f000000c4011001c70000800d020000390000000203000039000000d004000041000000040500002902d102c30000040f0000000101200190000002410000613d000001fd0000013d0000000001000416000000000110004c000002410000c13d000000040100008a0000000001100031000000c102000041000000600310008c00000000030000190000000003024019000000c101100197000000000410004c000000000200a019000000c10110009c00000000010300190000000001026019000000000110004c000002410000c13d00000002010003670000000402100370000000000302043b000000c20230009c000002410000213d0000002402100370000000000402043b000000c20240009c000002410000213d00000000020004110000004401100370000000000501043b000080060120008c000002010000613d000000090100008a000000000112016f000080010110008c000002010000613d00000000010604330000006402100039000000c60300004100000000003204350000004402100039000000c703000041000000000032043500000024021000390000003e030000390000000000320435000000c8020000410000000000210435000000040210003900000020030000390000000000320435000000840200003902d102810000040f000000200140008c000000200100003900000000010440190000001f01100039000000600110018f00000004020000290000000001210019000000cc0210009c00000006020000290000000506000029000001e40000a13d000000ce0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001902d102810000040f00000000010604330000004402100039000000cf03000041000000000032043500000024021000390000001f030000390000000000320435000000c8020000410000000000210435000000040210003900000020030000390000000000320435000000640200003902d102810000040f0000000000120435000000200140008c000002410000413d0000000001000416000000000016041d000000000102043300000000020004160000000000210435000000b6020000410000000003000414000000b60430009c0000000003028019000000b60410009c00000000010280190000004001100210000000c002300210000000000112019f000000c4011001c70000800d020000390000000303000039000000cd04000041000000000500041102d102c30000040f0000000101200190000002410000613d00000000010000190000000002000019000000000300001902d102770000040f000400000004001d000600000006001d000100000003001d00000000003004350000002001000039000300000001001d0000000000010435000500000005001d02d102680000040f000200000001001d02d102cf0000040f0000000503000029000000000231004b000002210000413d0000000001310049000000020200002902d102cd0000040f000000040100002900000000001004350000000301000029000000000001043502d102680000040f000300000001001d02d102cf0000040f000000050300002900000000020100190000000001320019000000000221004b000000000200001900000001020040390000000102200190000002290000613d000000ce0100004100000000001004350000001101000039000000040200003900000000001204350000002402000039000000000100001902d102810000040f000000030200002902d102cd0000040f0000000601000029000000000101043300000005020000290000000000210435000000b6020000410000000003000414000000b60430009c0000000003028019000000b60410009c00000000010280190000004001100210000000c002300210000000000112019f000000c4011001c70000800d020000390000000303000039000000c5040000410000000105000029000000040600002902d102c30000040f0000000101200190000001fd0000c13d0000000001000019000000000200001902d102810000040f0001000000000002000100000004001d000000b604000041000000b60520009c00000000020480190000004002200210000000b60530009c00000000030480190000006003300210000000000223019f000000b60310009c0000000001048019000000c001100210000000000112019f000080080200003902d102c30000040f0000000106000029000000010220018f000000000300001900000005043002100000000005460019000000000441034f000000000404043b00000000004504350000000103300039000000000430004c000000000400001900000001040060390000000104400190000002570000c13d00030000000103550000006001100270000100b60010019d00000000010200190000000100000005000000000001042d000000b6010000410000000002000414000000b60320009c0000000001024019000000c001100210000000d2011001c7000080100200003902d102c80000040f0000000102200190000002740000613d000000000101043b000000000001042d0000000001000019000000000200001902d102810000040f000000b604000041000000b60510009c000000000104801900000040011002100000000001310019000000b60320009c000000000204801900000060022002100000000001210019000002d20001042e000000b603000041000000b60420009c0000000002038019000000b60410009c000000000103801900000040011002100000006002200210000000000112019f000002d3000104300000000003010433000000000032043500000020022000390000000004000019000000000534004b000002960000813d000000000542001900000020044000390000000006140019000000000606043300000000006504350000028e0000013d000000000132001900000000000104350000001f01300039000000200300008a000000000131016f0000000001120019000000000001042d0000000003020019000000200200003900000000002104350000002002100039000000000103001902d1028a0000040f000000000001042d000000d30210009c000002aa0000813d000000400110003900000040020000390000000000120435000000000001042d000000ce0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001902d102810000040f00000040020000390000000001020433000000d30310009c000002bb0000813d0000004003100039000000000032043500000005020000390000000000210435000000000001042d000000ce0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001902d102810000040f000002c6002104210000000102000039000000000001042d0000000002000019000000000001042d000002cb002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d000002d100000432000002d20001042e000002d300010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cc7f7080000000000000000000000000000000000000000000000000000000018160ddd00000000000000000000000000000000000000000000000000000000313ce5670000000000000000000000000000000000000000000000000000000040c10f190000000000000000000000000000000000000000000000000000000051cff8d900000000000000000000000000000000000000000000000000000000579952fc0000000000000000000000000000000000000000000000000000000095d89b410000000000000000000000000000000000000000000000000000000006fdde038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45544800000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000020000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef616c206163636573732063616e2063616c6c2074686973206d6574686f6400004f6e6c792073797374656d20636f6e747261637473207769746820737065636908c379a0000000000000000000000000000000000000000000000000000000006c0960f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa062f84b2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63984e487b710000000000000000000000000000000000000000000000000000000043616c6c61626c65206f6e6c792062792074686520626f6f746c6f61646572000f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688545746865720000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008009": "0x0008000000000002000400000000000200000000060100190000006006600270000000740760019700070000007103550006000000010355000300000003001f000400000004001f000500000005001f000000740060019d000200000002001f000100000000001f00000080010000390000004007000039000000000017043500000001022001900000002c0000c13d000000020200003900000002032001870000000102300270000000000330004c00000000030004110000001b0000c13d000000760230009c00000000020000190000000102004039000000000220004c000000370000c13d0000007d0200004100000000002104350000002003000039000000840200003900000000003204350000002403000039000000a40400003900000000003404350000007e03000041000000c40400003900000000003404350000007f03000041000000e404000039000000000034043501cc00c90000040f0000000001000416000000000110004c000000660000c13d000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000000750300004101cc00bf0000040f0000000504000031000000770200004100000004052001870000000306000031000000000260004c000400000004001d000300000005001d0000004d0000c13d00000000000604170000000001000031000000000201001901cc00d20000040f00000000030100190000000401000029000000010410018f0000000002000411000000030100002901cc01120000040f00000000020104330000002001100039000000000300001901cc00bf0000040f0000007804000041000000a00200003900000000004204350000007703300197000000a4040000390000000000340435000000c4030000390000000000530435000000e403000039000100000006001d0000000000630435000000640300003900000000003104350000012003000039000200000007001d000000000037043500000000040004140000000003010433000000000104001901cc00ab0000040f0000000102000031000000000320004c000000690000c13d000000000110004c000000a20000c13d0000000001000019000000000200001901cc00c90000040f000000790320009c00000002070000290000009a0000813d0000003f03200039000000200400008a000000000443016f00000000030704330000000004430019000000000534004b000000000500001900000001050040390000007a0640009c0000009a0000213d00000001055001900000009a0000c13d000000000047043500000000002304350000002002300039000000070300036700000001050000310000001f0450018f0000000505500270000000000650004c0000008a0000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000000820000413d000000000640004c000000640000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000640000013d0000007b0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001901cc00c90000040f00000001060000290000007c0160009c000000040400002900000003050000290000003f0000413d00000000010000190000000002000019000000000300001901cc00bf0000040f0000007404000041000000740520009c00000000020480190000004002200210000000740530009c00000000030480190000006003300210000000000223019f000000740310009c0000000001048019000000c001100210000000000112019f0000800a0200003901cc01c10000040f00000000030100190000006003300270000100740030019d0007000000010355000000010120018f000000000001042d0000007404000041000000740510009c000000000104801900000040011002100000000001310019000000740320009c000000000204801900000060022002100000000001210019000001cd0001042e0000007403000041000000740420009c0000000002038019000000740410009c000000000103801900000040011002100000006002200210000000000112019f000001ce00010430000000790310009c000001070000813d0000003f03100039000000200400008a000000000543016f000000400400003900000000030404330000000005530019000000000635004b000000000600001900000001060040390000007a0750009c000001070000213d0000000106600190000001070000c13d00000000005404350000000000130435000000000221004b0000010f0000213d00000006050003670000001f0410018f00000020023000390000000506100270000000000760004c000000f40000613d000000000700001900000005087002100000000009820019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000ec0000413d000000000740004c000001030000613d0000000506600210000000000565034f00000000066200190000000304400210000000000706043300000000074701cf000000000747022f000000000505043b0000010004400089000000000545022f00000000044501cf000000000474019f0000000000460435000000000112001900000000000104350000000001030019000000000001042d0000007b0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001901cc00c90000040f0000000001000019000000000200001901cc00c90000040f0005000000000002000300000004001d000200000003001d000400000002001d000500000001001d000000000103043301cc01af0000040f000100000001001d000000000100041401cc01af0000040f0000000202000029000000400220021000000080022000410000008102200197000000010300002900000060033002100000008203300197000000000223019f000000c0011002100000008301100197000000000112019f00000084021001c70000000303000029000000000330004c000000000102c0190000000402000029000000770d200197000000050200002901cc01c60000040f000000000302001900000000020100190000006002200270000100740020019d000000740220019700070000000103550000000103300190000001880000613d0000003f012000390000008504100197000000400300003900000000010304330000000005410019000000000615004b000000000600001900000001060040390000007a0750009c000001a40000213d0000000106600190000001a40000c13d000000000053043500000000002104350000002003100039000000200640008a0000001f0460018f000000000500003100000006055003670000000506600270000000000760004c000001560000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b0000014e0000413d000000000740004c000001650000613d0000000506600210000000000565034f00000000066300190000000304400210000000000706043300000000074701cf000000000747022f000000000505043b0000010004400089000000000545022f00000000044501cf000000000474019f000000000046043500000000002104350000000104000031000000000442004b000001ac0000213d00000007050003670000001f0420018f0000000502200270000000000620004c000001770000613d000000000600001900000005076002100000000008730019000000000775034f000000000707043b00000000007804350000000106600039000000000726004b0000016f0000413d000000000640004c000001860000613d0000000502200210000000000525034f00000000022300190000000303400210000000000402043300000000043401cf000000000434022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000343019f00000000003204350000000500000005000000000001042d0000001f0420018f0000000503200270000000000530004c000001940000613d00000000050000190000000506500210000000000761034f000000000707043b00000000007604350000000105500039000000000635004b0000018d0000413d000000000540004c000001a20000613d00000003044002100000000503300210000000000503043300000000054501cf000000000545022f000000000131034f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000130435000000000100001901cc00c90000040f0000007b0100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001901cc00c90000040f0000000001000019000000000200001901cc00c90000040f000000860210009c000001b20000813d000000000001042d000000400100003900000000010104330000004402100039000000870300004100000000003204350000002402100039000000080300003900000000003204350000007d020000410000000000210435000000040210003900000020030000390000000000320435000000640200003901cc00c90000040f000001c4002104210000000102000039000000000001042d0000000002000019000000000001042d000000000f0d0019000001ca002104290000000102000039000000000001042d0000000002000019000000000001042d000001cc00000432000001cd0001042e000001ce00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff579952fc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff4e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000054686973206d6574686f6420726571756972652073797374656d2063616c6c20666c61670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000001000000004f766572666c6f770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000008003": "0x0005000000000002000500000000000200000000030100190000006003300270000000dc0430019700040000004103550003000000010355000000dc0030019d000200000002001f000100000000001f00000080010000390000004005000039000000000015043500000001012001900000007d0000c13d0000000001000031000000040110008c000002800000413d0000000301000367000000000101043b000000e001100270000000de0210009c000001630000613d000000df0210009c000000880000613d000000e00210009c000001860000613d000000e10210009c000000c30000613d000000e20210009c000001ba0000613d000000e30210009c000001dc0000613d000000e40210009c000000ed0000613d000000e50210009c000001080000613d000000e60210009c000001290000613d000000e70110009c000002800000c13d0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000400310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d000000010100003900000003020003670000002403200370000000000303043b000200000003001d0000000402200370000000000202043b000100000002001d0000000202000039000000020220018800000000020004110000004a0000c13d000000ea0120009c00000000010000190000000101004039000400000002001d036c03260000040f00000005010000290000000004010433000000f30100004100000000001404350000000401000029000000e90210019700000004034000390000000001000414000000000023043500000024030000390000000002040019000300000004001d036c02ba0000040f0000000104000031000000000110004c000002120000c13d00000004030003670000001f0240018f000000050100002900000000010104330000000504400270000000000540004c0000006c0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000000640000413d000000000520004c0000007b0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f00000000002404350000000102000031036c02f80000040f0000000001000416000000000110004c000002800000c13d000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000000dd03000041036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d00000004010000390000000301100367000000000201043b000000e90120009c000002800000213d000400000002001d000500000005001d000000010100003900000002020000390000000202200188000000a80000c13d0000000001000411000000ea0110009c00000000010000190000000101004039036c03260000040f0000000001000411000080060110008c000002580000c13d000000040100002900000000001004350000002001000039000200000001001d00000000000104350000000001000019036c02db0000040f036c036a0000040f000300000001001d0000000401000029036c03110000040f00000000020100190000000301000029000000f201100041036c03680000040f0000000301000029000000800210027000000005010000290000000001010433000000000021043500000002020000290000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d0000000001000411000000000010043500000001010000390000002002000039000400000002001d00000000001204350000000001000019000500000005001d036c02db0000040f00000004020000390000000302200367000000000202043b0000000000200435000000040200002900000000001204350000000001000019036c02db0000040f036c036a0000040f000000050200002900000000020204330000000000120435000000000102001900000004020000290000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d036c03010000040f036c031d0000040f000000050200002900000000030204330000000000130435000000200200003900000000010300190000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000400310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d036c03010000040f00000024020000390000000302200367000000000202043b036c033b0000040f00000005020000290000000003020433000000000110004c0000000001000019000000010100c0390000000000130435000000200200003900000000010300190000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d000000010100003900000002020000390000000202200188000001430000c13d0000000001000411000000ea0110009c00000000010000190000000101004039036c03260000040f0000000001000411000300000001001d00000000001004350000002001000039000400000001001d00000000000104350000000001000019036c02db0000040f036c036a0000040f00000004020000390000000302200367000000000202043b0000000003010019000000eb01300197000000000121004b0000022e0000c13d00000003010000290000000000100435000000040100002900000000000104350000000001000019000500000003001d036c02db0000040f000000000201001900000005010000290000000101100039036c03680000040f000000000100001900000000020000190000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d036c03010000040f000000e90110019700000000001004350000002001000039000400000001001d00000000000104350000000001000019036c02db0000040f036c036a0000040f0000000502000029000000000202043300000080011002700000000000120435000000000102001900000004020000290000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d000000010100003900000004020000390000000302200367000000000202043b000400000002001d00000002020000390000000202200188000001a40000c13d0000000001000411000000ea0110009c00000000010000190000000101004039036c03260000040f0000000402000029000000ef0120009c0000023d0000413d000000050100002900000000010104330000006402100039000000f00300004100000000003204350000004402100039000000f1030000410000000000320435000000240210003900000030030000390000000000320435000000ed0200004100000000002104350000000402100039000000200300003900000000003204350000008402000039036c02f80000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000200310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d000500000005001d036c03010000040f000000e90110019700000000001004350000002001000039000400000001001d00000000000104350000000001000019036c02db0000040f036c036a0000040f000000050200002900000000020204330000000000120435000000000102001900000004020000290000000003000019036c02ee0000040f0000000001000416000000000110004c000002800000c13d000000040100008a0000000001100031000000e802000041000000600310008c00000000030000190000000003024019000000e801100197000000000410004c000000000200a019000000e80110009c00000000010300190000000001026019000000000110004c000002800000c13d00000003020003670000000401200370000000000101043b000000e90310009c000002800000213d0000004403200370000000000403043b000000000340004c0000000003000019000000010300c039000000000334004b000002800000c13d000400000004001d000500000005001d0000002402200370000000000202043b036c033b0000040f000000000110004c000002630000c13d0000000401000029000000000110004c0000000501000029000002710000613d00000000010104330000004402100039000000ee03000041000000000032043500000024021000390000001d030000390000000000320435000000ed0200004100000000002104350000000402100039000000200300003900000000003204350000006402000039036c02f80000040f000000400140008c000000400100003900000000010440190000001f01100039000000e00210018f00000003050000290000000001520019000000000221004b00000000020000190000000102004039000000f40310009c000002260000213d0000000102200190000002260000c13d00000005020000290000000000120435000000400240008c000002800000413d000000f50210009c000002750000a13d000000f801000041000000000010043500000041010000390000000402000039000000000012043500000024020000390000000001000019036c02f80000040f000000050100002900000000010104330000004402100039000000ec03000041000000000032043500000024021000390000000f030000390000000000320435000000ed0200004100000000002104350000000402100039000000040300002900000000003204350000006402000039036c02f80000040f0000000001000411000100000001001d00000000001004350000002001000039000200000001001d00000000000104350000000001000019036c02db0000040f036c036a0000040f000300000001001d0000000101000029036c03110000040f000000040200002900000003030000290000000002230019000000000301001900000000010200190000000002030019036c03680000040f0000000301000029000000eb0210019700000005010000290000000001010433000000000021043500000002020000290000000003000019036c02ee0000040f00000005010000290000000001010433000000ed020000410000000000210435000000040210003900000020030000390000000000320435000000240210003900000000000204350000004402000039036c02f80000040f0000000401000029000000000110004c0000000501000029000002710000c13d0000000002010433000500000002001d000000ed0100004100000000001204350000000401200039036c03590000040f000000050300002900000000023100490000000001030019036c02f80000040f000000000100001900000000020000190000000003000019036c02ee0000040f0000004002100039000000050400002900000000002404350000000002050433000000010320008c000002800000213d000000000021043500000020025000390000000002020433000000010320008c000002830000a13d00000000010000190000000002000019036c02f80000040f000000200110003900000000002104350000000201000029000000000110004c000002960000c13d00000000010404330000004402100039000000f703000041000000000032043500000024021000390000001f030000390000000000320435000000ed0200004100000000002104350000000402100039000000200300003900000000003204350000006402000039036c02f80000040f000000000120004c000002af0000c13d0000000101000029000000000110004c000002af0000613d0000000101000029000000010210008a0000000401000029036c033b0000040f000000000110004c000002af0000c13d000000050100002900000000010104330000004402100039000000f6030000410000000000320435000000ed020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000006402000039036c02f80000040f0000000401000029036c030a0000040f0000000102000029036c03170000040f00000000020100190000000201000029036c03680000040f000000000100001900000000020000190000000003000019036c02ee0000040f0001000000000002000100000004001d000000dc04000041000000dc0520009c00000000020480190000004002200210000000dc0530009c00000000030480190000006003300210000000000223019f000000dc0310009c0000000001048019000000c001100210000000000112019f0000800602000039036c03630000040f0000000106000029000000010220018f000000000300001900000005043002100000000005460019000000000441034f000000000404043b00000000004504350000000103300039000000020430008c000002cd0000413d00040000000103550000006001100270000100dc0010019d00000000010200190000000100000005000000000001042d000000dc020000410000000003000414000000dc0430009c0000000003028019000000dc0410009c00000000010280190000004001100210000000c002300210000000000112019f000000f9011001c70000801002000039036c03630000040f0000000102200190000002eb0000613d000000000101043b000000000001042d00000000010000190000000002000019036c02f80000040f000000dc04000041000000dc0510009c000000000104801900000040011002100000000001310019000000dc0320009c0000000002048019000000600220021000000000012100190000036d0001042e000000dc03000041000000dc0420009c0000000002038019000000dc0410009c000000000103801900000040011002100000006002200210000000000112019f0000036e0001043000000004010000390000000301100367000000000101043b000000fa0210009c000003070000813d000000000001042d00000000010000190000000002000019036c02f80000040f00000000001004350000000101000039000000200200003900000000001204350000000001000019036c02db0000040f000000000001042d0000000000100435000000200100003900000000000104350000000001000019036c02db0000040f000000000001042d0000000000200435000000200200003900000000001204350000000001000019036c02db0000040f000000000001042d000000e9011001970000000000100435000000200100003900000000000104350000000001000019036c02db0000040f036c036a0000040f000000eb01100197000000000001042d000000000110004c000003290000613d000000000001042d000000400100003900000000010104330000006402100039000000fb0300004100000000003204350000004402100039000000fc030000410000000000320435000000240210003900000024030000390000000000320435000000ed0200004100000000002104350000000402100039000000200300003900000000003204350000008402000039036c02f80000040f0002000000000002000200000002001d000100000001001d036c031d0000040f00000001020000390000000203000029000000000131004b000003560000213d0000000101000029000000e901100197000000000010043500000001010000390000002002000039000100000002001d00000000001204350000000001000019036c02db0000040f00000002020000290000000000200435000000010200002900000000001204350000000001000019036c02db0000040f036c036a0000040f000000000110004c0000000002000019000000010200c039000000010120018f0000000200000005000000000001042d0000004002100039000000fd03000041000000000032043500000020021000390000001c030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d00000366002104230000000102000039000000000001042d0000000002000019000000000001042d000000000012041b000000000001042d000000000101041a000000000001042d0000036c000004320000036d0001042e0000036e00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fb1a9a5700000000000000000000000000000000000000000000000000000000306395c60000000000000000000000000000000000000000000000000000000038a780920000000000000000000000000000000000000000000000000000000055d35d18000000000000000000000000000000000000000000000000000000005aa9b6b5000000000000000000000000000000000000000000000000000000006ee1dc2000000000000000000000000000000000000000000000000000000000896909dc00000000000000000000000000000000000000000000000000000000cab7e8eb00000000000000000000000000000000000000000000000000000000e1239cd800000000000000000000000000000000000000000000000000000000155fd27a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000ffffffffffffffffffffffffffffffff496e636f7272656374206e6f6e6365000000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000546865206e6f6e636520776173206e6f7420736574206173207573656400000000000000000000000000000000000000000000000000000000000001000000016f6e636520697320746f6f2068696768000000000000000000000000000000005468652076616c756520666f7220696e6372656d656e74696e6720746865206e00000000000000000000000000000001000000000000000000000000000000007b510fe800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffbf50726576696f7573206e6f6e636520686173206e6f74206265656e20757365644e6f6e63652076616c75652063616e206e6f742062652073657420746f2030004e487b710000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000400000000000000000000000000000000000000000000000010000000000000000000000000000000000000000666c61670000000000000000000000000000000000000000000000000000000054686973206d6574686f6420726571756972652073797374656d2063616c6c2052657573696e67207468652073616d65206e6f6e6365207477696365000000000000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000002": "0x00020000000000020002000000000002000100000001035500000060011002700000002b0010019d000000800300003900000040010000390000000000310435000000000300041600000001022001900000005e0000c13d000000000230004c000000680000c13d00000000020004120000002d022001970000000003000410000000000232004b000000680000c13d000000400200008a0000000004000031000000000224016f000000400320003900000080022000390000003f0540018f000000370550008c000000000a030019000000000a02201900000006053002700000000006000019000000010600203900000001030003670000001f0240018f00000000010104330000000504400270000000000740004c0000002d0000613d000000000700001900000005087002100000000009810019000000000883034f000000000808043b00000000008904350000000107700039000000000847004b000000250000413d0000000005650019000200000005001d000000000520004c0000003e0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000000021000310000002e0300004100000000003204350000000002a10019000000080220008a000000c30300003900000000033001ff0000000000320435000000800110008c0000000001000019000000010100603900010000000a001d00a600800000040f000000020100002900000007211000c900a600940000040f0000000202000029000000c00220021000000001030000290000001b033002100000002f03300197000000000223019f00000030022001c700000000030100190000000001020019000000000203001900a6008b0000040f00a6007a0000040f00000020020000390000000001000019000000000300001900a6006b0000040f000000000130004c000000680000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000002c0300004100a6006b0000040f0000000001000019000000000200001900a600730000040f0000002b040000410000002b0510009c000000000104801900000040011002100000006002200210000000000121019f0000000001310019000000a70001042e0000002b030000410000002b0410009c000000000103801900000040011002100000006002200210000000000121019f000000a800010430000000000110004c0000007d0000613d000000000001042d0000000001000019000000000200001900a600730000040f000000000110004c000000830000613d000000000001042d000000310100004100000000001004350000000101000039000000040200003900000000001204350000002402000039000000000100001900a600730000040f0000002b022001970000000003000414000000000323004b000000910000413d0000000001210420000000000001042d0000000001000019000000000200001900a600730000040f000000320210009c000000970000813d000000000001042d0000004001000039000000000101043300000044021000390000003303000041000000000032043500000024021000390000000803000039000000000032043500000034020000410000000000210435000000040210003900000020030000390000000000320435000000640200003900a600730000040f000000a600000432000000a70001042e000000a80001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000010000000000000000000000044e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004f766572666c6f7700000000000000000000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000000000800c": "0x00020000000000020016000000000002000100000001035500000060011002700000026a0010019d000000800c00003900000040060000390000000000c604350000000101200190000000830000c13d0000000001000031000000040110008c000006380000413d0000000101000367000000000101043b0000026c011001970000026d0110009c000006380000c13d0000000001000416000000000110004c000006380000c13d000000040100008a00000000011000310000026e02000041000000200310008c000000000300001900000000030240190000026e04100197000000000540004c000000000200a0190000026e0440009c000000000203c019000000000220004c000006380000c13d000000010d0003670000000402d00370000000000502043b0000026f0250009c000006380000213d00000000015100490000026e02000041000002600310008c000000000300001900000000030240190000026e01100197000000000410004c000000000200a0190000026e0110009c00000000010300190000000001026019000000000110004c000006380000c13d000000040350003900000000013d034f000000000101043b000000000210004c000001040b500039000000a40a500039000000640950003900000044085000390000012407500039000001c402500039000000c404500039000b00000004001d0000014404500039000d00000004001d001400000006001d001600000003001d001500000002001d000e00000005001d001200000007001d001100000008001d001000000009001d000f0000000a001d000c0000000b001d0000008e0000c13d0000000001bd034f000000000101043b00130000000d035309a108b10000040f0000000f03000029000000130200035f000000000232034f000000000202043b000a00000001001d000000000102001909a108b10000040f0000001003000029000000130200035f000000000232034f000000000202043b000900000001001d000000000102001909a108b10000040f0000000002010019000000090100002909a1078d0000040f0000001102000029000000130300035f000000000223034f000000000202043b0000027302200197000900000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b000700000001001d000000000102001909a108b10000040f000800000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c0000016a0000c13d0000001601000029000000150200002909a107120000040f000000000220004c000001c80000c13d000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f0000000001000416000000000110004c000006380000c13d0000002002000039000001000100003900000000002104390000012002000039000000000002043900000040020000390000026b0300004109a106f50000040f000000710410008c0000016e0000c13d000000000103001900130000000c001d09a107120000040f000000000300003109a1073f0000040f0000000002010433000000200110003909a106cf0000040f0000000e02000029000000140a000029000002040320003900000000040000310000000002240049000000230520008a0000000102000367000000000332034f000000000303043b0000026e06000041000000000753004b000000000700001900000000070680190000026e055001970000026e08300197000000000958004b0000000006008019000000000558013f0000026e0550009c00000000050700190000000005066019000000000b010019000000000150004c000006380000c13d00000016010000290000000001130019000000000312034f000000000503043b0000026f0350009c000006380000213d0000000503500210000000000434004900000020061000390000026e01000041000000000746004b000000000700001900000000070120190000026e044001970000026e08600197000000000948004b0000000001008019000000000448013f0000026e0440009c000000000107c019000000000110004c000006380000c13d00000000040a043300000020014000390000027605500197000000000750004c000000d50000613d000000000262034f000000000600001900000005076002100000000008710019000000000772034f000000000707043b00000000007804350000000106600039000000000756004b000000cd0000413d000000000200004c000000d70000613d00000000003404350000003f02300039000000200300008a000000000232016f0000000002240019000000000342004b000000000300001900000001030040390000026f0520009c000003b10000213d0000000103300190000003b10000c13d000000140300002900000000002304350000000002040433000a0000000b001d09a106cf0000040f000900000001001d0000000e010000290000022402100039000000160100002909a107120000040f000000000300003109a1073f0000040f0000000002010433000000200110003909a106cf0000040f0000000e04000029000000e4024000390000002403400039000000840440003900000001050003670000001006000029000000000665034f0000001107000029000000000775034f000000000835034f0000001203000029000000000935034f0000000c03000029000000000a35034f000000000225034f0000000b03000029000000000b35034f0000000f03000029000000000c35034f000000000d45034f0000001603000029000000000335034f000000000303043b000000000408043b000000000507043b000000000606043b00000000070d043b00000000080c043b000000000b0b043b000000000c02043b000000000a0a043b000000000909043b00000014020000290000000002020433000001c00d20003900000000001d0435000001a001200039000000090d0000290000000000d1043500000180012000390000000a0d0000290000000000d104350000016001200039000000000091043500000140012000390000000000a1043500000120012000390000000000c1043500000100012000390000000000b10435000000e0012000390000000000810435000000c0012000390000000000710435000000a0012000390000000000610435000000800120003900000000005104350000006001200039000000000041043500000040012000390000000000310435000001c0010000390000000000120435000002770300004100000020012000390000000000310435000002780320009c000003b10000213d000001e00320003900000014040000290000000000340435000000000202043309a106cf0000040f00000014020000290000000002020433000a00000002001d00000272020000410000000000200439000900000001001d09a106e60000040f00000279020000410000000a04000029000000600340003900000000002304350000027a0200004100000040034000390000000000230435000000800240003900000000001204350000027b02000041000000200140003900000000002104350000001302000029000000000024043500000000030400190000027c0240009c000003b10000213d000000a00230003900000014040000290000000000240435000000000203043309a106cf0000040f000000140200002900000000040204330000004202400039000000090300002900000000003204350000027d020000410000002003400039000400000003001d000000000023043500000022024000390000000000120435000000420100003900000000001404350000027e0140009c000003b10000213d0000008001400039000003910000013d09a108e60000040f00000001050003670000000002010019000001de0000013d000000020410008c000002720000c13d0000027201000041000000000010043909a106e60000040f09a108b10000040f000000010200036700130000000203530000000c03000029000000000232034f000000000202043b000a00000001001d000000000102001909a108b10000040f0000000b02000029000000130300035f000000000223034f000000000202043b000900000001001d000000000102001909a108b10000040f0000000f03000029000000130200035f000000000232034f000000000202043b000800000001001d000000000102001909a108b10000040f0000001002000029000000130300035f000000000223034f000000000202043b000700000001001d000000000102001909a108b10000040f0000001102000029000000130300035f000000000223034f000000000202043b0000027302200197001300000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b000600000001001d000000000102001909a108b10000040f00000000070100190000000a010000290000000902000029000000080300002900000007040000290000001305000029000000060600002909a108110000040f000a00000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c000002c40000c13d0000001601000029000000150200002909a107120000040f000000000220004c0000007b0000613d0000000101100367000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039001300000002001d000000000110004c000002c60000c13d09a107b40000040f001300000001001d000002c60000013d0000000105000367000000000115034f000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039000000000110004c000001de0000c13d001300000005035309a107b40000040f000000130500035f00000000020100190000000d01000029000000000115034f0000006004000039000000000101043b000000000110004c000500000002001d000002020000613d0000027201000041000000000010043909a106e60000040f09a108b10000040f00000014020000290000000002020433001300000002001d000000200220003909a107800000040f00000013040000290000027f02000041000000000021043500000000014100490000001e0210008a00000000002404350000002101100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000003b10000213d0000000102200190000003b10000c13d000000140200002900000000001204350000000502000029001300000004001d0000000001020433000600000001001d00000008010000290000000001010433000400000001001d00000007010000290000000001010433000300000001001d00000009010000290000000001010433000200000001001d0000000a010000290000000001010433000100000001001d0000001601000029000000150200002909a107120000040f00000002010000290000000103000029000000000131001900000003030000290000000001310019000000040300002900000000013100190000000603000029000000000131001900000000012100190000001302000029000000000202043300000000012100190000026f0110019709a1094a0000040f000400000001001d0000001601000029000000150200002909a107120000040f00000014030000290000000003030433000300000001001d000200000002001d000600000003001d00000020023000390000000401000029000400000002001d09a107800000040f00000000020100190000000a0100002909a107800000040f0000000002010019000000090100002909a107800000040f0000000002010019000000070100002909a107800000040f0000000002010019000000080100002909a107800000040f0000000002010019000000050100002909a107800000040f00000002080000290000001f0280018f000000030300002900000001033003670000000504800270000000000540004c0000024f0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000002470000413d000000000520004c0000025e0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000000028100190000000000020435000000130100002909a107800000040f00000006040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000003b10000213d0000000102200190000003910000613d000003b10000013d000000010110008c000003240000c13d0000027201000041000000000010043909a106e60000040f09a108b10000040f000000010200036700130000000203530000000c03000029000000000232034f000000000202043b000a00000001001d000000000102001909a108b10000040f0000000f03000029000000130200035f000000000232034f000000000202043b000900000001001d000000000102001909a108b10000040f0000001002000029000000130300035f000000000223034f000000000202043b000800000001001d000000000102001909a108b10000040f0000001102000029000000130300035f000000000223034f000000000202043b0000027302200197001300000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b000700000001001d000000000102001909a108b10000040f00000000060100190000000a01000029000000090200002900000008030000290000001304000029000000070500002909a107da0000040f000a00000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c000003320000c13d0000001601000029000000150200002909a107120000040f000000000220004c0000007b0000613d0000000101100367000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039001300000002001d000000000110004c000003340000c13d09a107b40000040f001300000001001d000003340000013d09a108e60000040f001300000001001d09a109380000040f000900000001001d0000000a010000290000000001010433000800000001001d0000001301000029001300000001001d0000000001010433000700000001001d0000001601000029000000150200002909a107120000040f00000008010000290000000703000029000000000113001900000000012100190000000902000029000000000202043300000000012100190000026f0110019709a1094a0000040f000500000001001d0000001601000029000000150200002909a107120000040f0000001403000029000000000403043300000275030000410000002005400039000400000005001d0000000000350435000800000001001d000700000002001d000600000004001d0000002102400039000000050100002909a107800000040f00000000020100190000000a0100002909a107800000040f0000000002010019000000130100002909a107800000040f00000007080000290000001f0280018f000000080300002900000001033003670000000504800270000000000540004c000003010000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000002f90000413d000000000520004c000003100000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000000028100190000000000020435000000090100002909a107800000040f00000006040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000003b10000213d0000000102200190000003910000613d000003b10000013d000000000106043300000044021000390000027003000041000000000032043500000024021000390000001703000039000000000032043500000271020000410000000000210435000000040210003900000020030000390000000000320435000000640200003909a106ff0000040f09a108e60000040f001300000001001d09a109260000040f000900000001001d0000000a010000290000000001010433000800000001001d0000001301000029001300000001001d0000000001010433000700000001001d0000001601000029000000150200002909a107120000040f00000008010000290000000703000029000000000113001900000000012100190000000902000029000000000202043300000000012100190000026f0110019709a1094a0000040f000500000001001d0000001601000029000000150200002909a107120000040f0000001403000029000000000403043300000274030000410000002005400039000400000005001d0000000000350435000800000001001d000700000002001d000600000004001d0000002102400039000000050100002909a107800000040f00000000020100190000000a0100002909a107800000040f0000000002010019000000130100002909a107800000040f00000007080000290000001f0280018f000000080300002900000001033003670000000504800270000000000540004c0000036f0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000003670000413d000000000520004c0000037e0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000000028100190000000000020435000000090100002909a107800000040f00000006040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000003b10000213d0000000102200190000003b10000c13d000000140200002900000000001204350000000002040433000000040100002909a106cf0000040f00000001050003670000001603000029000000000235034f0000000004010019000000000102043b000000710210008c001300000004001d000003b90000c13d0000000e01000029000001e402100039000000000103001909a107120000040f000000000300003109a1073f0000040f0000000002010433000000200110003909a106cf0000040f00000013030000290000001405000029000000000405043300000040024000390000000000120435000000000054043500000020014000390000000000310435000002820240009c000004000000a13d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000000000210004c0000040e0000c13d0000000c01000029000000000115034f000000000101043b000c00000005035309a108b10000040f0000000f020000290000000c0300035f000000000223034f000000000202043b000f00000001001d000000000102001909a108b10000040f00000010020000290000000c0300035f000000000223034f000000000202043b001000000001001d000000000102001909a108b10000040f0000000002010019000000100100002909a1078d0000040f00000011020000290000000c0300035f000000000223034f000000000202043b0000027302200197001100000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b000c00000001001d000000000102001909a108b10000040f001000000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c000004680000c13d0000001601000029000000150200002909a107120000040f000000000220004c0000007b0000613d0000000101100367000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039000b00000002001d000000000110004c0000046a0000c13d09a107b40000040f000b00000001001d0000046a0000013d000000600540003900000014020000290000000000520435000000000204043309a106cf0000040f0000001402000029000000000402043300000020034000390000001305000029000000000053043500000000001404350000000001040019000000000300001909a106f50000040f000000020210008c000005270000c13d0000027201000041000000000010043909a106e60000040f09a108b10000040f0000000103000367000d0000000303530000000c02000029000000000223034f000000000202043b000c00000001001d000000000102001909a108b10000040f0000000b020000290000000d0300035f000000000223034f000000000202043b000b00000001001d000000000102001909a108b10000040f0000000f020000290000000d0300035f000000000223034f000000000202043b000f00000001001d000000000102001909a108b10000040f00000010020000290000000d0300035f000000000223034f000000000202043b001000000001001d000000000102001909a108b10000040f00000011020000290000000d0300035f000000000223034f000000000202043b0000027302200197001100000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b001200000001001d000000000102001909a108b10000040f00000000070100190000000c010000290000000b020000290000000f0300002900000010040000290000001105000029000000120600002909a108110000040f001100000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c000005790000c13d0000001601000029000000150200002909a107120000040f000000000220004c0000007b0000613d0000000101100367000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039001000000002001d000000000110004c0000057b0000c13d09a107b40000040f001000000001001d0000057b0000013d09a108e60000040f000b00000001001d0000000e01000029000001e4021000390000001601000029001200000002001d09a107120000040f000000200220008c000006380000413d0000000101100367000000000101043b09a108b10000040f000e00000001001d0000001601000029000000120200002909a107120000040f000000400220008c000006380000413d00000020011000390000000101100367000000000101043b09a108b10000040f000a00000001001d0000001601000029000000120200002909a107120000040f000000410220008c0000007b0000413d00000040011000390000000101100367000000000101043b000000f801100270001200000001001d0000001b0110008a000000020110008c0000000001000019000000010100403909a107c80000040f0000000d010000290000000101100367000000000101043b000000000110004c0000001201000029000004a50000613d0000027201000041000000000010043909a106e60000040f0000000102100210000000000310004c000004a00000613d000000090300008a000000000332004b000006530000213d00000000311200d9000000020110008c000006530000c13d000000120300002900000000012300190000000801100039000000000231004b000006530000413d09a108b10000040f001200000001001d0000000b01000029000b00000001001d0000000001010433000d00000001001d00000010010000290000000001010433000900000001001d0000000c010000290000000001010433000800000001001d0000000f010000290000000001010433000700000001001d00000011010000290000000001010433000600000001001d0000001601000029000000150200002909a107120000040f00000007010000290000000603000029000000000113001900000008030000290000000001310019000000090300002900000000013100190000000d03000029000000000131001900000000012100190000000e02000029000000000202043300000000012100190000000a02000029000000000202043300000000012100190000001202000029000000000202043300000000012100190000026f0110019709a1094a0000040f000800000001001d0000001601000029000000150200002909a107120000040f00000014030000290000000003030433000d00000001001d000900000002001d001600000003001d00000020023000390000000801000029001500000002001d09a107800000040f00000000020100190000000f0100002909a107800000040f0000000002010019000000110100002909a107800000040f00000000020100190000000c0100002909a107800000040f0000000002010019000000100100002909a107800000040f00000000020100190000000b0100002909a107800000040f00000009040000290000001f0240018f0000000d03000029000000010330036700000000080400190000000504400270000000000540004c000004fc0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000004f40000413d000000000520004c0000050b0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000000028100190000000000020435000000120100002909a107800000040f00000000020100190000000e0100002909a107800000040f00000000020100190000000a0100002909a107800000040f00000016040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000005420019000000000225004b000000000200001900000001020040390000026f0350009c00000013030000290000001501000029000003b10000213d0000000102200190000004010000613d000003b10000013d000000010110008c000006190000c13d0000027201000041000000000010043909a106e60000040f09a108b10000040f0000000103000367000d0000000303530000000c02000029000000000223034f000000000202043b000c00000001001d000000000102001909a108b10000040f0000000f020000290000000d0300035f000000000223034f000000000202043b000f00000001001d000000000102001909a108b10000040f00000010020000290000000d0300035f000000000223034f000000000202043b001000000001001d000000000102001909a108b10000040f00000011020000290000000d0300035f000000000223034f000000000202043b0000027302200197001100000001001d000000000102001909a108990000040f00000012020000290000000102200367000000000202043b001200000001001d000000000102001909a108b10000040f00000000060100190000000c010000290000000f0200002900000010030000290000001104000029000000120500002909a107da0000040f001100000001001d0000001601000029000000150200002909a107120000040f0000026f01200197000000010210008c000006240000c13d0000001601000029000000150200002909a107120000040f000000000220004c0000007b0000613d0000000101100367000000000101043b000000010200008a0000026e03000041000000000221004b000000000200001900000000020320190000026e011001970000026e0410009c00000000030080190000026e011001670000026e0110009c000000000102001900000000010360190000006002000039001000000002001d000000000110004c000006260000c13d09a107b40000040f001000000001001d000006260000013d09a108e60000040f001000000001001d09a109380000040f000f00000001001d0000000e01000029000001e4021000390000001601000029001200000002001d09a107120000040f000000200220008c000006380000413d0000000101100367000000000101043b09a108b10000040f000e00000001001d0000001601000029000000120200002909a107120000040f000000400220008c000006380000413d00000020011000390000000101100367000000000101043b09a108b10000040f000d00000001001d0000001601000029000000120200002909a107120000040f000000410220008c0000007b0000413d00000040011000390000000101100367000000000101043b001200000001001d000000f8011002700000001b0110008a000c00000001001d000000020110008c0000000001000019000000010100403909a107c80000040f0000001201000029000002800110009c000006530000413d0000000c0100002909a108b10000040f001200000001001d00000011010000290000000001010433000c00000001001d0000001001000029001000000001001d0000000001010433000b00000001001d0000001601000029000000150200002909a107120000040f0000000c010000290000000b03000029000000000113001900000000012100190000000f02000029000000000202043300000000012100190000000e02000029000000000202043300000000012100190000000d02000029000000000202043300000000012100190000001202000029000000000202043300000000012100190000026f0110019709a1094a0000040f000a00000001001d0000001601000029000000150200002909a107120000040f0000001403000029000000000403043300000275030000410000002005400039001500000005001d0000000000350435000c00000001001d000b00000002001d001600000004001d00000021024000390000000a0100002909a107800000040f0000000002010019000000110100002909a107800000040f0000000002010019000000100100002909a107800000040f0000000b040000290000001f0240018f0000000c03000029000000010330036700000000080400190000000504400270000000000540004c000005eb0000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000005e30000413d000000000520004c000005fa0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f0000000000240435000000000281001900000000000204350000000f0100002909a107800000040f0000000002010019000000120100002909a107800000040f00000000020100190000000e0100002909a107800000040f00000000020100190000000d0100002909a107800000040f00000016040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000005420019000000000225004b000000000200001900000001020040390000026f0350009c00000013030000290000001501000029000003b10000213d0000000102200190000004010000613d000003b10000013d00000014010000290000000002010433001600000002001d00000271010000410000000000120435000000040120003909a107080000040f00000016030000290000000002310049000000000103001909a106ff0000040f09a108e60000040f001000000001001d09a109260000040f000f00000001001d0000000e01000029000001e4021000390000001601000029001200000002001d09a107120000040f000000200220008c000006380000413d0000000101100367000000000101043b09a108b10000040f000e00000001001d0000001601000029000000120200002909a107120000040f000000400220008c0000063b0000813d0000000001000019000000000200001909a106ff0000040f00000020011000390000000101100367000000000101043b09a108b10000040f000d00000001001d0000001601000029000000120200002909a107120000040f000000410220008c0000007b0000413d00000040011000390000000101100367000000000101043b001200000001001d000000f8011002700000001b0110008a000c00000001001d000000020110008c0000000001000019000000010100403909a107c80000040f0000001201000029000002800110009c0000065b0000813d000002810100004100000000001004350000001101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f0000000c0100002909a108b10000040f001200000001001d00000011010000290000000001010433000c00000001001d0000001001000029001000000001001d0000000001010433000b00000001001d0000001601000029000000150200002909a107120000040f0000000c010000290000000b03000029000000000113001900000000012100190000000f02000029000000000202043300000000012100190000000e02000029000000000202043300000000012100190000000d02000029000000000202043300000000012100190000001202000029000000000202043300000000012100190000026f0110019709a1094a0000040f000a00000001001d0000001601000029000000150200002909a107120000040f0000001403000029000000000403043300000274030000410000002005400039001500000005001d0000000000350435000c00000001001d000b00000002001d001600000004001d00000021024000390000000a0100002909a107800000040f0000000002010019000000110100002909a107800000040f0000000002010019000000100100002909a107800000040f0000000b040000290000001f0240018f0000000c03000029000000010330036700000000080400190000000504400270000000000540004c000006a10000613d000000000500001900000005065002100000000007610019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000006990000413d000000000520004c000006b00000613d0000000504400210000000000343034f00000000044100190000000302200210000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f0000000000240435000000000281001900000000000204350000000f0100002909a107800000040f0000000002010019000000120100002909a107800000040f00000000020100190000000e0100002909a107800000040f00000000020100190000000d0100002909a107800000040f00000016040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000005420019000000000225004b000000000200001900000001020040390000026f0350009c00000013030000290000001501000029000003b10000213d0000000102200190000004010000613d000003b10000013d0000026a030000410000026a0410009c000000000103801900000040011002100000026a0420009c00000000020380190000006002200210000000000112019f00000000020004140000026a0420009c0000000002038019000000c002200210000000000112019f00000275011001c7000080100200003909a1099c0000040f0000000102200190000006e30000613d000000000101043b000000000001042d0000000001000019000000000200001909a106ff0000040f0000026a0100004100000000020004140000026a0320009c0000000001024019000000c00110021000000283011001c70000800b0200003909a1099c0000040f0000000102200190000006f20000613d000000000101043b000000000001042d0000000001000019000000000200001909a106ff0000040f0000026a040000410000026a0510009c0000000001048019000000400110021000000000013100190000026a0320009c000000000204801900000060022002100000000001210019000009a20001042e0000026a030000410000026a0420009c00000000020380190000026a0410009c000000000103801900000040011002100000006002200210000000000112019f000009a300010430000000400210003900000284030000410000000000320435000000200210003900000013030000390000000000320435000000200200003900000000002104350000006001100039000000000001042d000000000300003100000000041300490000001f0540008a0000000104000367000000000224034f000000000202043b0000026e06000041000000000752004b000000000700001900000000070640190000026e055001970000026e08200197000000000958004b000000000600a019000000000558013f0000026e0550009c00000000050700190000000005066019000000000550004c0000073c0000613d0000000001120019000000000214034f000000000202043b0000026f0420009c0000073c0000213d000000000323004900000020011000390000026e04000041000000000531004b000000000500001900000000050420190000026e033001970000026e06100197000000000736004b0000000004008019000000000336013f0000026e0330009c00000000030500190000000003046019000000000330004c0000073c0000c13d000000000001042d0000000001000019000000000200001909a106ff0000040f0000000004010019000002850120009c000007750000813d0000003f01200039000000200500008a000000000651016f000000400500003900000000010504330000000006610019000000000716004b000000000700001900000001070040390000026f0860009c000007750000213d0000000107700190000007750000c13d000000000065043500000000002104350000000005420019000000000335004b0000077d0000213d0000001f0520018f000000010440036700000020031000390000000506200270000000000760004c000007630000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000075b0000413d000000000750004c000007720000613d0000000506600210000000000464034f00000000066300190000000305500210000000000706043300000000075701cf000000000757022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000474019f000000000046043500000000022300190000000000020435000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f0000000001000019000000000200001909a106ff0000040f00000000030104330000000004000019000000000534004b0000078a0000813d00000000052400190000002004400039000000000614001900000000060604330000000000650435000007820000013d00000000012300190000000000010435000000000001042d0003000000000002000300000002001d0000004002000039000100000002001d0000000002020433000200000002001d000000200220003909a107800000040f0000000002010019000000030100002909a107800000040f00000002040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000007ac0000213d0000000102200190000007ac0000c13d0000000102000029000000000012043500000000010400190000000300000005000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f00000040020000390000000001020433000002860310009c000007c00000813d0000004003100039000000000032043500000020021000390000028703000041000000000032043500000001020000390000000000210435000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000000000110004c000007cb0000613d000000000001042d0000004001000039000000000101043300000044021000390000028803000041000000000032043500000024021000390000000f03000039000000000032043500000271020000410000000000210435000000040210003900000020030000390000000000320435000000640200003909a106ff0000040f0007000000000002000700000006001d000600000005001d000400000004001d000300000003001d000200000002001d0000004002000039000100000002001d0000000002020433000500000002001d000000200220003909a107800000040f0000000002010019000000020100002909a107800000040f0000000002010019000000030100002909a107800000040f0000000002010019000000040100002909a107800000040f0000000002010019000000060100002909a107800000040f0000000002010019000000070100002909a107800000040f00000005040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000008090000213d0000000102200190000008090000c13d0000000102000029000000000012043500000000010400190000000700000005000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f0008000000000002000800000007001d000700000006001d000500000005001d000400000004001d000300000003001d000200000002001d0000004002000039000100000002001d0000000002020433000600000002001d000000200220003909a107800000040f0000000002010019000000020100002909a107800000040f0000000002010019000000030100002909a107800000040f0000000002010019000000040100002909a107800000040f0000000002010019000000050100002909a107800000040f0000000002010019000000070100002909a107800000040f0000000002010019000000080100002909a107800000040f00000006040000290000000001410049000000200210008a00000000002404350000001f01100039000000200200008a000000000221016f0000000001420019000000000221004b000000000200001900000001020040390000026f0310009c000008440000213d0000000102200190000008440000c13d0000000102000029000000000012043500000000010400190000000800000005000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f00000040020000390000000001020433000002860310009c000008640000813d0000004003100039000000000032043500000001020000390000000000210435000000200210003900000000030000310000000103300367000000000400001900000005054002100000000006520019000000000553034f000000000505043b00000000005604350000000104400039000000000540004c000000000500001900000001050060390000000105500190000008580000c13d000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f0000000002010019000002850120009c000008910000813d0000003f01200039000000200300008a000000000431016f000000400300003900000000010304330000000004410019000000000514004b000000000500001900000001050040390000026f0640009c000008910000213d0000000105500190000008910000c13d000000000043043500000000002104350000001f022000390000000502200270000000000320004c0000088e0000613d000000200310003900000000040000310000000104400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000000625004b000008860000413d000000000200004c000008900000613d000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000000000201001900000040030000390000000001030433000002860410009c000008a90000813d0000004004100039000000000043043500000020031000390000028904000041000000000043043500000060022002100000002103100039000000000023043500000015020000390000000000210435000000000001042d000002810100004100000000001004350000004101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f00020000000000020000007f0210008c000200000001001d000008ce0000a13d09a109800000040f000100000001001d000000020110003909a1086c0000040f0000000002010433000000000220004c000008de0000613d000000200210003900000000030204330000028a033001970000000105000029000000f804500210000000000334019f000002870330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c0000000002030019000000000200201900000021031000390000000000230435000008dc0000013d09a1084c0000040f0000000002010433000000000220004c000008de0000613d0000000204000029000000f8024002100000026e03000041000000000440004c0000000002036019000000200310003900000000040304330000028a04400197000000000224019f00000000002304350000000200000005000000000001042d000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000200000000000200000000030100190000026f01300197000000010210008c000009160000613d000000370210008c000009070000a13d000200000001001d09a109800000040f000100000001001d000000020110003909a1086c0000040f0000000002010433000000000220004c0000091e0000613d000000200210003900000000030204330000028a033001970000000105000029000000f804500210000000000334019f0000028b0330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c0000000002030019000000000200201900000021031000390000000000230435000009140000013d000200000003001d09a1084c0000040f0000000002010433000000000220004c0000091e0000613d0000000202000029000000f802200210000000200310003900000000040304330000028a04400197000000000224019f0000026e0220016700000000002304350000000200000005000000000001042d000002810100004100000000001004350000000101000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f09a1084c0000040f0000000002010433000000000220004c000009300000613d000000200210003900000000030204330000028a033001970000028c033001c70000000000320435000000000001042d000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f09a1084c0000040f0000000002010433000000000220004c000009420000613d000000200210003900000000030204330000028a033001970000028c033001c70000000000320435000000000001042d000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f000200000000000200000000030100190000026f01300197000000370210008c000009690000a13d000200000001001d09a109800000040f000100000001001d000000020110003909a1086c0000040f0000000002010433000000000220004c000009780000613d000000200210003900000000030204330000028a033001970000000105000029000000f804500210000000000334019f0000028d0330004100000000003204350000000302500210000000f802200089000000020300002900000000032301cf000000ff0220008c0000000002030019000000000200201900000021031000390000000000230435000009760000013d000200000003001d09a1084c0000040f0000000002010433000000000220004c000009780000613d0000000202000029000000f802200210000000200310003900000000040304330000028a04400197000000000242019f0000028c0220004100000000002304350000000200000005000000000001042d000002810100004100000000001004350000003201000039000000040200003900000000001204350000002402000039000000000100001909a106ff0000040f00000080021002700000028e0310009c000000000201a0190000028e0110009c0000000001000019000000100100203900000008031001bf0000026f0420009c000000000103201900000040032002700000026f0420009c000000000203201900000004031001bf0000026a0420009c000000000103201900000020032002700000026a0420009c000000000203201900000002031001bf0000ffff0420008c000000000103201900000010032002700000000002032019000000ff0220008c000000000200001900000001020020390000000001210019000000000001042d0000099f002104230000000102000039000000000001042d0000000002000019000000000001042d000009a100000432000009a20001042e000009a300010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ebe4a3d7000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff456e636f64696e6720756e737570706f7274656420747800000000000000000008c379a0000000000000000000000000000000000000000000000000000000009a8a0592ac89c5ad3bc6df8224c17b485976f597df104ee20d0df415241f670b000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848e1bfa1ac4e3576b728bda6721b215c70a7799a5b4866282a71bab954baac8000000000000000000000000000000000000000000000000fffffffffffffe1fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a519b453ce45aaaaf3a300f5a9ec95869b4f28ab10430b572ee218c3a6a5e07d6fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e000000000000000000000000000000000000000000000000ffffffffffffff5f1901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f80800000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f0200000200000000000000000000000000000004000000000000000000000000556e737570706f727465642074782074797065000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc08100000000000000000000000000000000000000000000000000000000000000496e76616c696420762076616c75650000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff", - "0x000000000000000000000000000000000000800d": "0x000d000000000002000b0000000c001f000a0000000b001f00090000000a001f000800000009001f000700000008001f000600000007001f000500000006001f000400000005001f000300000004001f000200000003001f000c0000000103550000006001100270000000330010019d000100000002001f000000800300003900000040010000390000000000310435000000000300041600000001022001900000002e0000c13d000000000230004c000000380000c13d000000020200003900000001022001880000003b0000c13d0000000002000411000000350220009c0000003b0000413d000000000101043300000064021000390000003603000041000000000032043500000044021000390000003703000041000000000032043500000024021000390000002403000039000000000032043500000038020000410000000000210435000000040210003900000020030000390000000000320435000000840200003900c5004a0000040f000000000130004c000000380000c13d000000200200003900000100010000390000000000210439000001200200003900000000000204390000004002000039000000340300004100c500420000040f0000000001000019000000000200001900c5004a0000040f000000000100003100c500510000040f000000600100003900000000020104330000008001000039000000000300001900c500420000040f000000400110021000000000013100190000003303000041000000330420009c000000000203801900000060022002100000000001210019000000c60001042e0000003303000041000000330410009c000000000103801900000040011002100000006002200210000000000121019f000000c70001043000050000000000020000000203000031000000050230008c0000009b0000813d000300000001001d000000200210021000000000012300190000000101100039000000000221004b000000930000413d0000000002000411000000000021041f000000010110008c000000610000c13d0000000500000005000000000001042d000000020100008a000200000001001d0000000002000019000100000003001d000000000123004b000000930000413d0000000001230049000000010110008c0000007b0000a13d00000001012001bf000500000002001d00c500ad0000040f0000000502000029000400000001001d0000000201000029000000000112004b000000930000613d0000000202200039000500000002001d000000000102001900c500ad0000040f000000050200002900000001030000290000000404000029000000000014041e000000650000013d00000001013001900000000001000019000000840000613d000000000103001900c500ad0000040f0000000c02000367000000000202043b000000000021041e0000002001000039000000410200008a0000000303000029000000000331004b0000005f0000813d00000020031000390000000c04000367000000000334034f000000000414034f000000000404043b000000000303043b000000000034041e0000004003100039000000000121004b0000000001030019000000850000a13d000000390100004100000000001004350000001101000039000000040200003900000000001204350000002402000039000000000100001900c5004a0000040f0000004001000039000000000101043300000064021000390000003a03000041000000000032043500000044021000390000003b03000041000000000032043500000024021000390000002103000039000000000032043500000038020000410000000000210435000000040210003900000020030000390000000000320435000000840200003900c5004a0000040f0000000a0210008c000000b30000813d0000000501100210000000200110011a0000000201010031000000000001042d0000004001000039000000000101043300000064021000390000003c03000041000000000032043500000044021000390000003d03000041000000000032043500000024021000390000002603000039000000000032043500000038020000410000000000210435000000040210003900000020030000390000000000320435000000840200003900c5004a0000040f000000c500000432000000c60001042e000000c700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000666c61670000000000000000000000000000000000000000000000000000000054686973206d6574686f6420726571756972652073797374656d2063616c6c2008c379a0000000000000000000000000000000000000000000000000000000004e487b710000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000004f6e6c79203420696e6465786564206669656c64732061726520616c6c6f77656973746572730000000000000000000000000000000000000000000000000000546865726520617265206f6e6c792031302061636365737369626c65207265670000000000000000000000000000000000000000000000000000000000000000" - } -} +{"entry_point_address":"0xc54e30abb6a3eed1b9dc0494d90c9c22d76fba7e","entry_point_code":[[0,4,0,0,0,0,0,2,0,10,0,0,0,0,0,2,0,0,0,0,3,1,0,25,0,0,0,96,4,48,2,112],[0,0,3,119,3,64,1,151,0,3,0,0,0,49,3,85,0,2,0,0,0,1,3,85,0,0,3,119,0,64,1,157],[0,0,0,1,2,32,1,144,0,0,0,93,0,0,193,61,0,0,0,128,2,0,0,57,0,0,0,64,0,32,4,63],[0,0,0,4,2,48,0,140,0,0,0,144,0,0,65,61,0,0,0,0,1,1,4,59,0,0,0,224,1,16,2,112],[0,0,3,201,2,16,0,156,0,0,2,111,0,0,161,61,0,0,3,202,2,16,0,156,0,0,2,136,0,0,33,61],[0,0,3,209,2,16,0,156,0,0,2,186,0,0,161,61,0,0,3,210,2,16,0,156,0,0,2,245,0,0,97,61],[0,0,3,211,2,16,0,156,0,0,2,227,0,0,97,61,0,0,3,212,1,16,0,156,0,0,5,32,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,3,228,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,3,229,1,16,1,199,0,0,0,2,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,4,64,2,114,0,0,0,58,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,70,0,75,0,0,0,51,0,0,65,61,0,0,0,0,6,5,0,75,0,0,0,72,0,0,97,61],[0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207],[0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53],[0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,64,8,0,4,61,0,0,0,1,2,32,1,144],[0,0,3,184,0,0,97,61,0,0,0,0,1,0,4,51,0,0,3,230,1,16,1,103,0,0,0,64,2,128,0,57],[0,0,0,0,0,18,4,53,0,0,0,32,1,128,0,57,0,0,3,230,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,64,1,0,0,57,0,0,0,0,0,24,4,53,0,0,0,0,1,8,0,25,0,10,0,0,0,8,0,29],[13,214,7,244,0,0,4,15,0,0,0,10,1,0,0,41,13,214,10,230,0,0,4,15,0,0,0,0,1,0,0,25],[0,0,13,216,0,1,4,48,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,3,120,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,16,0,10,0,0,0,1,0,29],[0,0,0,4,0,16,4,67,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,3,121,1,16,1,199,0,0,128,2,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,3,122,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,10,1,0,0,41,0,0,0,4,0,16,4,67,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,3,121,1,16,1,199],[0,0,128,2,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,3,123,1,16,0,156,0,0,5,32,0,0,193,61,0,0,3,124,1,0,0,65],[0,0,0,160,0,16,4,63,0,0,0,4,1,0,0,57,0,0,0,128,0,16,4,63,0,0,0,192,1,0,0,57],[0,0,0,64,0,16,4,63,0,0,0,0,1,0,4,20,0,0,0,10,2,0,0,41,0,0,0,4,3,32,0,140],[0,0,3,13,0,0,193,61,0,0,0,1,2,0,0,57,0,0,0,1,3,0,0,49,0,0,3,24,0,0,1,61],[0,0,0,0,1,3,0,75,0,0,5,32,0,0,193,61,0,0,3,129,1,0,0,65,0,0,0,0,2,1,4,26],[0,0,0,0,2,2,0,75,0,0,5,32,0,0,193,61,0,0,0,1,2,0,0,57,0,5,0,0,0,2,0,29],[0,0,0,0,0,33,4,27,0,0,0,0,1,0,4,18,0,0,3,130,1,16,1,151,0,0,0,0,2,0,4,16],[0,0,0,0,1,33,0,75,0,0,2,160,0,0,193,61,0,2,0,0,0,2,0,29,0,0,3,134,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,3,37,0,0,193,61,0,0,3,136,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,10,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,3,137,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,9,2,0,0,57,0,0,0,0,3,2,4,26,0,0,3,138,3,48,1,151],[0,0,0,0,1,19,1,159,0,0,0,0,0,18,4,27,0,0,3,139,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,8,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,3,140,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,7,2,0,0,57,0,0,0,0,0,18,4,27,0,0,3,141,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,6,2,0,0,57,0,0,0,0,0,18,4,27,0,0,3,142,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,3,2,0,0,57,0,0,0,0,0,18,4,27],[0,0,3,143,1,0,0,65,0,0,0,0,0,16,4,57,0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,3,130,1,16,1,151,0,0,0,4,2,0,0,57,0,0,0,0,3,2,4,26],[0,0,3,138,3,48,1,151,0,0,0,0,1,19,1,159,0,0,0,0,0,18,4,27,0,0,0,2,1,0,0,57],[0,0,0,0,2,1,4,26,0,0,3,144,2,32,1,151,0,0,0,2,3,0,3,103,0,0,0,0,3,3,4,59],[0,0,0,224,3,48,2,112,0,0,0,0,2,50,1,159,0,0,0,0,0,33,4,27,0,0,3,134,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,5,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,0,11,1,0,0,57,0,0,0,0,2,0,4,22,0,0,0,0,0,33,4,27],[0,0,0,0,1,0,4,20,0,1,0,0,0,1,0,29,0,0,0,64,1,0,4,61,0,0,0,0,5,1,0,25],[0,0,3,145,1,16,0,156,0,0,3,58,0,0,33,61,0,0,0,160,1,80,0,57,0,0,0,64,0,16,4,63],[0,0,0,128,1,80,0,57,0,0,3,146,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,96,1,80,0,57],[0,0,3,147,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,64,1,80,0,57,0,0,3,148,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,122,1,0,0,57,0,0,0,0,10,21,4,54,0,0,3,149,1,0,0,65],[0,0,0,0,0,26,4,53,0,4,128,16,0,0,0,61,0,8,0,0,0,0,0,29,0,10,0,0,0,5,0,29],[0,0,3,119,1,160,0,156,0,0,3,119,4,0,0,65,0,0,0,0,10,4,128,25,0,0,0,64,1,160,2,16],[0,0,0,0,2,5,4,51,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,96,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,3,150,1,16,1,199,0,0,0,4,2,0,0,41],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,32,0,0,97,61,0,0,0,64,2,0,4,61],[0,0,0,0,1,1,4,59,0,9,0,0,0,1,0,29,0,0,0,10,6,0,0,41,0,0,0,0,1,6,4,51],[0,0,0,0,3,1,0,75,0,0,1,110,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,0,4,35,0,25],[0,0,0,32,3,48,0,57,0,0,0,0,5,99,0,25,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53],[0,0,0,0,4,19,0,75,0,0,1,103,0,0,65,61,0,0,0,0,3,33,0,25,0,0,0,0,0,3,4,53],[0,0,3,119,3,32,0,156,0,0,3,119,4,0,0,65,0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16],[0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,0,2,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,5,3,0,25],[0,0,0,32,5,0,128,57,0,0,0,5,4,80,2,114,0,0,1,143,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75,0,0,1,136,0,0,65,61,0,0,0,31,5,80,1,144],[0,0,1,157,0,0,97,61,0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51],[0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159],[0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,64,11,0,4,61],[0,0,0,1,2,32,1,144,0,0,3,251,0,0,97,61,0,0,0,0,2,0,4,51,0,0,0,32,12,176,0,57],[0,0,0,10,6,0,0,41,0,0,0,0,1,6,4,51,0,0,0,0,3,1,0,75,0,0,1,176,0,0,97,61],[0,0,0,0,3,0,0,25,0,0,0,0,4,195,0,25,0,0,0,32,3,48,0,57,0,0,0,0,5,99,0,25],[0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53,0,0,0,0,4,19,0,75,0,0,1,169,0,0,65,61],[0,0,0,9,2,32,1,79,0,0,0,0,3,193,0,25,0,0,0,0,0,35,4,53,0,0,0,32,3,16,0,57],[0,0,0,0,0,59,4,53,0,0,0,95,3,16,0,57,0,0,0,32,1,0,0,138,0,0,0,0,3,19,1,111],[0,0,0,0,13,179,0,25,0,0,0,0,3,61,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57],[0,0,3,127,4,208,0,156,0,0,3,58,0,0,33,61,0,0,0,1,3,48,1,144,0,0,3,58,0,0,193,61],[0,0,0,64,0,208,4,63,0,0,0,12,10,0,0,57,0,0,0,0,3,10,4,26,0,0,3,127,4,48,0,156],[0,0,3,58,0,0,33,61,0,0,0,1,4,48,0,57,0,0,0,0,0,74,4,27,0,0,0,0,0,160,4,53],[0,0,3,151,3,48,0,65,0,0,0,0,0,35,4,27,0,0,0,0,3,10,4,26,0,0,0,0,4,3,0,75],[0,0,3,52,0,0,97,61,0,0,0,1,6,48,0,140,0,0,0,5,3,0,0,41,0,0,1,233,0,0,97,61],[0,0,0,0,3,10,4,26,0,0,0,0,4,99,0,75,0,0,5,3,0,0,161,61,0,0,0,1,4,96,0,138],[0,0,0,1,5,64,2,112,0,0,0,0,7,83,0,75,0,0,5,3,0,0,161,61,0,0,3,151,7,96,0,65],[0,0,0,0,9,7,4,26,0,0,0,0,0,160,4,53,0,0,3,151,6,80,0,65,0,0,0,0,8,6,4,26],[0,0,0,0,9,137,0,75,0,0,1,233,0,0,161,61,0,0,0,0,0,135,4,27,0,0,0,0,3,10,4,26],[0,0,0,0,3,83,0,75,0,0,5,3,0,0,161,61,0,0,0,0,0,38,4,27,0,0,0,2,3,64,0,140],[0,0,0,0,6,5,0,25,0,0,1,208,0,0,129,61,0,0,0,0,3,10,4,26,0,0,0,0,2,3,0,75],[0,0,3,52,0,0,97,61,0,0,0,1,2,48,0,138,0,0,0,0,2,35,1,112,0,0,1,245,0,0,193,61],[0,0,0,13,2,0,0,57,0,0,0,0,3,2,4,26,0,0,3,127,4,48,1,151,0,0,3,127,5,64,0,156],[0,0,3,52,0,0,97,61,0,0,3,152,3,48,1,151,0,0,0,1,4,64,0,57,0,0,0,0,3,52,1,159],[0,0,0,0,0,50,4,27,0,7,0,0,0,12,0,29,0,10,0,0,0,10,0,29,0,0,3,153,2,0,0,65],[0,0,0,0,0,45,4,53,0,0,0,4,2,208,0,57,0,0,0,32,3,0,0,57,0,3,0,0,0,3,0,29],[0,0,0,0,0,50,4,53,0,0,0,0,2,11,4,51,0,0,0,36,3,208,0,57,0,0,0,0,0,35,4,53],[0,0,0,68,3,208,0,57,0,0,0,0,4,2,0,75,0,0,2,11,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,0,5,52,0,25,0,0,0,32,4,64,0,57,0,0,0,0,6,180,0,25,0,0,0,0,6,6,4,51],[0,0,0,0,0,101,4,53,0,0,0,0,5,36,0,75,0,0,2,4,0,0,65,61,0,9,0,0,0,11,0,29],[0,0,0,0,3,50,0,25,0,0,0,0,0,3,4,53,0,0,0,31,2,32,0,57,0,0,0,0,1,18,1,111],[0,0,3,119,2,208,0,156,0,0,3,119,4,0,0,65,0,0,0,0,2,4,0,25,0,0,0,0,2,13,64,25],[0,0,0,64,2,32,2,16,0,0,0,68,1,16,0,57,0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25],[0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156],[0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,128,8,2,0,0,57],[0,6,0,0,0,13,0,29,13,214,13,204,0,0,4,15,0,0,0,6,11,0,0,41,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,5,5,64,2,114,0,0,2,52,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,123,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,2,44,0,0,65,61],[0,0,0,31,6,64,1,144,0,0,0,10,9,0,0,41,0,0,0,7,10,0,0,41,0,0,2,69,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,7,81,3,79,0,0,0,0,5,91,0,25,0,0,0,3,6,96,2,16],[0,0,0,0,8,5,4,51,0,0,0,0,8,104,1,207,0,0,0,0,8,104,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,6,96,0,137,0,0,0,0,7,103,2,47,0,0,0,0,6,103,1,207,0,0,0,0,6,134,1,159],[0,0,0,0,0,101,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,0,9,5,0,0,41,0,0,4,27,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143],[0,0,0,0,1,178,0,25,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57],[0,0,3,127,4,16,0,156,0,0,3,58,0,0,33,61,0,0,0,1,2,32,1,144,0,0,3,58,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,0,32,2,48,0,140,0,0,5,32,0,0,65,61,0,0,0,8,3,0,0,41],[0,0,0,2,2,48,0,140,0,8,0,1,0,48,0,61,0,0,1,75,0,0,161,61,0,0,0,0,2,9,4,26],[0,0,0,0,3,2,0,75,0,0,4,60,0,0,193,61,0,0,0,68,2,16,0,57,0,0,3,198,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,1,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,3,131,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,3,3,0,0,41],[0,0,0,0,0,50,4,53,0,0,3,119,2,0,0,65,0,0,3,119,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,3,159,1,16,1,199,0,0,13,216,0,1,4,48,0,0,3,215,2,16,0,156],[0,0,2,149,0,0,161,61,0,0,3,216,2,16,0,156,0,0,2,179,0,0,161,61,0,0,3,217,2,16,0,156],[0,0,2,222,0,0,97,61,0,0,3,218,2,16,0,156,0,0,2,217,0,0,97,61,0,0,3,219,1,16,0,156],[0,0,5,32,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,0,12,1,0,0,57,0,0,0,0,5,1,4,26,0,0,0,0,2,5,0,75,0,0,3,107,0,0,193,61],[0,0,3,131,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,1,1,0,0,57,0,0,0,164,0,16,4,63,0,0,3,198,1,0,0,65,0,0,2,167,0,0,1,61],[0,0,3,203,2,16,0,156,0,0,2,196,0,0,161,61,0,0,3,204,2,16,0,156,0,0,2,251,0,0,97,61],[0,0,3,205,2,16,0,156,0,0,2,232,0,0,97,61,0,0,3,206,1,16,0,156,0,0,5,32,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,0,4,1,0,0,57],[0,0,2,242,0,0,1,61,0,0,3,222,2,16,0,156,0,0,2,170,0,0,33,61,0,0,3,225,2,16,0,156],[0,0,2,205,0,0,97,61,0,0,3,226,1,16,0,156,0,0,5,32,0,0,193,61,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,0,3,1,0,0,57,0,0,3,9,0,0,1,61],[0,0,3,131,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,16,1,0,0,57,0,0,0,164,0,16,4,63,0,0,3,132,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,3,133,1,0,0,65,0,0,13,216,0,1,4,48,0,0,3,223,2,16,0,156,0,0,2,210,0,0,97,61],[0,0,3,224,1,16,0,156,0,0,5,32,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,5,32,0,0,193,61,0,0,0,6,1,0,0,57,0,0,3,9,0,0,1,61,0,0,3,220,2,16,0,156],[0,0,2,238,0,0,97,61,0,0,3,221,1,16,0,156,0,0,5,32,0,0,193,61,13,214,7,255,0,0,4,15],[0,0,0,0,1,0,0,25,0,0,13,215,0,1,4,46,0,0,3,213,2,16,0,156,0,0,3,0,0,0,97,61],[0,0,3,214,1,16,0,156,0,0,5,32,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,5,32,0,0,193,61,13,214,11,176,0,0,4,15,0,0,0,0,1,0,0,25,0,0,13,215,0,1,4,46],[0,0,3,207,2,16,0,156,0,0,3,5,0,0,97,61,0,0,3,208,1,16,0,156,0,0,5,32,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,0,11,1,0,0,57],[0,0,3,9,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,0,0,1,0,4,26,0,0,2,243,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,5,32,0,0,193,61,0,0,0,2,1,0,0,57,0,0,0,0,1,1,4,26,0,0,0,224,1,16,2,16],[0,0,3,10,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,0,10,1,0,0,57,0,0,3,9,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,5,32,0,0,193,61,0,0,0,7,1,0,0,57,0,0,3,9,0,0,1,61,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,3,124,1,0,0,65,0,0,3,10,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,13,214,11,113,0,0,4,15],[0,0,0,0,1,0,0,25,0,0,13,215,0,1,4,46,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,5,32,0,0,193,61,0,0,0,9,1,0,0,57,0,0,0,0,1,1,4,26,0,0,3,130,1,16,1,151],[0,0,3,10,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[13,214,8,206,0,0,4,15,0,0,0,0,1,0,0,25,0,0,13,215,0,1,4,46,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,0,5,1,0,0,57,0,0,3,9,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61,0,0,0,8,1,0,0,57],[0,0,3,9,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,0,1,1,0,0,57,0,0,0,0,1,1,4,26,0,0,0,128,0,16,4,63,0,0,3,227,1,0,0,65],[0,0,13,215,0,1,4,46,0,0,3,119,4,0,0,65,0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25],[0,0,0,192,1,16,2,16,0,0,3,125,1,16,1,199,13,214,13,204,0,0,4,15,0,0,0,1,2,32,1,143],[0,3,0,0,0,1,3,85,0,0,0,96,1,16,2,112,0,1,3,119,0,16,1,157,0,0,3,119,3,16,1,151],[0,0,0,96,1,0,0,57,0,0,0,0,4,3,0,75,0,0,3,56,0,0,193,61,0,0,0,0,2,2,0,75],[0,0,5,32,0,0,97,61,0,0,0,0,1,1,4,51,0,0,0,0,1,1,0,75,0,0,5,32,0,0,193,61],[0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,3,128,1,0,0,65],[0,0,13,215,0,1,4,46,0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57,0,0,3,119,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,3,218,0,0,193,61],[0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,5,6,0,0,1,61],[0,0,3,126,1,48,0,156,0,0,3,62,0,0,65,61,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,5,6,0,0,1,61,0,0,0,31,1,48,0,57,0,0,0,32,4,0,0,138],[0,0,0,0,1,65,1,111,0,0,0,63,1,16,0,57,0,0,0,0,4,65,1,111,0,0,0,64,1,0,4,61],[0,0,0,0,4,65,0,25,0,0,0,0,5,20,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,3,127,6,64,0,156,0,0,3,58,0,0,33,61,0,0,0,1,5,80,1,144,0,0,3,58,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,31,4,48,1,143,0,0,0,0,5,49,4,54,0,0,0,3,6,0,3,103],[0,0,0,5,3,48,2,114,0,0,3,91,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,133,0,25,0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,55,0,75,0,0,3,83,0,0,65,61,0,0,0,0,7,4,0,75],[0,0,3,27,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,6,54,3,79,0,0,0,0,3,53,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,5,3,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,6,6,4,59,0,0,1,0,4,64,0,137,0,0,0,0,6,70,2,47,0,0,0,0,4,70,1,207],[0,0,0,0,4,84,1,159,0,0,0,0,0,67,4,53,0,0,3,27,0,0,1,61,0,0,3,151,2,0,0,65],[0,0,0,1,3,0,0,57,0,0,3,157,4,0,0,65,0,0,3,119,0,0,1,61,0,0,0,1,6,0,0,138],[0,0,0,0,6,101,0,75,0,0,3,52,0,0,97,61,0,0,0,1,6,80,0,57,0,0,0,0,6,86,1,112],[0,0,3,174,0,0,97,61,0,0,0,0,6,5,0,75,0,0,3,249,0,0,97,61,0,0,3,154,6,80,0,65],[0,0,0,0,7,6,4,26,0,0,0,0,0,114,4,27,0,0,0,0,0,6,4,27,0,0,0,1,5,80,0,138],[0,0,0,0,0,81,4,27,0,0,0,2,6,80,0,140,0,0,3,114,0,0,65,61,0,0,0,0,8,3,0,25],[0,0,0,0,9,0,0,25,0,0,0,0,7,0,0,25,0,0,0,2,10,144,0,57,0,0,0,0,6,90,0,75],[0,0,0,0,6,8,0,25,0,0,3,141,0,0,129,61,0,0,3,155,6,144,0,65,0,0,0,0,6,6,4,26],[0,0,3,156,9,144,0,65,0,0,0,0,9,9,4,26,0,0,0,0,6,105,0,75,0,0,0,0,6,8,0,25],[0,0,0,0,6,10,64,25,0,0,0,0,8,101,0,75,0,0,5,3,0,0,161,61,0,0,3,151,8,96,0,65],[0,0,0,0,9,117,0,75,0,0,5,3,0,0,161,61,0,0,0,0,9,8,4,26,0,0,3,151,10,112,0,65],[0,0,0,0,7,10,4,26,0,0,0,0,11,121,0,75,0,0,3,111,0,0,161,61,0,0,0,0,0,154,4,27],[0,0,0,0,5,1,4,26,0,0,0,0,5,101,0,75,0,0,5,3,0,0,161,61,0,0,0,0,0,120,4,27],[0,0,0,0,5,6,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,4,64,25,0,0,3,157,7,96,1,151],[0,0,0,0,8,7,0,75,0,0,0,0,8,0,0,25,0,0,0,0,8,4,32,25,0,0,3,157,7,112,0,156],[0,0,0,0,8,5,192,25,0,0,0,0,5,8,0,75,0,0,3,52,0,0,193,61,0,0,0,0,5,1,4,26],[0,0,0,1,9,96,2,16,0,0,0,1,8,144,1,191,0,0,0,0,7,88,0,75,0,0,0,0,7,6,0,25],[0,0,3,130,0,0,65,61,0,0,3,111,0,0,1,61,0,0,0,13,6,0,0,57,0,0,0,0,7,6,4,26],[0,0,3,127,8,112,1,151,0,0,0,1,8,128,0,138,0,0,3,127,9,128,0,156,0,0,3,52,0,0,33,61],[0,0,3,152,7,112,1,151,0,0,0,0,7,120,1,159,0,0,0,0,0,118,4,27,0,0,3,117,0,0,1,61],[0,0,0,31,2,48,1,143,0,0,0,5,4,48,2,114,0,0,3,196,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,104,0,25,0,0,0,0,6,97,3,79,0,0,0,0,6,6,4,59],[0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75,0,0,3,188,0,0,65,61],[0,0,0,0,5,2,0,75,0,0,3,211,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,1,65,3,79],[0,0,0,0,4,72,0,25,0,0,0,3,2,32,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,37,1,207],[0,0,0,0,5,37,2,47,0,0,0,0,1,1,4,59,0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47],[0,0,0,0,1,33,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,3,119,1,0,0,65],[0,0,3,119,2,128,0,156,0,0,0,0,8,1,128,25,0,0,0,64,1,128,2,16,0,0,0,96,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,13,216,0,1,4,48,0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,10,0,0,0,1,0,29],[0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156],[0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61,0,0,0,10,2,0,0,41],[0,0,3,232,2,32,0,57,0,0,0,0,1,1,4,59,0,0,0,0,1,33,0,75,0,0,3,52,0,0,33,61],[0,0,0,174,0,0,1,61,0,0,0,0,0,16,4,53,0,0,2,128,0,0,1,61,0,0,0,31,2,48,1,143],[0,0,0,5,4,48,2,114,0,0,4,7,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,107,0,25,0,0,0,0,6,97,3,79,0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75,0,0,3,255,0,0,65,61,0,0,0,0,5,2,0,75],[0,0,4,22,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,1,65,3,79,0,0,0,0,4,75,0,25],[0,0,0,3,2,32,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,37,1,207,0,0,0,0,5,37,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47,0,0,0,0,1,33,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,3,119,1,0,0,65,0,0,3,119,2,176,0,156],[0,0,0,0,11,1,128,25,0,0,0,64,1,176,2,16,0,0,3,215,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,4,40,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,4,32,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,4,55,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,119,1,0,0,65],[0,0,3,119,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,3,215,0,0,1,61],[0,0,3,154,3,32,0,65,0,0,0,0,4,3,4,26,0,0,3,151,5,0,0,65,0,0,0,0,0,69,4,27],[0,0,0,10,10,0,0,41,0,0,0,0,0,160,4,53,0,0,0,0,0,3,4,27,0,0,0,1,3,32,0,138],[0,0,0,0,0,58,4,27,0,0,0,2,2,48,0,140,0,0,4,122,0,0,65,61,0,0,0,1,6,0,0,57],[0,0,3,157,2,0,0,65,0,0,0,0,7,0,0,25,0,0,0,0,5,0,0,25,0,0,0,2,8,112,0,57],[0,0,0,0,4,56,0,75,0,0,0,0,4,6,0,25,0,0,4,86,0,0,129,61,0,0,3,155,4,112,0,65],[0,0,0,0,4,4,4,26,0,0,3,156,7,112,0,65,0,0,0,0,7,7,4,26,0,0,0,0,4,71,0,75],[0,0,0,0,4,6,0,25,0,0,0,0,4,8,64,25,0,0,0,0,6,67,0,75,0,0,5,3,0,0,161,61],[0,0,3,151,6,64,0,65,0,0,0,0,7,83,0,75,0,0,5,3,0,0,161,61,0,0,0,0,7,6,4,26],[0,0,0,0,0,160,4,53,0,0,3,151,8,80,0,65,0,0,0,0,5,8,4,26,0,0,0,0,9,87,0,75],[0,0,4,119,0,0,161,61,0,0,0,0,0,120,4,27,0,0,0,0,3,10,4,26,0,0,0,0,3,67,0,75],[0,0,5,3,0,0,161,61,0,0,0,0,0,86,4,27,0,0,0,0,3,4,0,75,0,0,0,0,3,0,0,25],[0,0,0,0,3,2,64,25,0,0,3,157,5,64,1,151,0,0,0,0,6,5,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,2,32,25,0,0,3,157,5,80,0,156,0,0,0,0,6,3,192,25,0,0,0,0,3,6,0,75],[0,0,3,52,0,0,193,61,0,0,0,0,3,10,4,26,0,0,0,1,7,64,2,16,0,0,0,1,6,112,1,191],[0,0,0,0,5,54,0,75,0,0,0,0,5,4,0,25,0,0,4,75,0,0,65,61,0,0,0,1,2,0,0,138],[0,0,0,0,2,35,0,75,0,0,3,52,0,0,97,61,0,0,0,1,2,48,0,57,0,0,0,0,2,50,1,112],[0,0,4,134,0,0,193,61,0,0,0,13,2,0,0,57,0,0,0,0,3,2,4,26,0,0,3,127,4,48,1,151],[0,0,0,1,4,64,0,138,0,0,3,127,5,64,0,156,0,0,3,52,0,0,33,61,0,0,3,152,3,48,1,151],[0,0,0,0,3,52,1,159,0,0,0,0,0,50,4,27,0,0,0,0,3,0,4,20,0,8,0,0,0,3,0,29],[0,0,0,1,2,48,0,107,0,0,5,9,0,0,161,61,0,0,0,9,6,0,0,41,0,0,0,0,2,6,4,51],[0,0,0,0,3,2,0,75,0,0,4,150,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,0,4,19,0,25],[0,0,0,32,3,48,0,57,0,0,0,0,5,99,0,25,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53],[0,0,0,0,4,35,0,75,0,0,4,143,0,0,65,61,0,0,0,0,3,18,0,25,0,0,0,0,0,3,4,53],[0,0,3,119,4,0,0,65,0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16],[0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,150,1,16,1,199,0,0,128,16,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,5,32,0,0,97,61,0,0,0,8,3,0,0,41,0,0,0,1,2,48,0,105],[0,0,0,0,5,1,4,59,0,0,0,64,1,0,4,61,0,0,0,0,0,33,4,53,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,3,119,4,0,0,65,0,0,0,0,2,4,128,25,0,0,3,119,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,3,160,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,2,3,0,0,57,0,0,3,161,4,0,0,65],[13,214,13,204,0,0,4,15,0,0,0,10,5,0,0,41,0,0,0,1,1,32,1,144,0,0,5,32,0,0,97,61],[0,0,0,64,2,0,4,61,0,0,3,162,1,32,0,156,0,0,3,58,0,0,33,61,0,0,0,192,1,32,0,57],[0,0,0,64,0,16,4,63,0,0,0,160,1,32,0,57,0,0,3,163,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,128,3,32,0,57,0,0,3,164,1,0,0,65,0,0,0,0,0,19,4,53,0,0,0,96,3,32,0,57],[0,0,0,0,0,19,4,53,0,0,0,64,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,32,3,32,0,57],[0,0,0,0,0,19,4,53,0,0,0,135,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,64,2,0,4,61],[0,0,3,162,3,32,0,156,0,0,3,58,0,0,33,61,0,0,0,192,3,32,0,57,0,0,0,64,0,48,4,63],[0,0,0,160,3,32,0,57,0,0,3,165,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,128,3,32,0,57],[0,0,0,0,0,19,4,53,0,0,0,96,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,64,3,32,0,57],[0,0,0,0,0,19,4,53,0,0,0,32,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,136,1,0,0,57],[0,0,0,0,0,18,4,53,0,0,0,64,1,0,4,61,0,0,3,162,2,16,0,156,0,0,3,58,0,0,33,61],[0,0,0,192,2,16,0,57,0,0,0,64,0,32,4,63,0,0,0,160,2,16,0,57,0,0,3,166,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,128,2,16,0,57,0,0,3,164,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,96,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,64,2,16,0,57,0,0,0,0,0,50,4,53],[0,0,0,32,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,137,2,0,0,57,0,0,0,0,0,33,4,53],[0,0,0,0,1,5,4,26,0,9,0,0,0,1,0,29,0,0,0,0,1,1,0,75,0,0,5,15,0,0,193,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,3,197,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,24,3,0,0,57,0,0,2,99,0,0,1,61,0,0,3,199,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,50,1,0,0,57,0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65],[0,0,13,216,0,1,4,48,0,0,0,68,2,16,0,57,0,0,3,158,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,18,3,0,0,57,0,0,2,99,0,0,1,61,0,0,3,120,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,2,1,0,0,41,0,0,0,4,0,16,4,67,0,0,3,119,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,3,121,1,16,1,199,0,0,128,2,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,5,147,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,5,34,0,0,193,61],[0,0,0,0,1,0,0,25,0,0,13,216,0,1,4,48,0,0,0,64,2,0,4,61,0,0,3,167,1,0,0,65],[0,8,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,0,0,1,0,4,20,0,0,0,2,2,0,0,41],[0,0,0,4,2,32,0,140,0,0,5,60,0,0,97,61,0,0,3,119,2,0,0,65,0,0,3,119,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,8,4,0,0,41,0,0,3,119,3,64,0,156,0,0,0,0,2,4,64,25],[0,0,0,64,2,32,2,16,0,0,0,192,1,16,2,16,0,0,0,0,1,33,1,159,0,0,3,168,1,16,1,199],[0,0,0,2,2,0,0,41,13,214,13,204,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,1,3,119,0,48,1,157,0,3,0,0,0,1,3,85,0,0,0,1,1,32,1,144,0,0,5,82,0,0,97,61],[0,0,0,8,1,0,0,41,0,0,3,127,1,16,0,156,0,0,3,58,0,0,33,61,0,0,0,8,3,0,0,41],[0,0,0,64,0,48,4,63,0,0,0,68,1,48,0,57,0,0,3,196,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,48,0,57,0,0,0,23,2,0,0,57,0,0,0,0,0,33,4,53,0,0,3,131,1,0,0,65],[0,0,0,0,0,19,4,53,0,0,0,4,1,48,0,57,0,0,0,3,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,3,119,1,0,0,65,0,0,3,119,2,48,0,156,0,0,0,0,3,1,128,25,0,0,0,64,1,48,2,16],[0,0,3,159,1,16,1,199,0,0,13,216,0,1,4,48,0,0,0,10,1,0,0,41,0,0,0,0,1,1,4,26],[0,0,0,9,1,16,0,108,0,0,5,148,0,0,193,61,0,0,3,120,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,2,1,0,0,41,0,0,0,4,0,16,4,67,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,3,121,1,16,1,199],[0,0,128,2,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,5,147,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,5,32,0,0,97,61,0,0,0,64,4,0,4,61],[0,0,3,170,1,0,0,65,0,0,0,0,0,20,4,53,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,3,119,3,64,0,156,0,10,0,0,0,4,0,29],[0,0,0,0,1,4,64,25,0,9,0,64,0,16,2,24,0,0,0,192,1,32,2,16,0,0,0,9,1,16,1,175],[0,0,3,168,1,16,1,199,0,0,0,2,2,0,0,41,13,214,13,204,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,1,3,119,0,48,1,157,0,3,0,0,0,1,3,85,0,0,0,1,1,32,1,144],[0,0,5,155,0,0,97,61,0,0,0,10,1,0,0,41,0,0,3,127,1,16,0,156,0,0,3,58,0,0,33,61],[0,0,0,10,3,0,0,41,0,0,0,64,0,48,4,63,0,0,0,100,1,48,0,57,0,0,3,193,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,68,1,48,0,57,0,0,3,194,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,48,0,57,0,0,0,38,2,0,0,57,0,0,0,0,0,33,4,53,0,0,3,131,1,0,0,65],[0,0,0,0,0,19,4,53,0,0,0,4,1,48,0,57,0,0,0,3,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,0,9,1,0,0,41,0,0,3,195,1,16,1,199,0,0,13,216,0,1,4,48,0,0,0,0,0,1,4,47],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,3,169,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,27,3,0,0,57,0,0,2,99,0,0,1,61,0,0,0,64,1,0,4,61],[0,0,3,171,2,16,0,156,0,0,3,58,0,0,33,61,0,0,0,96,2,16,0,57,0,0,0,64,0,32,4,63],[0,0,3,172,2,0,0,65,0,0,0,0,2,33,4,54,0,0,0,64,4,0,4,61,0,0,3,173,3,64,0,156],[0,0,3,58,0,0,33,61,0,0,0,128,3,64,0,57,0,0,0,64,0,48,4,63,0,0,0,96,3,64,0,57],[0,0,3,174,5,0,0,65,0,0,0,0,0,83,4,53,0,0,0,64,3,64,0,57,0,0,3,175,5,0,0,65],[0,0,0,0,0,83,4,53,0,0,0,32,3,64,0,57,0,0,3,176,5,0,0,65,0,0,0,0,0,83,4,53],[0,0,0,65,3,0,0,57,0,9,0,0,0,3,0,29,0,0,0,0,0,52,4,53,0,0,0,64,3,16,0,57],[0,0,3,177,5,0,0,65,0,0,0,0,0,83,4,53,0,0,0,0,0,66,4,53,0,0,0,64,4,0,4,61],[0,10,0,0,0,4,0,29,0,0,3,171,4,64,0,156,0,0,3,58,0,0,33,61,0,0,0,10,5,0,0,41],[0,0,0,96,4,80,0,57,0,0,0,64,0,64,4,63,0,0,3,178,4,0,0,65,0,0,0,0,4,69,4,54],[0,8,0,0,0,4,0,29,0,0,0,64,4,0,4,61,0,0,3,173,5,64,0,156,0,0,3,58,0,0,33,61],[0,0,0,128,5,64,0,57,0,0,0,64,0,80,4,63,0,0,0,96,5,64,0,57,0,0,3,174,6,0,0,65],[0,0,0,0,0,101,4,53,0,0,0,64,5,64,0,57,0,0,3,179,6,0,0,65,0,0,0,0,0,101,4,53],[0,0,0,32,5,64,0,57,0,0,3,180,6,0,0,65,0,0,0,0,0,101,4,53,0,0,0,9,5,0,0,41],[0,0,0,0,0,84,4,53,0,0,0,10,5,0,0,41,0,0,0,64,6,80,0,57,0,0,3,181,5,0,0,65],[0,7,0,0,0,6,0,29,0,0,0,0,0,86,4,53,0,0,0,8,5,0,0,41,0,0,0,0,0,69,4,53],[0,0,0,0,2,2,4,51,0,0,0,0,84,2,4,52,0,0,0,65,4,64,0,140,0,0,5,32,0,0,193,61],[0,0,0,65,4,32,0,57,0,0,0,0,4,4,4,51,0,0,0,255,4,64,1,143,0,0,0,27,6,64,0,138],[0,0,0,1,6,96,0,140,0,0,5,32,0,0,33,61,0,0,0,0,3,3,4,51,0,6,0,0,0,3,0,29],[0,0,0,0,1,1,4,51,0,0,0,0,3,5,4,51,0,0,0,64,2,32,0,57,0,0,0,0,2,2,4,51],[0,0,0,64,5,0,4,61,0,0,0,96,6,80,0,57,0,0,0,0,0,38,4,53,0,0,0,64,2,80,0,57],[0,0,0,0,0,50,4,53,0,0,0,32,2,80,0,57,0,0,0,0,0,66,4,53,0,0,0,0,0,21,4,53],[0,0,0,0,0,0,4,53,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199,0,0,0,1,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,4,64,2,114,0,0,6,14,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,70,0,75,0,0,6,7,0,0,65,61,0,0,0,0,6,5,0,75,0,0,6,28,0,0,97,61],[0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207],[0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53],[0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,7,64,0,0,97,61],[0,0,0,0,1,0,4,51,0,0,0,6,1,16,1,79,0,0,3,130,1,16,1,152,0,0,5,32,0,0,193,61],[0,0,0,8,1,0,0,41,0,0,0,0,1,1,4,51,0,0,0,0,50,1,4,52,0,0,0,65,2,32,0,140],[0,0,5,32,0,0,193,61,0,0,0,65,2,16,0,57,0,0,0,0,2,2,4,51,0,0,0,255,2,32,1,143],[0,0,0,27,4,32,0,138,0,0,0,1,4,64,0,140,0,0,5,32,0,0,33,61,0,0,0,7,4,0,0,41],[0,0,0,0,4,4,4,51,0,8,0,0,0,4,0,29,0,0,0,10,4,0,0,41,0,0,0,0,4,4,4,51],[0,0,0,0,3,3,4,51,0,0,0,64,1,16,0,57,0,0,0,0,1,1,4,51,0,0,0,64,5,0,4,61],[0,0,0,96,6,80,0,57,0,0,0,0,0,22,4,53,0,0,0,64,1,80,0,57,0,0,0,0,0,49,4,53],[0,0,0,32,1,80,0,57,0,0,0,0,0,33,4,53,0,0,0,0,0,69,4,53,0,0,0,0,0,0,4,53],[0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199,0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114],[0,0,6,93,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75],[0,0,6,86,0,0,65,61,0,0,0,0,6,5,0,75,0,0,6,107,0,0,97,61,0,0,0,3,5,80,2,16],[0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31],[0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,7,93,0,0,97,61,0,0,0,0,1,0,4,51],[0,0,0,8,1,16,1,79,0,0,3,130,1,16,1,152,0,0,5,32,0,0,193,61,0,0,0,64,1,0,4,61],[0,0,3,171,2,16,0,156,0,0,3,58,0,0,33,61,0,0,0,96,2,16,0,57,0,0,0,64,0,32,4,63],[0,0,0,0,5,1,4,54,0,0,0,64,2,0,4,61,0,0,3,173,3,32,0,156,0,0,3,58,0,0,33,61],[0,0,0,128,3,32,0,57,0,0,0,64,0,48,4,63,0,0,0,96,3,32,0,57,0,0,3,174,4,0,0,65],[0,0,0,0,0,67,4,53,0,0,0,64,3,32,0,57,0,0,3,183,4,0,0,65,0,0,0,0,0,67,4,53],[0,0,0,32,4,32,0,57,0,0,3,184,6,0,0,65,0,0,0,0,0,100,4,53,0,0,0,9,6,0,0,41],[0,0,0,0,0,98,4,53,0,0,0,64,6,16,0,57,0,0,3,185,7,0,0,65,0,0,0,0,0,118,4,53],[0,0,0,0,0,37,4,53,0,0,0,0,5,2,4,51,0,0,0,65,5,80,0,140,0,0,5,32,0,0,193,61],[0,0,0,65,2,32,0,57,0,0,0,0,2,2,4,51,0,0,0,255,2,32,1,143,0,0,0,27,5,32,0,138],[0,0,0,1,5,80,0,140,0,0,5,32,0,0,33,61,0,0,0,0,1,1,4,51,0,0,0,0,4,4,4,51],[0,0,0,0,3,3,4,51,0,0,0,64,5,0,4,61,0,0,0,96,6,80,0,57,0,0,0,0,0,54,4,53],[0,0,0,64,3,80,0,57,0,0,0,0,0,67,4,53,0,0,0,32,3,80,0,57,0,0,0,0,0,35,4,53],[0,0,0,0,0,21,4,53,0,0,0,0,0,0,4,53,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25],[0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199],[0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114,0,0,6,191,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75,0,0,6,184,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,6,205,0,0,97,61,0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51],[0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159],[0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,7,122,0,0,97,61,0,0,0,0,1,0,4,51,0,0,3,130,1,16,1,151,0,0,3,185,1,16,0,156],[0,0,5,32,0,0,193,61,0,0,0,64,1,0,4,61,0,0,3,171,2,16,0,156,0,0,3,58,0,0,33,61],[0,0,0,96,2,16,0,57,0,0,0,64,0,32,4,63,0,0,3,186,2,0,0,65,0,0,0,0,5,33,4,54],[0,0,0,64,2,0,4,61,0,0,3,173,3,32,0,156,0,0,3,58,0,0,33,61,0,0,0,128,3,32,0,57],[0,0,0,64,0,48,4,63,0,0,0,96,3,32,0,57,0,0,3,187,4,0,0,65,0,0,0,0,0,67,4,53],[0,0,0,64,3,32,0,57,0,0,3,188,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,32,4,32,0,57],[0,0,3,189,6,0,0,65,0,0,0,0,0,100,4,53,0,0,0,9,6,0,0,41,0,0,0,0,0,98,4,53],[0,0,0,0,0,37,4,53,0,0,0,64,5,16,0,57,0,0,0,0,0,5,4,53,0,0,0,0,5,2,4,51],[0,0,0,65,5,80,0,140,0,0,5,32,0,0,193,61,0,0,0,65,2,32,0,57,0,0,0,0,2,2,4,51],[0,0,0,255,2,32,1,143,0,0,0,27,5,32,0,138,0,0,0,1,5,80,0,140,0,0,5,32,0,0,33,61],[0,0,0,0,1,1,4,51,0,0,0,0,4,4,4,51,0,0,0,0,3,3,4,51,0,0,0,64,5,0,4,61],[0,0,0,96,6,80,0,57,0,0,0,0,0,54,4,53,0,0,0,64,3,80,0,57,0,0,0,0,0,67,4,53],[0,0,0,32,3,80,0,57,0,0,0,0,0,35,4,53,0,0,0,0,0,21,4,53,0,0,0,0,0,0,4,53],[0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199,0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114],[0,0,7,33,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75],[0,0,7,26,0,0,65,61,0,0,0,0,6,5,0,75,0,0,7,47,0,0,97,61,0,0,0,3,5,80,2,16],[0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31],[0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,7,151,0,0,97,61,0,0,0,0,1,0,4,51],[0,0,3,130,1,16,1,152,0,0,5,32,0,0,193,61,0,0,0,0,3,0,4,22,0,0,3,119,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,3,119,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,0,2,3,0,75,0,0,7,180,0,0,193,61,0,0,3,190,2,0,0,65,0,0,7,184,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,7,77,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,7,69,0,0,65,61,0,0,0,0,6,4,0,75,0,0,7,92,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,4,55,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,7,106,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,7,98,0,0,65,61,0,0,0,0,6,4,0,75,0,0,7,121,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,4,55,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,7,135,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,7,127,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,7,150,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,4,55,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,7,164,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,7,156,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,7,179,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,4,55,0,0,1,61],[0,0,3,150,1,16,1,199,0,0,128,9,2,0,0,57,0,0,3,190,4,0,0,65,0,0,0,0,5,0,0,25],[13,214,13,204,0,0,4,15,0,3,0,0,0,1,3,85,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,1,3,119,0,48,1,157,0,0,3,119,5,48,1,152,0,0,7,231,0,0,97,61,0,0,0,63,3,80,0,57],[0,0,3,191,3,48,1,151,0,0,0,64,4,0,4,61,0,0,0,0,3,52,0,25,0,0,0,0,6,67,0,75],[0,0,0,0,6,0,0,25,0,0,0,1,6,0,64,57,0,0,3,127,7,48,0,156,0,0,3,58,0,0,33,61],[0,0,0,1,6,96,1,144,0,0,3,58,0,0,193,61,0,0,0,64,0,48,4,63,0,0,0,31,3,80,1,143],[0,0,0,0,4,84,4,54,0,0,0,5,5,80,2,114,0,0,7,216,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,7,208,0,0,65,61],[0,0,0,0,6,3,0,75,0,0,7,231,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,4,84,0,25,0,0,0,3,3,48,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,53,1,207],[0,0,0,0,5,53,2,47,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47],[0,0,0,0,1,49,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,0,1,1,32,1,144],[0,0,7,237,0,0,97,61,0,0,3,129,1,0,0,65,0,0,0,0,0,1,4,27,0,0,0,0,1,0,0,25],[0,0,13,215,0,1,4,46,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,3,192,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,20,3,0,0,57,0,0,2,99,0,0,1,61],[0,0,3,231,2,16,0,156,0,0,7,249,0,0,129,61,0,0,0,96,1,16,0,57,0,0,0,64,0,16,4,63],[0,0,0,0,0,1,4,45,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65,0,0,13,216,0,1,4,48,0,1,0,0,0,0,0,2],[0,0,0,0,1,0,0,50,0,0,8,204,0,0,193,61,0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,8,62,0,0,97,61,0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57,0,0,3,119,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,8,198,0,0,97,61],[0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57,0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61],[0,0,0,0,1,1,4,59,0,1,0,0,0,1,0,29,0,0,3,134,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,8,197,0,0,97,61,0,0,0,1,2,0,0,41,0,0,3,232,2,32,0,57,0,0,0,0,1,1,4,59],[0,0,0,0,1,33,0,75,0,0,8,198,0,0,33,61,0,0,3,136,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,10,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,3,137,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,9,2,0,0,57,0,0,0,0,3,2,4,26,0,0,3,138,3,48,1,151],[0,0,0,0,1,19,1,159,0,0,0,0,0,18,4,27,0,0,3,139,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,8,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,3,140,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,7,2,0,0,57,0,0,0,0,0,18,4,27,0,0,3,141,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57],[13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,6,2,0,0,57,0,0,0,0,0,18,4,27,0,0,3,142,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,3,2,0,0,57,0,0,0,0,0,18,4,27],[0,0,3,143,1,0,0,65,0,0,0,0,0,16,4,57,0,0,3,119,3,0,0,65,0,0,0,0,1,0,4,20],[0,0,3,119,2,16,0,156,0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199],[0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,3,130,1,16,1,151,0,0,0,4,2,0,0,57,0,0,0,0,3,2,4,26],[0,0,3,138,3,48,1,151,0,0,0,0,1,19,1,159,0,0,0,0,0,18,4,27,0,0,0,2,1,0,0,57],[0,0,0,0,2,1,4,26,0,0,3,144,2,32,1,151,0,0,0,2,3,0,3,103,0,0,0,0,3,3,4,59],[0,0,0,224,3,48,2,112,0,0,0,0,2,50,1,159,0,0,0,0,0,33,4,27,0,0,3,134,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20,0,0,3,119,2,16,0,156,0,0,3,119,1,0,128,65],[0,0,0,192,1,16,2,16,0,0,3,135,1,16,1,199,0,0,128,11,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,8,197,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,5,2,0,0,57],[0,0,0,0,0,18,4,27,0,0,0,11,1,0,0,57,0,0,0,0,2,0,4,22,0,0,0,0,0,33,4,27],[0,0,0,0,0,1,4,45,0,0,0,0,0,1,4,47,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,17,1,0,0,57,0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65,0,0,13,216,0,1,4,48],[0,0,0,0,1,0,0,25,0,0,13,216,0,1,4,48,0,8,0,0,0,0,0,2,0,0,0,0,1,0,4,20],[0,1,0,0,0,1,0,29,0,0,0,64,5,0,4,61,0,0,3,232,1,80,0,156,0,0,10,130,0,0,129,61],[0,0,0,160,1,80,0,57,0,0,0,64,0,16,4,63,0,0,0,128,1,80,0,57,0,0,3,146,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,96,1,80,0,57,0,0,3,147,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,64,1,80,0,57,0,0,3,148,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,122,1,0,0,57],[0,0,0,0,9,21,4,54,0,0,3,149,1,0,0,65,0,0,0,0,0,25,4,53,0,3,128,16,0,0,0,61],[0,0,0,0,3,0,0,25,0,8,0,0,0,5,0,29,0,6,0,0,0,3,0,29,0,0,3,119,1,144,0,156],[0,0,3,119,4,0,0,65,0,0,0,0,9,4,128,25,0,0,0,64,1,144,2,16,0,0,0,0,2,5,4,51],[0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,150,1,16,1,199,0,0,0,3,2,0,0,41,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,10,138,0,0,97,61,0,0,0,64,2,0,4,61,0,0,0,0,1,1,4,59],[0,7,0,0,0,1,0,29,0,0,0,8,6,0,0,41,0,0,0,0,1,6,4,51,0,0,0,0,3,1,0,75],[0,0,9,9,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,0,4,35,0,25,0,0,0,32,3,48,0,57],[0,0,0,0,5,99,0,25,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53,0,0,0,0,4,19,0,75],[0,0,9,2,0,0,65,61,0,0,0,0,3,33,0,25,0,0,0,0,0,3,4,53,0,0,3,119,3,32,0,156],[0,0,3,119,4,0,0,65,0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16,0,0,3,119,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,0,2,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,5,3,0,25,0,0,0,32,5,0,128,57],[0,0,0,5,4,80,2,114,0,0,9,42,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,70,0,75,0,0,9,35,0,0,65,61,0,0,0,31,5,80,1,144,0,0,9,56,0,0,97,61],[0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207],[0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53],[0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,64,10,0,4,61,0,0,0,1,2,32,1,144],[0,0,10,140,0,0,97,61,0,0,0,0,2,0,4,51,0,0,0,32,12,160,0,57,0,0,0,8,6,0,0,41],[0,0,0,0,1,6,4,51,0,0,0,0,3,1,0,75,0,0,9,75,0,0,97,61,0,0,0,0,3,0,0,25],[0,0,0,0,4,195,0,25,0,0,0,32,3,48,0,57,0,0,0,0,5,99,0,25,0,0,0,0,5,5,4,51],[0,0,0,0,0,84,4,53,0,0,0,0,4,19,0,75,0,0,9,68,0,0,65,61,0,0,0,7,2,32,1,79],[0,0,0,0,3,193,0,25,0,0,0,0,0,35,4,53,0,0,0,32,3,16,0,57,0,0,0,0,0,58,4,53],[0,0,0,95,3,16,0,57,0,0,0,32,1,0,0,138,0,0,0,0,3,19,1,111,0,0,0,0,13,163,0,25],[0,0,0,0,3,61,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,3,127,4,208,0,156],[0,0,10,130,0,0,33,61,0,0,0,1,3,48,1,144,0,0,10,130,0,0,193,61,0,0,0,64,0,208,4,63],[0,0,0,12,11,0,0,57,0,0,0,0,3,11,4,26,0,0,3,127,4,48,0,156,0,0,10,130,0,0,33,61],[0,0,0,1,4,48,0,57,0,0,0,0,0,75,4,27,0,0,0,0,0,176,4,53,0,0,3,151,3,48,0,65],[0,0,0,0,0,35,4,27,0,0,0,0,4,11,4,26,0,0,0,0,3,4,0,75,0,0,10,134,0,0,97,61],[0,0,0,1,3,0,0,57,0,0,0,1,6,64,0,140,0,0,9,132,0,0,97,61,0,0,0,0,3,11,4,26],[0,0,0,0,4,99,0,75,0,0,10,124,0,0,161,61,0,0,0,1,4,96,0,138,0,0,0,1,5,64,2,112],[0,0,0,0,7,83,0,75,0,0,10,124,0,0,161,61,0,0,3,151,7,96,0,65,0,0,0,0,9,7,4,26],[0,0,0,0,0,176,4,53,0,0,3,151,6,80,0,65,0,0,0,0,8,6,4,26,0,0,0,0,9,137,0,75],[0,0,9,132,0,0,161,61,0,0,0,0,0,135,4,27,0,0,0,0,3,11,4,26,0,0,0,0,3,83,0,75],[0,0,10,124,0,0,161,61,0,0,0,0,0,38,4,27,0,0,0,2,3,64,0,140,0,0,0,0,6,5,0,25],[0,0,9,107,0,0,129,61,0,0,0,0,3,11,4,26,0,0,0,0,2,3,0,75,0,0,10,134,0,0,97,61],[0,0,0,1,2,48,0,138,0,0,0,0,2,35,1,112,0,0,9,144,0,0,193,61,0,0,0,13,2,0,0,57],[0,0,0,0,3,2,4,26,0,0,3,127,4,48,1,151,0,0,3,127,5,64,0,156,0,0,10,134,0,0,97,61],[0,0,3,152,3,48,1,151,0,0,0,1,4,64,0,57,0,0,0,0,3,52,1,159,0,0,0,0,0,50,4,27],[0,5,0,0,0,12,0,29,0,7,0,0,0,11,0,29,0,0,3,153,2,0,0,65,0,0,0,0,0,45,4,53],[0,0,0,4,2,208,0,57,0,0,0,32,3,0,0,57,0,2,0,0,0,3,0,29,0,0,0,0,0,50,4,53],[0,0,0,0,2,10,4,51,0,0,0,36,3,208,0,57,0,0,0,0,0,35,4,53,0,0,0,68,3,208,0,57],[0,0,0,0,4,2,0,75,0,0,9,166,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,0,5,52,0,25],[0,0,0,32,4,64,0,57,0,0,0,0,6,164,0,25,0,0,0,0,6,6,4,51,0,0,0,0,0,101,4,53],[0,0,0,0,5,36,0,75,0,0,9,159,0,0,65,61,0,8,0,0,0,10,0,29,0,0,0,0,3,50,0,25],[0,0,0,0,0,3,4,53,0,0,0,31,2,32,0,57,0,0,0,0,1,18,1,111,0,0,3,119,2,208,0,156],[0,0,3,119,4,0,0,65,0,0,0,0,2,4,0,25,0,0,0,0,2,13,64,25,0,0,0,64,2,32,2,16],[0,0,0,68,1,16,0,57,0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,128,8,2,0,0,57,0,4,0,0,0,13,0,29],[13,214,13,204,0,0,4,15,0,0,0,4,12,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,5,5,64,2,114,0,0,9,207,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,124,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,9,199,0,0,65,61,0,0,0,31,6,64,1,144],[0,0,0,7,11,0,0,41,0,0,0,5,9,0,0,41,0,0,9,224,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,7,81,3,79,0,0,0,0,5,92,0,25,0,0,0,3,6,96,2,16,0,0,0,0,8,5,4,51],[0,0,0,0,8,104,1,207,0,0,0,0,8,104,2,47,0,0,0,0,7,7,4,59,0,0,1,0,6,96,0,137],[0,0,0,0,7,103,2,47,0,0,0,0,6,103,1,207,0,0,0,0,6,134,1,159,0,0,0,0,0,101,4,53],[0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,0,8,10,0,0,41],[0,0,10,172,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,0,1,194,0,25],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,3,127,4,16,0,156],[0,0,10,130,0,0,33,61,0,0,0,1,2,32,1,144,0,0,10,130,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,32,2,48,0,140,0,0,10,138,0,0,65,61,0,0,0,6,3,0,0,41,0,0,0,2,2,48,0,140],[0,0,0,1,3,48,0,57,0,0,0,0,5,10,0,25,0,0,8,229,0,0,161,61,0,0,0,0,2,11,4,26],[0,0,0,0,3,2,0,75,0,0,10,207,0,0,97,61,0,0,3,154,3,32,0,65,0,0,0,0,4,3,4,26],[0,0,3,151,5,0,0,65,0,0,0,0,0,69,4,27,0,0,0,0,0,176,4,53,0,0,0,0,0,3,4,27],[0,0,0,1,3,32,0,138,0,0,0,0,0,59,4,27,0,0,0,2,2,48,0,140,0,0,10,55,0,0,65,61],[0,0,0,1,6,0,0,57,0,0,3,157,2,0,0,65,0,0,0,0,7,0,0,25,0,0,0,0,5,0,0,25],[0,0,0,2,8,112,0,57,0,0,0,0,4,56,0,75,0,0,0,0,4,6,0,25,0,0,10,19,0,0,129,61],[0,0,3,155,4,112,0,65,0,0,0,0,4,4,4,26,0,0,3,156,7,112,0,65,0,0,0,0,7,7,4,26],[0,0,0,0,4,71,0,75,0,0,0,0,4,6,0,25,0,0,0,0,4,8,64,25,0,0,0,0,6,67,0,75],[0,0,10,124,0,0,161,61,0,0,3,151,6,64,0,65,0,0,0,0,7,83,0,75,0,0,10,124,0,0,161,61],[0,0,0,0,7,6,4,26,0,0,0,0,0,176,4,53,0,0,3,151,8,80,0,65,0,0,0,0,5,8,4,26],[0,0,0,0,9,87,0,75,0,0,10,52,0,0,161,61,0,0,0,0,0,120,4,27,0,0,0,0,3,11,4,26],[0,0,0,0,3,67,0,75,0,0,10,124,0,0,161,61,0,0,0,0,0,86,4,27,0,0,0,0,3,4,0,75],[0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25,0,0,3,157,5,64,1,151,0,0,0,0,6,5,0,75],[0,0,0,0,6,0,0,25,0,0,0,0,6,2,32,25,0,0,3,157,5,80,0,156,0,0,0,0,6,3,192,25],[0,0,0,0,3,6,0,75,0,0,10,134,0,0,193,61,0,0,0,0,3,11,4,26,0,0,0,1,7,64,2,16],[0,0,0,1,6,112,1,191,0,0,0,0,5,54,0,75,0,0,0,0,5,4,0,25,0,0,10,8,0,0,65,61],[0,0,0,1,2,0,0,138,0,0,0,0,2,35,0,75,0,0,10,134,0,0,97,61,0,0,0,1,2,48,0,57],[0,0,0,0,2,50,1,112,0,0,10,67,0,0,193,61,0,0,0,13,2,0,0,57,0,0,0,0,3,2,4,26],[0,0,3,127,4,48,1,151,0,0,0,1,4,64,0,138,0,0,3,127,5,64,0,156,0,0,10,134,0,0,33,61],[0,0,3,152,3,48,1,151,0,0,0,0,3,52,1,159,0,0,0,0,0,50,4,27,0,0,0,0,3,0,4,20],[0,0,0,1,2,48,0,107,0,0,10,213,0,0,161,61,0,7,0,0,0,3,0,29,0,0,0,0,2,10,4,51],[0,0,0,0,3,2,0,75,0,0,10,82,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,0,4,19,0,25],[0,0,0,32,3,48,0,57,0,0,0,0,5,163,0,25,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53],[0,0,0,0,4,35,0,75,0,0,10,75,0,0,65,61,0,0,0,0,3,18,0,25,0,0,0,0,0,3,4,53],[0,0,3,119,4,0,0,65,0,0,3,119,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16],[0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,150,1,16,1,199,0,0,128,16,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,10,138,0,0,97,61,0,0,0,7,3,0,0,41,0,0,0,1,2,48,0,105],[0,0,0,0,5,1,4,59,0,0,0,64,1,0,4,61,0,0,0,0,0,33,4,53,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,3,119,4,0,0,65,0,0,0,0,2,4,128,25,0,0,3,119,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,3,160,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,2,3,0,0,57,0,0,3,161,4,0,0,65],[13,214,13,204,0,0,4,15,0,0,0,1,1,32,1,144,0,0,10,138,0,0,97,61,0,0,0,0,0,1,4,45],[0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,50,1,0,0,57,0,0,0,4,0,16,4,63],[0,0,3,200,1,0,0,65,0,0,13,216,0,1,4,48,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,10,127,0,0,1,61,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,17,1,0,0,57,0,0,10,127,0,0,1,61,0,0,0,0,1,0,0,25,0,0,13,216,0,1,4,48],[0,0,0,31,2,48,1,143,0,0,0,5,4,48,2,114,0,0,10,152,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,106,0,25,0,0,0,0,6,97,3,79,0,0,0,0,6,6,4,59],[0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75,0,0,10,144,0,0,65,61],[0,0,0,0,5,2,0,75,0,0,10,167,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,1,65,3,79],[0,0,0,0,4,74,0,25,0,0,0,3,2,32,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,37,1,207],[0,0,0,0,5,37,2,47,0,0,0,0,1,1,4,59,0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47],[0,0,0,0,1,33,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,3,119,1,0,0,65],[0,0,3,119,2,160,0,156,0,0,0,0,10,1,128,25,0,0,0,64,1,160,2,16,0,0,10,204,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,10,185,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,10,177,0,0,65,61,0,0,0,0,6,4,0,75,0,0,10,200,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,119,1,0,0,65,0,0,3,119,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16],[0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,13,216,0,1,4,48,0,0,0,68,2,16,0,57],[0,0,3,198,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,1,3,0,0,57],[0,0,10,218,0,0,1,61,0,0,0,68,2,16,0,57,0,0,3,158,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,18,3,0,0,57,0,0,0,0,0,50,4,53,0,0,3,131,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,2,3,0,0,41,0,0,0,0,0,50,4,53],[0,0,3,119,2,0,0,65,0,0,3,119,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,3,159,1,16,1,199,0,0,13,216,0,1,4,48,0,1,0,0,0,0,0,2,0,0,0,64,7,0,4,61],[0,0,3,153,2,0,0,65,0,0,0,0,0,39,4,53,0,0,0,4,2,112,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,0,2,1,4,51,0,0,0,36,3,112,0,57,0,0,0,0,0,35,4,53],[0,0,0,68,3,112,0,57,0,0,0,0,4,2,0,75,0,0,10,251,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,0,5,52,0,25,0,0,0,32,4,64,0,57,0,0,0,0,6,20,0,25,0,0,0,0,6,6,4,51],[0,0,0,0,0,101,4,53,0,0,0,0,5,36,0,75,0,0,10,244,0,0,65,61,0,0,0,0,1,50,0,25],[0,0,0,0,0,1,4,53,0,0,0,31,1,32,0,57,0,0,0,32,2,0,0,138,0,0,0,0,1,33,1,111],[0,0,3,119,2,0,0,65,0,0,3,119,3,112,0,156,0,0,0,0,3,2,0,25,0,0,0,0,3,7,64,25],[0,0,0,64,3,48,2,16,0,0,0,68,1,16,0,57,0,0,3,119,4,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20,0,0,3,119,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159,0,0,128,8,2,0,0,57],[0,1,0,0,0,7,0,29,13,214,13,204,0,0,4,15,0,0,0,1,10,0,0,41,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,11,37,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75],[0,0,11,29,0,0,65,61,0,0,0,0,7,5,0,75,0,0,11,52,0,0,97,61,0,0,0,5,6,96,2,16],[0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51],[0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53],[0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,11,70,0,0,97,61],[0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,0,1,162,0,25,0,0,0,0,2,33,0,75],[0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,3,127,4,16,0,156,0,0,11,105,0,0,33,61],[0,0,0,1,2,32,1,144,0,0,11,105,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140],[0,0,11,111,0,0,65,61,0,0,0,0,0,1,4,45,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,11,83,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,11,75,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,11,98,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,119,1,0,0,65,0,0,3,119,4,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159],[0,0,13,216,0,1,4,48,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65,0,0,13,216,0,1,4,48,0,0,0,0,1,0,0,25],[0,0,13,216,0,1,4,48,0,0,0,64,2,0,4,61,0,0,3,233,1,32,0,156,0,0,11,170,0,0,129,61],[0,0,0,192,1,32,0,57,0,0,0,64,0,16,4,63,0,0,0,160,1,32,0,57,0,0,3,163,3,0,0,65],[0,0,0,0,0,49,4,53,0,0,0,128,3,32,0,57,0,0,3,164,1,0,0,65,0,0,0,0,0,19,4,53],[0,0,0,96,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,64,3,32,0,57,0,0,0,0,0,19,4,53],[0,0,0,32,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,135,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,64,2,0,4,61,0,0,3,162,3,32,0,156,0,0,11,170,0,0,33,61,0,0,0,192,3,32,0,57],[0,0,0,64,0,48,4,63,0,0,0,160,3,32,0,57,0,0,3,165,4,0,0,65,0,0,0,0,0,67,4,53],[0,0,0,128,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,96,3,32,0,57,0,0,0,0,0,19,4,53],[0,0,0,64,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,32,3,32,0,57,0,0,0,0,0,19,4,53],[0,0,0,136,1,0,0,57,0,0,0,0,0,18,4,53,0,0,0,64,1,0,4,61,0,0,3,162,2,16,0,156],[0,0,11,170,0,0,33,61,0,0,0,192,2,16,0,57,0,0,0,64,0,32,4,63,0,0,0,160,2,16,0,57],[0,0,3,166,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,128,2,16,0,57,0,0,3,164,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,96,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,64,2,16,0,57],[0,0,0,0,0,50,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,137,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,0,0,0,1,4,45,0,0,3,199,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65,0,0,13,216,0,1,4,48],[0,5,0,0,0,0,0,2,0,0,0,64,1,0,4,61,0,0,3,231,2,16,0,156,0,0,13,75,0,0,129,61],[0,0,0,96,2,16,0,57,0,0,0,64,0,32,4,63,0,0,3,172,2,0,0,65,0,0,0,0,2,33,4,54],[0,0,0,64,4,0,4,61,0,0,3,173,3,64,0,156,0,0,13,75,0,0,33,61,0,0,0,128,3,64,0,57],[0,0,0,64,0,48,4,63,0,0,0,96,3,64,0,57,0,0,3,174,5,0,0,65,0,0,0,0,0,83,4,53],[0,0,0,64,3,64,0,57,0,0,3,175,5,0,0,65,0,0,0,0,0,83,4,53,0,0,0,32,3,64,0,57],[0,0,3,176,5,0,0,65,0,0,0,0,0,83,4,53,0,0,0,65,7,0,0,57,0,0,0,0,0,116,4,53],[0,0,0,64,3,16,0,57,0,0,3,177,5,0,0,65,0,0,0,0,0,83,4,53,0,0,0,0,0,66,4,53],[0,0,0,64,8,0,4,61,0,0,3,171,4,128,0,156,0,0,13,75,0,0,33,61,0,0,0,96,4,128,0,57],[0,0,0,64,0,64,4,63,0,0,3,178,4,0,0,65,0,0,0,0,9,72,4,54,0,0,0,64,4,0,4,61],[0,0,3,173,5,64,0,156,0,0,13,75,0,0,33,61,0,0,0,128,5,64,0,57,0,0,0,64,0,80,4,63],[0,0,0,96,5,64,0,57,0,0,3,174,6,0,0,65,0,0,0,0,0,101,4,53,0,0,0,64,5,64,0,57],[0,0,3,179,6,0,0,65,0,0,0,0,0,101,4,53,0,0,0,32,5,64,0,57,0,0,3,180,6,0,0,65],[0,0,0,0,0,101,4,53,0,5,0,0,0,7,0,29,0,0,0,0,0,116,4,53,0,0,0,64,6,128,0,57],[0,0,3,181,5,0,0,65,0,1,0,0,0,6,0,29,0,0,0,0,0,86,4,53,0,0,0,0,0,73,4,53],[0,0,0,0,2,2,4,51,0,0,0,0,84,2,4,52,0,0,0,65,4,64,0,140,0,0,13,73,0,0,193,61],[0,0,0,65,4,32,0,57,0,0,0,0,4,4,4,51,0,0,0,255,4,64,1,143,0,0,0,27,6,64,0,138],[0,0,0,1,6,96,0,140,0,0,13,73,0,0,33,61,0,3,0,0,0,9,0,29,0,4,0,0,0,8,0,29],[0,0,0,0,3,3,4,51,0,2,0,0,0,3,0,29,0,0,0,0,1,1,4,51,0,0,0,0,3,5,4,51],[0,0,0,64,2,32,0,57,0,0,0,0,2,2,4,51,0,0,0,64,5,0,4,61,0,0,0,96,6,80,0,57],[0,0,0,0,0,38,4,53,0,0,0,64,2,80,0,57,0,0,0,0,0,50,4,53,0,0,0,32,2,80,0,57],[0,0,0,0,0,66,4,53,0,0,0,0,0,21,4,53,0,0,0,0,0,0,4,53,0,0,3,119,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,3,119,3,80,0,156],[0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,3,182,1,16,1,199,0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114,0,0,12,32,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75,0,0,12,25,0,0,65,61],[0,0,0,0,6,5,0,75,0,0,12,46,0,0,97,61,0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16],[0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79],[0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207],[0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85],[0,0,0,1,2,32,1,144,0,0,0,4,5,0,0,41,0,0,0,3,2,0,0,41,0,0,13,81,0,0,97,61],[0,0,0,0,1,0,4,51,0,0,0,2,1,16,1,79,0,0,3,130,1,16,1,152,0,0,13,73,0,0,193,61],[0,0,0,0,1,2,4,51,0,0,0,0,50,1,4,52,0,0,0,65,2,32,0,140,0,0,13,73,0,0,193,61],[0,0,0,65,2,16,0,57,0,0,0,0,2,2,4,51,0,0,0,255,2,32,1,143,0,0,0,27,4,32,0,138],[0,0,0,1,4,64,0,140,0,0,13,73,0,0,33,61,0,0,0,1,4,0,0,41,0,0,0,0,4,4,4,51],[0,3,0,0,0,4,0,29,0,0,0,0,4,5,4,51,0,0,0,0,3,3,4,51,0,0,0,64,1,16,0,57],[0,0,0,0,1,1,4,51,0,0,0,64,5,0,4,61,0,0,0,96,6,80,0,57,0,0,0,0,0,22,4,53],[0,0,0,64,1,80,0,57,0,0,0,0,0,49,4,53,0,0,0,32,1,80,0,57,0,0,0,0,0,33,4,53],[0,0,0,0,0,69,4,53,0,0,0,0,0,0,4,53,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25],[0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199],[0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114,0,0,12,111,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75,0,0,12,104,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,12,125,0,0,97,61,0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51],[0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159],[0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,13,110,0,0,97,61,0,0,0,0,1,0,4,51,0,0,0,3,1,16,1,79,0,0,3,130,1,16,1,152],[0,0,13,73,0,0,193,61,0,0,0,64,1,0,4,61,0,0,3,171,2,16,0,156,0,0,0,5,7,0,0,41],[0,0,13,75,0,0,33,61,0,0,0,96,2,16,0,57,0,0,0,64,0,32,4,63,0,0,0,0,5,1,4,54],[0,0,0,64,2,0,4,61,0,0,3,173,3,32,0,156,0,0,13,75,0,0,33,61,0,0,0,128,3,32,0,57],[0,0,0,64,0,48,4,63,0,0,0,96,3,32,0,57,0,0,3,174,4,0,0,65,0,0,0,0,0,67,4,53],[0,0,0,64,3,32,0,57,0,0,3,183,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,32,4,32,0,57],[0,0,3,184,6,0,0,65,0,0,0,0,0,100,4,53,0,0,0,0,0,114,4,53,0,0,0,64,6,16,0,57],[0,0,3,185,7,0,0,65,0,0,0,0,0,118,4,53,0,0,0,0,0,37,4,53,0,0,0,0,5,2,4,51],[0,0,0,65,5,80,0,140,0,0,13,73,0,0,193,61,0,0,0,65,2,32,0,57,0,0,0,0,2,2,4,51],[0,0,0,255,2,32,1,143,0,0,0,27,5,32,0,138,0,0,0,1,5,80,0,140,0,0,13,73,0,0,33,61],[0,0,0,0,1,1,4,51,0,0,0,0,4,4,4,51,0,0,0,0,3,3,4,51,0,0,0,64,5,0,4,61],[0,0,0,96,6,80,0,57,0,0,0,0,0,54,4,53,0,0,0,64,3,80,0,57,0,0,0,0,0,67,4,53],[0,0,0,32,3,80,0,57,0,0,0,0,0,35,4,53,0,0,0,0,0,21,4,53,0,0,0,0,0,0,4,53],[0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20,0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199,0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114],[0,0,12,209,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75],[0,0,12,202,0,0,65,61,0,0,0,0,6,5,0,75,0,0,12,223,0,0,97,61,0,0,0,3,5,80,2,16],[0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31],[0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,13,139,0,0,97,61,0,0,0,0,1,0,4,51],[0,0,3,130,1,16,1,151,0,0,3,185,1,16,0,156,0,0,13,73,0,0,193,61,0,0,0,64,1,0,4,61],[0,0,3,171,2,16,0,156,0,0,0,5,7,0,0,41,0,0,13,75,0,0,33,61,0,0,0,96,2,16,0,57],[0,0,0,64,0,32,4,63,0,0,3,186,2,0,0,65,0,0,0,0,5,33,4,54,0,0,0,64,2,0,4,61],[0,0,3,173,3,32,0,156,0,0,13,75,0,0,33,61,0,0,0,128,3,32,0,57,0,0,0,64,0,48,4,63],[0,0,0,96,3,32,0,57,0,0,3,187,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,64,3,32,0,57],[0,0,3,188,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,32,4,32,0,57,0,0,3,189,6,0,0,65],[0,0,0,0,0,100,4,53,0,0,0,0,0,114,4,53,0,0,0,0,0,37,4,53,0,0,0,64,5,16,0,57],[0,0,0,0,0,5,4,53,0,0,0,0,5,2,4,51,0,0,0,65,5,80,0,140,0,0,13,73,0,0,193,61],[0,0,0,65,2,32,0,57,0,0,0,0,2,2,4,51,0,0,0,255,2,32,1,143,0,0,0,27,5,32,0,138],[0,0,0,1,5,80,0,140,0,0,13,73,0,0,33,61,0,0,0,0,1,1,4,51,0,0,0,0,4,4,4,51],[0,0,0,0,3,3,4,51,0,0,0,64,5,0,4,61,0,0,0,96,6,80,0,57,0,0,0,0,0,54,4,53],[0,0,0,64,3,80,0,57,0,0,0,0,0,67,4,53,0,0,0,32,3,80,0,57,0,0,0,0,0,35,4,53],[0,0,0,0,0,21,4,53,0,0,0,0,0,0,4,53,0,0,3,119,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,3,119,3,32,0,156,0,0,0,0,2,1,128,25,0,0,3,119,3,80,0,156,0,0,0,0,5,1,128,25],[0,0,0,64,1,80,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,3,182,1,16,1,199],[0,0,0,1,2,0,0,57,13,214,13,209,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,3,119,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114,0,0,13,51,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75,0,0,13,44,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,13,65,0,0,97,61,0,0,0,3,5,80,2,16,0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51],[0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159],[0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,13,168,0,0,97,61,0,0,0,0,1,0,4,51,0,0,3,130,1,16,1,152,0,0,13,73,0,0,193,61],[0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25,0,0,13,216,0,1,4,48,0,0,3,199,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,3,200,1,0,0,65],[0,0,13,216,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,13,94,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,13,86,0,0,65,61,0,0,0,0,6,4,0,75,0,0,13,196,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,13,196,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,13,123,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,13,115,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,13,138,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,13,196,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,13,152,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,13,144,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,13,167,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,13,196,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,13,181,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,13,173,0,0,65,61,0,0,0,0,6,4,0,75,0,0,13,196,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,119,1,0,0,65,0,0,3,119,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16],[0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,13,216,0,1,4,48,0,0,0,0,0,1,4,47],[0,0,13,207,0,33,4,33,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,13,212,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,13,214,0,0,4,50,0,0,13,215,0,1,4,46],[0,0,13,216,0,1,4,48,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,0,255,255,255,255],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0],[224,63,225,119,187,5,10,64,234,27,62,205,100,18,26,63,160,99,169,75,109,64,75,47,69,198,70,151,85,94,254,14],[197,210,70,1,134,247,35,60,146,126,125,178,220,199,3,192,229,0,182,83,202,130,39,59,123,250,216,4,93,133,164,112],[153,58,4,183,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,4,0,0,0,160,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,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,255,255,255,255,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[142,148,254,212,66,57,235,35,20,171,122,64,99,69,230,197,168,240,204,237,243,182,0,222,61,0,78,103,44,51,171,244],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[8,195,121,160,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],[105,110,32,100,101,108,101,103,97,116,101,32,99,97,108,108,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,100,0,0,0,128,0,0,0,0,0,0,0,0],[66,203,177,92,205,195,202,214,38,107,14,122,8,192,69,75,35,191,41,220,45,247,75,111,60,32,158,147,54,70,91,209],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[25,202,228,98,154,45,215,137,0,54,208,209,246,168,39,66,132,91,119,139,113,132,227,141,91,235,253,76,206,59,24,30],[166,174,10,172,21,139,45,92,154,156,146,133,116,52,25,214,42,50,246,114,122,100,9,85,228,206,142,228,21,3,199,132],[255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[120,119,167,151,254,109,202,67,33,243,63,217,84,20,218,7,154,183,142,105,141,118,21,20,192,28,237,146,17,175,38,126],[254,23,59,151,237,154,162,99,35,108,82,250,62,179,52,208,119,65,173,217,94,151,45,23,53,45,118,129,107,74,174,163],[154,138,5,146,172,137,197,173,59,198,223,130,36,193,123,72,89,118,245,151,223,16,78,226,13,13,244,21,36,31,103,11],[121,107,137,185,22,68,188,152,205,147,149,142,76,144,56,39,93,98,33,131,226,90,197,175,8,204,107,93,149,83,145,50],[147,139,95,50,153,161,243,177,142,69,133,100,239,187,149,7,51,34,96,20,238,206,38,250,225,144,18,216,80,180,141,131],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,95],[116,104,101,32,105,110,100,117,115,116,114,121,39,115,32,115,116,97,110,100,97,114,100,46,46,46,0,0,0,0,0,0],[32,105,110,100,117,115,116,114,121,46,32,76,111,114,101,109,32,73,112,115,117,109,32,104,97,115,32,98,101,101,110,32],[32,111,102,32,116,104,101,32,112,114,105,110,116,105,110,103,32,97,110,100,32,116,121,112,101,115,101,116,116,105,110,103],[76,111,114,101,109,32,73,112,115,117,109,32,105,115,32,115,105,109,112,108,121,32,100,117,109,109,121,32,116,101,120,116],[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],[223,105,102,201,113,5,28,61,84,236,89,22,38,6,83,20,147,165,20,4,160,2,132,47,86,0,157,126,92,244,168,199],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0],[98,248,75,36,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],[223,105,102,201,113,5,28,61,84,236,89,22,38,6,83,20,147,165,20,4,160,2,132,47,86,0,157,126,92,244,168,198],[223,105,102,201,113,5,28,61,84,236,89,22,38,6,83,20,147,165,20,4,160,2,132,47,86,0,157,126,92,244,168,201],[223,105,102,201,113,5,28,61,84,236,89,22,38,6,83,20,147,165,20,4,160,2,132,47,86,0,157,126,92,244,168,200],[128,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],[83,111,109,101,32,101,114,114,111,114,32,109,101,115,115,97,103,101,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,100,0,0,0,0,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[133,189,45,42,160,229,82,140,202,50,72,223,177,233,146,208,17,58,85,56,2,215,146,79,223,4,154,233,237,29,91,48],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,63],[97,97,97,97,97,97,97,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],[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97],[97,97,97,97,97,97,97,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[97,97,97,97,97,97,97,97,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[102,3,194,241,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,4,0,0,0,0,0,0,0,0,0,0,0,0],[72,101,97,112,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,0,0,0,0],[171,37,105,15,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,0,255,255,255,255,255,255,255,159],[20,67,19,57,18,139,210,95,44,127,147,186,166,17,227,103,71,32,72,117,127,74,214,127,109,113,165,202,13,165,80,245],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,127],[28,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],[70,234,191,53,104,3,40,226,110,244,87,156,175,138,235,44,249,236,224,93,191,103,164,243,209,242,140,123,29,14,53,70],[81,228,219,187,206,186,222,105,90,63,15,223,16,190,184,181,248,63,218,22,30,26,49,5,161,76,65,22,139,243,220,224],[0,0,0,0,0,0,0,0,0,0,0,0,127,139,59,4,191,52,97,143,74,23,35,251,169,107,93,178,17,39,154,43],[224,104,47,212,162,96,50,175,255,59,24,5,58,12,51,210,166,196,101,192,225,156,177,228,193,14,176,169,73,242,130,124],[11,219,95,10,199,157,26,126,253,194,85,243,153,160,69,3,140,27,67,62,157,6,193,177,171,213,138,95,202,171,51,241],[196,108,220,80,166,111,77,7,198,233,161,39,167,39,126,136,47,178,27,207,181,176,104,242,181,140,127,114,131,153,59,121],[0,0,0,0,0,0,0,0,0,0,0,0,8,101,167,125,77,104,199,227,205,210,25,212,49,207,238,146,113,144,80,116],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0],[46,56,93,100,142,59,225,148,212,95,187,31,114,41,239,16,197,183,238,28,124,48,20,90,164,221,249,56,14,171,90,3],[155,55,233,20,69,233,43,20,35,53,72,37,170,51,216,65,216,60,172,253,216,149,211,22,174,136,218,188,49,115,105,150],[0,0,0,0,0,0,0,0,0,0,0,0,158,21,153,225,16,206,239,79,21,232,238,112,106,217,205,74,91,142,198,237],[221,105,233,149,15,82,221,220,188,103,81,253,187,105,73,120,124,193,184,74,196,2,10,176,97,126,200,173,149,14,85,74],[27,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],[64,104,245,181,230,196,180,66,232,63,203,123,98,144,82,14,187,94,7,124,209,13,59,216,108,244,49,202,75,100,1,98],[176,9,134,216,187,82,238,122,203,6,202,191,166,194,192,153,216,144,76,124,141,86,112,122,38,125,219,175,215,174,208,112],[0,0,0,0,0,0,0,0,0,0,0,0,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238],[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,255,255,255,224],[102,97,105,108,101,100,32,116,114,97,110,115,102,101,114,32,99,97,108,108,0,0,0,0,0,0,0,0,0,0,0,0],[102,97,105,108,101,100,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],[115,101,110,100,105,110,103,32,108,49,32,109,101,115,115,97,103,101,115,32,116,101,115,116,32,115,104,111,117,108,100,32],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0],[104,101,97,112,32,116,101,115,116,32,115,104,111,117,108,100,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,0],[72,101,97,112,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,101,109,112,116,121,0,0,0,0,0,0,0,0],[119,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],[78,72,123,113,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,36,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,119,55,221,230],[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,175,100,13,14],[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,198,249,104,131],[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,198,249,104,132],[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,230,246,42,184],[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,251,56,170,86],[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,175,100,13,15],[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,190,139,17,32],[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,135,78,143,142],[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,135,78,143,143],[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,153,58,4,183],[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,171,37,105,15],[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,119,55,221,231],[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,127,213,148,97],[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,72,64,160,80],[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,89,48,143,14],[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,89,48,143,15],[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,94,254,75,180],[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,102,3,194,241],[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,72,64,160,81],[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,87,154,227,236],[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,34,132,79,187],[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,34,132,79,188],[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,42,187,215,72],[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,2,208,93,63],[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,25,216,172,97],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,128,0,0,0,0,0,0,0,0],[84,101,115,116,32,109,101,115,115,97,103,101,32,50,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,14,0,0,0,128,0,0,0,0,0,0,0,0],[62,169,138,246,227,81,65,251,202,204,23,36,225,79,93,118,185,181,142,65,246,195,93,14,138,226,226,4,230,102,149,235],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,160],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,96],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,64],[214,157,133,29,132,62,228,160,250,200,14,30,42,137,20,209,16,252,193,75,95,47,89,133,35,162,110,88,69,252,146,234]],"default_account_code":[[0,4,0,0,0,0,0,2,0,12,0,0,0,0,0,2,0,0,0,0,3,1,0,25,0,0,0,96,7,48,2,112],[0,0,5,2,6,112,1,151,0,3,0,0,0,97,3,85,0,2,0,0,0,1,3,85,0,0,5,2,0,112,1,157],[0,0,0,128,4,0,0,57,0,0,0,64,0,64,4,63,0,0,0,1,2,32,1,144,0,0,0,44,0,0,193,61],[0,0,0,4,2,96,0,140,0,0,0,52,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112],[0,0,5,4,3,32,0,156,0,0,0,68,0,0,161,61,0,0,5,5,3,32,0,156,0,0,0,150,0,0,97,61],[0,0,5,6,3,32,0,156,0,0,0,197,0,0,97,61,0,0,5,7,2,32,0,156,0,0,0,54,0,0,193,61],[0,0,0,4,2,96,0,138,0,0,0,32,3,32,0,140,0,0,1,39,0,0,65,61,0,0,0,4,1,16,3,112],[0,0,0,0,1,1,4,59,0,0,5,10,3,16,0,156,0,0,1,39,0,0,33,61,0,0,0,0,1,18,0,73],[0,0,5,11,2,0,0,65,0,0,2,96,3,16,0,140,0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25],[0,0,5,11,1,16,1,151,0,0,0,0,4,1,0,75,0,0,0,0,2,0,160,25,0,0,5,11,1,16,0,156],[0,0,0,0,2,3,192,25,0,0,0,0,1,2,0,75,0,0,3,118,0,0,97,61,0,0,1,39,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,1,39,0,0,193,61,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,5,3,1,0,0,65,0,0,20,2,0,1,4,46],[0,0,0,0,1,6,0,75,0,0,3,118,0,0,97,61,0,0,0,0,1,0,4,18,0,0,5,12,1,16,1,151],[0,0,0,0,2,0,4,16,0,0,0,0,1,33,0,75,0,0,3,118,0,0,193,61,0,0,0,0,1,0,4,17],[0,0,128,1,1,16,0,140,0,0,3,118,0,0,193,61,0,0,5,88,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,1,1,0,0,57,0,0,0,4,0,16,4,63,0,0,5,89,1,0,0,65,0,0,20,3,0,1,4,48],[0,0,5,8,3,32,0,156,0,0,1,17,0,0,97,61,0,10,0,0,0,4,0,29,0,0,5,9,2,32,0,156],[0,0,0,54,0,0,193,61,0,0,0,4,2,96,0,138,0,0,0,96,2,32,0,140,0,0,1,39,0,0,65,61],[0,0,0,68,2,16,3,112,0,0,0,0,3,2,4,59,0,0,5,10,2,48,0,156,0,0,1,39,0,0,33,61],[0,0,0,4,4,48,0,57,0,0,0,0,5,70,0,73,0,0,5,11,2,0,0,65,0,0,2,96,7,80,0,140],[0,0,0,0,7,0,0,25,0,0,0,0,7,2,64,25,0,0,5,11,8,80,1,151,0,0,0,0,9,8,0,75],[0,0,0,0,2,0,160,25,0,0,5,11,8,128,0,156,0,0,0,0,2,7,192,25,0,0,0,0,2,2,0,75],[0,0,1,39,0,0,193,61,0,0,0,0,2,0,4,17,0,0,128,1,2,32,0,140,0,0,3,118,0,0,193,61],[0,0,0,0,2,0,4,18,0,0,5,12,7,32,1,151,0,0,0,0,2,0,4,16,0,0,0,0,7,39,0,75],[0,0,3,118,0,0,193,61,0,0,2,36,3,48,0,57,0,0,0,0,7,49,3,79,0,0,0,0,7,7,4,59],[0,0,0,31,5,80,0,138,0,0,5,11,8,0,0,65,0,0,0,0,9,87,0,75,0,0,0,0,9,0,0,25],[0,0,0,0,9,8,128,25,0,0,5,11,5,80,1,151,0,0,5,11,10,112,1,151,0,0,0,0,11,90,0,75],[0,0,0,0,8,0,128,25,0,0,0,0,5,90,1,63,0,0,5,11,5,80,0,156,0,0,0,0,8,9,192,25],[0,0,0,0,5,8,0,75,0,0,1,39,0,0,193,61,0,0,0,0,5,71,0,25,0,0,0,0,4,81,3,79],[0,0,0,0,4,4,4,59,0,0,5,10,7,64,0,156,0,0,1,39,0,0,33,61,0,0,0,0,7,70,0,73],[0,0,0,32,5,80,0,57,0,0,5,11,8,0,0,65,0,0,0,0,9,117,0,75,0,0,0,0,9,0,0,25],[0,0,0,0,9,8,32,25,0,0,5,11,7,112,1,151,0,0,5,11,10,80,1,151,0,0,0,0,11,122,0,75],[0,0,0,0,8,0,128,25,0,0,0,0,7,122,1,63,0,0,5,11,7,112,0,156,0,0,0,0,8,9,192,25],[0,0,0,0,7,8,0,75,0,0,1,39,0,0,193,61,0,0,0,3,7,64,0,140,0,0,2,87,0,0,33,61],[0,0,5,16,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,58,1,0,0,57,0,0,0,164,0,16,4,63,0,0,5,50,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,5,51,1,0,0,65,0,0,2,103,0,0,1,61,0,0,0,4,2,96,0,138,0,0,0,96,2,32,0,140],[0,0,1,39,0,0,65,61,0,0,0,68,2,16,3,112,0,0,0,0,3,2,4,59,0,0,5,10,2,48,0,156],[0,0,1,39,0,0,33,61,0,0,0,4,2,48,0,57,0,0,0,0,5,38,0,73,0,0,5,11,4,0,0,65],[0,0,2,96,8,80,0,140,0,0,0,0,8,0,0,25,0,0,0,0,8,4,64,25,0,0,5,11,9,80,1,151],[0,0,0,0,10,9,0,75,0,0,0,0,4,0,160,25,0,0,5,11,9,144,0,156,0,0,0,0,4,8,192,25],[0,0,0,0,4,4,0,75,0,0,1,39,0,0,193,61,0,0,0,0,4,0,4,17,0,0,128,1,4,64,0,140],[0,0,3,118,0,0,193,61,0,0,0,0,4,0,4,18,0,0,5,12,4,64,1,151,0,0,0,0,8,0,4,16],[0,0,0,0,4,132,0,75,0,0,3,118,0,0,193,61,0,0,0,68,4,48,0,57,0,0,0,0,4,65,3,79],[0,0,1,36,8,48,0,57,0,0,0,0,3,129,3,79,0,0,0,0,4,4,4,59,0,0,5,12,4,64,1,151],[0,0,0,0,3,3,4,59,0,0,5,18,9,48,0,156,0,0,1,248,0,0,65,61,0,0,5,16,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,8,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,5,27,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,28,1,0,0,65],[0,0,20,3,0,1,4,48,0,0,0,4,3,96,0,138,0,0,0,96,2,48,0,140,0,0,1,39,0,0,65,61],[0,0,0,68,2,16,3,112,0,0,0,0,2,2,4,59,0,0,5,10,4,32,0,156,0,0,1,39,0,0,33,61],[0,0,0,0,3,35,0,73,0,0,5,11,4,0,0,65,0,0,2,96,5,48,0,140,0,0,0,0,5,0,0,25],[0,0,0,0,5,4,64,25,0,0,5,11,3,48,1,151,0,0,0,0,6,3,0,75,0,0,0,0,4,0,160,25],[0,0,5,11,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75,0,0,1,39,0,0,193,61],[0,0,0,0,3,0,4,17,0,0,128,1,3,48,0,140,0,0,3,118,0,0,193,61,0,0,0,0,3,0,4,18],[0,0,5,12,3,48,1,151,0,0,0,0,4,0,4,16,0,0,0,0,3,67,0,75,0,0,3,118,0,0,193,61],[0,0,0,164,3,32,0,57,0,0,0,0,3,49,3,79,0,0,0,100,2,32,0,57,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,0,0,2,3,4,59,0,0,0,0,3,2,0,75,0,0,1,224,0,0,193,61],[0,0,0,0,4,0,4,21,0,0,0,12,4,64,0,138,0,0,0,32,4,64,0,201,0,0,0,0,1,0,4,20],[0,12,0,0,0,0,0,29,0,10,0,0,0,4,0,29,0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,192,1,16,2,16,0,0,128,1,2,0,0,57,20,1,19,237,0,0,4,15],[0,0,0,10,3,0,0,41,0,3,0,0,0,1,3,85,0,0,0,96,1,16,2,112,0,1,5,2,0,16,1,157],[0,0,0,5,1,48,2,112,0,0,0,1,1,32,1,149,0,0,0,1,1,32,1,144,0,0,3,118,0,0,193,61],[0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57,0,0,5,14,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,68,2,16,0,57,0,0,5,15,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,37,3,0,0,57,0,0,0,0,0,50,4,53,0,0,5,16,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,5,2,2,0,0,65],[0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,5,17,1,16,1,199],[0,0,20,3,0,1,4,48,0,0,0,4,2,96,0,138,0,0,0,96,2,32,0,140,0,0,1,39,0,0,65,61],[0,0,0,68,2,16,3,112,0,0,0,0,2,2,4,59,0,10,0,0,0,2,0,29,0,0,5,10,2,32,0,156],[0,0,1,39,0,0,33,61,0,0,0,10,2,0,0,41,0,9,0,4,0,32,0,61,0,0,0,9,2,96,0,106],[0,0,5,11,3,0,0,65,0,0,2,96,4,32,0,140,0,0,0,0,4,0,0,25,0,0,0,0,4,3,64,25],[0,0,5,11,2,32,1,151,0,0,0,0,5,2,0,75,0,0,0,0,3,0,160,25,0,0,5,11,2,32,0,156],[0,0,0,0,3,4,192,25,0,0,0,0,2,3,0,75,0,0,1,41,0,0,97,61,0,0,0,0,1,0,0,25],[0,0,20,3,0,1,4,48,0,0,0,36,2,16,3,112,0,0,0,0,2,2,4,59,0,8,0,0,0,2,0,29],[0,0,0,0,2,0,4,17,0,0,128,1,2,32,0,140,0,0,3,118,0,0,193,61,0,0,0,0,2,0,4,18],[0,0,5,12,2,32,1,151,0,0,0,0,3,0,4,16,0,7,0,0,0,3,0,29,0,0,0,0,2,50,0,75],[0,0,3,118,0,0,193,61,0,0,0,0,2,0,4,20,0,0,5,52,3,0,0,65,0,0,0,160,0,48,4,63],[0,0,0,10,3,0,0,41,0,6,1,4,0,48,0,61,0,0,0,6,1,16,3,96,0,0,0,0,1,1,4,59],[0,0,0,164,0,16,4,63,0,0,0,36,1,0,0,57,0,0,0,128,0,16,4,63,0,0,0,224,1,0,0,57],[0,0,0,64,0,16,4,63,0,0,0,192,1,32,2,16,0,0,5,24,1,16,1,151,0,0,5,53,1,16,1,199],[0,0,128,3,2,0,0,57,0,0,0,0,3,0,0,25,0,0,0,0,4,0,0,25,0,0,0,0,5,0,0,25],[0,0,0,0,6,0,0,25,20,1,19,237,0,0,4,15,0,3,0,0,0,1,3,85,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,1,5,2,0,48,1,157,0,0,5,2,8,48,1,151,0,0,0,63,3,128,0,57],[0,0,5,54,4,48,1,151,0,0,0,64,6,0,4,61,0,0,0,0,3,100,0,25,0,0,0,0,4,67,0,75],[0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,10,5,48,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,48,4,63,0,0,0,0,7,134,4,54],[0,0,0,2,3,0,3,103,0,0,0,0,4,0,0,49,0,0,0,0,5,67,3,79,0,0,0,31,9,128,0,57],[0,0,0,5,9,144,2,114,0,0,1,107,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16],[0,0,0,0,12,183,0,25,0,0,0,0,11,181,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53],[0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75,0,0,1,99,0,0,65,61,0,0,0,0,9,0,0,75],[0,0,1,109,0,0,97,61,0,0,0,31,9,128,1,143,0,0,0,5,8,128,2,114,0,0,1,121,0,0,97,61],[0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,183,0,25,0,0,0,0,11,177,3,79],[0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75],[0,0,1,113,0,0,65,61,0,0,0,0,10,9,0,75,0,0,1,136,0,0,97,61,0,0,0,5,8,128,2,16],[0,0,0,0,1,129,3,79,0,0,0,0,8,135,0,25,0,0,0,3,9,144,2,16,0,0,0,0,10,8,4,51],[0,0,0,0,10,154,1,207,0,0,0,0,10,154,2,47,0,0,0,0,1,1,4,59,0,0,1,0,9,144,0,137],[0,0,0,0,1,145,2,47,0,0,0,0,1,145,1,207,0,0,0,0,1,161,1,159,0,0,0,0,0,24,4,53],[0,0,0,1,1,32,1,144,0,0,2,77,0,0,97,61,0,0,0,8,1,0,0,107,0,0,16,183,0,0,193,61],[0,0,0,6,1,0,0,41,0,0,1,0,1,16,0,138,0,0,0,0,1,19,3,79,0,0,0,0,1,1,4,59],[0,0,0,0,2,1,0,75,0,0,2,106,0,0,193,61,0,0,0,6,1,48,3,96,0,0,0,64,9,0,4,61],[0,0,0,0,1,1,4,59,0,0,0,128,2,16,0,140,0,8,0,0,0,9,0,29,0,0,2,161,0,0,65,61],[0,0,0,128,2,16,2,112,0,0,5,60,6,16,0,156,0,0,0,0,2,1,160,25,0,0,5,60,6,16,0,156],[0,0,0,0,6,0,0,25,0,0,0,16,6,0,32,57,0,0,0,8,7,96,1,191,0,0,5,10,8,32,0,156],[0,0,0,0,7,6,160,25,0,0,0,64,6,32,2,112,0,0,5,10,8,32,0,156,0,0,0,0,6,2,160,25],[0,0,0,4,8,112,1,191,0,0,5,2,2,96,0,156,0,0,0,0,8,7,160,25,0,0,0,32,7,96,2,112],[0,0,5,2,2,96,0,156,0,0,0,0,7,6,160,25,0,0,0,2,2,128,1,191,0,0,255,255,6,112,0,140],[0,0,0,0,2,8,160,25,0,0,0,16,6,112,2,112,0,0,0,0,6,7,160,25,0,0,0,255,6,96,0,140],[0,0,0,1,2,32,32,57,0,0,0,32,6,0,0,138,0,0,0,65,7,32,0,57,0,0,0,0,6,103,1,111],[0,0,0,0,6,105,0,25,0,0,0,0,7,150,0,75,0,0,0,0,7,0,0,25,0,0,0,1,7,0,64,57],[0,0,5,10,8,96,0,156,0,0,18,165,0,0,33,61,0,0,0,1,7,112,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,96,4,63,0,0,0,2,6,32,0,57,0,0,0,8,7,0,0,41,0,0,0,0,6,103,4,54],[0,0,0,33,7,32,0,57,0,0,0,5,7,112,2,114,0,0,1,204,0,0,97,61,0,0,0,0,8,0,0,25],[0,0,0,5,9,128,2,16,0,0,0,0,10,150,0,25,0,0,0,0,9,149,3,79,0,0,0,0,9,9,4,59],[0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,120,0,75,0,0,1,196,0,0,65,61],[0,0,0,0,7,0,0,75,0,0,1,206,0,0,97,61,0,0,0,8,7,0,0,41,0,0,0,0,7,7,4,51],[0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61,0,0,0,0,7,6,4,51,0,0,5,59,7,112,1,151],[0,0,0,248,8,32,2,16,0,0,0,0,7,120,1,159,0,0,5,61,7,112,0,65,0,0,0,0,0,118,4,53],[0,0,0,3,2,32,2,16,0,0,0,248,2,32,0,137,0,0,0,0,1,33,1,207,0,0,0,255,2,32,0,140],[0,0,0,0,1,0,32,25,0,0,0,8,2,0,0,41,0,0,0,33,2,32,0,57,0,0,2,178,0,0,1,61],[0,0,0,0,67,18,0,169,0,0,0,0,66,35,0,217,0,0,0,0,1,18,0,75,0,0,16,208,0,0,193,61],[0,0,0,0,4,0,4,21,0,0,0,11,4,64,0,138,0,0,0,32,4,64,0,201,0,0,0,0,1,0,4,20],[0,11,0,0,0,0,0,29,0,0,0,0,2,3,0,75,0,0,0,237,0,0,97,61,0,0,5,2,2,0,0,65],[0,0,5,2,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,192,1,16,2,16,0,0,5,13,1,16,1,199],[0,0,128,9,2,0,0,57,0,0,128,1,4,0,0,57,0,0,0,0,5,0,0,25,20,1,19,237,0,0,4,15],[0,0,0,0,3,0,4,21,0,0,0,11,3,48,0,138,0,0,0,32,3,48,0,201,0,0,0,245,0,0,1,61],[0,0,0,160,8,128,0,57,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,31,5,80,0,138],[0,0,5,11,9,0,0,65,0,0,0,0,10,88,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,9,128,25],[0,0,5,11,5,80,1,151,0,0,5,11,11,128,1,151,0,0,0,0,12,91,0,75,0,0,0,0,9,0,128,25],[0,0,0,0,5,91,1,63,0,0,5,11,5,80,0,156,0,0,0,0,9,10,192,25,0,0,0,0,5,9,0,75],[0,0,1,39,0,0,193,61,0,0,0,0,2,40,0,25,0,0,0,0,5,33,3,79,0,0,0,0,8,5,4,59],[0,0,5,10,5,128,0,156,0,0,1,39,0,0,33,61,0,0,0,0,5,134,0,73,0,0,0,32,9,32,0,57],[0,0,5,11,2,0,0,65,0,0,0,0,10,89,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,2,32,25],[0,0,5,11,5,80,1,151,0,0,5,11,11,144,1,151,0,0,0,0,12,91,0,75,0,0,0,0,2,0,128,25],[0,0,0,0,5,91,1,63,0,0,5,11,5,80,0,156,0,0,0,0,2,10,192,25,0,0,0,0,2,2,0,75],[0,0,1,39,0,0,193,61,0,0,0,0,2,0,4,20,0,0,5,2,5,32,0,156,0,0,0,187,0,0,33,61],[0,0,128,6,5,64,0,140,0,0,0,0,5,0,0,25,0,0,2,52,0,0,193,61,0,0,0,4,5,128,0,140],[0,0,0,0,5,0,0,25,0,0,2,52,0,0,65,61,0,0,0,0,10,145,3,79,0,0,0,1,5,0,0,57],[0,0,0,0,10,10,4,59,0,0,5,19,10,160,1,151,0,0,5,20,11,160,0,156,0,0,2,51,0,0,97,61],[0,0,5,21,11,160,0,156,0,0,2,51,0,0,97,61,0,0,5,22,11,160,0,156,0,0,2,51,0,0,97,61],[0,0,5,23,5,160,0,156,0,0,0,0,5,0,0,25,0,0,0,1,5,0,96,57,0,0,0,1,5,80,1,143],[0,0,0,0,10,152,0,25,0,0,0,0,6,166,0,75,0,0,0,0,6,0,0,25,0,0,0,1,6,0,64,57],[0,0,0,0,8,138,0,75,0,0,0,1,6,96,65,191,0,0,5,2,8,144,1,151,0,0,0,0,1,129,3,79],[0,0,0,0,8,3,0,75,0,0,3,99,0,0,193,61,0,0,0,1,3,96,1,144,0,0,16,208,0,0,193,61],[0,0,5,25,3,0,0,65,0,0,5,26,6,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,6,3,192,25],[0,0,0,192,2,32,2,16,0,0,5,24,2,32,1,151,0,0,0,0,2,38,1,159,0,0,0,0,3,167,0,73],[0,0,5,2,3,48,1,151,0,0,0,0,1,49,3,223,0,0,0,0,1,33,3,175,0,0,0,0,2,4,0,25],[0,0,3,110,0,0,1,61,0,0,0,0,1,6,4,51,0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,5,2,3,112,0,156,0,0,0,0,7,2,128,25,0,0,0,64,2,112,2,16],[0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,20,3,0,1,4,48,0,0,0,0,7,81,3,79],[0,0,0,0,7,7,4,59,0,0,5,19,7,112,1,151,0,0,5,29,8,112,0,156,0,0,2,255,0,0,193,61],[0,0,0,67,4,64,0,140,0,0,3,120,0,0,33,61,0,0,5,16,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,64,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,5,47,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,48,1,0,0,65,0,0,0,228,0,16,4,63],[0,0,5,49,1,0,0,65,0,0,20,3,0,1,4,48,0,0,0,113,2,16,0,140,0,0,3,9,0,0,193,61],[0,0,0,10,2,0,0,41,0,0,1,196,1,32,0,57,0,0,0,0,1,19,3,79,0,0,0,0,2,36,0,73],[0,0,0,35,2,32,0,138,0,0,0,0,1,1,4,59,0,0,5,11,5,0,0,65,0,0,0,0,6,33,0,75],[0,0,0,0,6,0,0,25,0,0,0,0,6,5,128,25,0,0,5,11,2,32,1,151,0,0,5,11,7,16,1,151],[0,0,0,0,8,39,0,75,0,0,0,0,5,0,128,25,0,0,0,0,2,39,1,63,0,0,5,11,2,32,0,156],[0,0,0,0,5,6,192,25,0,0,0,0,2,5,0,75,0,0,1,39,0,0,193,61,0,0,0,9,1,16,0,41],[0,0,0,0,2,19,3,79,0,0,0,0,2,2,4,59,0,0,5,10,5,32,0,156,0,0,1,39,0,0,33,61],[0,0,0,0,5,36,0,73,0,0,0,32,1,16,0,57,0,0,5,11,6,0,0,65,0,0,0,0,7,81,0,75],[0,0,0,0,7,0,0,25,0,0,0,0,7,6,32,25,0,0,5,11,5,80,1,151,0,0,5,11,8,16,1,151],[0,0,0,0,9,88,0,75,0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,5,11,5,80,0,156],[0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,1,39,0,0,193,61,0,0,0,0,5,18,0,26],[0,0,0,0,2,0,4,20,0,0,16,208,0,0,65,61,0,0,0,0,6,84,0,75,0,0,16,208,0,0,65,61],[0,0,5,67,6,32,0,156,0,0,6,77,0,0,65,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,5,27,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,8,3,0,0,57],[0,0,4,110,0,0,1,61,0,0,5,58,2,144,0,156,0,0,18,165,0,0,33,61,0,0,0,8,6,0,0,41],[0,0,0,64,2,96,0,57,0,0,0,64,0,32,4,63,0,0,0,1,2,0,0,58,0,0,0,0,2,38,4,54],[0,0,0,0,6,80,3,80,0,0,0,0,6,6,4,59,0,0,0,0,0,98,4,53,0,0,12,17,0,0,97,61],[0,0,0,248,7,16,2,16,0,0,5,11,8,0,0,65,0,0,0,0,1,1,0,75,0,0,0,0,8,7,192,25],[0,0,5,59,1,96,1,151,0,0,0,0,1,129,1,159,0,0,0,0,0,18,4,53,0,0,0,64,1,0,4,61],[0,0,0,6,2,0,0,41,0,0,0,96,2,32,0,138,0,0,0,0,6,35,3,79,0,0,0,0,6,6,4,59],[0,0,0,128,7,96,0,140,0,0,3,241,0,0,65,61,0,0,0,128,7,96,2,112,0,0,5,60,8,96,0,156],[0,0,0,0,7,6,160,25,0,0,5,60,8,96,0,156,0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57],[0,0,0,8,9,128,1,191,0,0,5,10,10,112,0,156,0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112],[0,0,5,10,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191,0,0,5,2,7,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,5,2,7,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112],[0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138],[0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,129,0,25,0,0,0,0,9,24,0,75],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,5,10,10,128,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,9,144,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57],[0,0,0,0,8,129,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114,0,0,2,237,0,0,97,61],[0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,184,0,25,0,0,0,0,11,181,3,79],[0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75],[0,0,2,229,0,0,65,61,0,0,0,0,9,0,0,75,0,0,2,239,0,0,97,61,0,0,0,0,9,1,4,51],[0,0,0,0,9,9,0,75,0,0,12,17,0,0,97,61,0,0,0,0,9,8,4,51,0,0,5,59,9,144,1,151],[0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159,0,0,5,61,9,144,0,65,0,0,0,0,0,152,4,53],[0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137,0,0,0,0,6,118,1,207,0,0,0,255,7,112,0,140],[0,0,0,0,6,0,32,25,0,0,0,33,7,16,0,57,0,0,4,1,0,0,1,61,0,0,5,30,1,112,0,156],[0,0,3,118,0,0,97,61,0,0,5,16,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,26,1,0,0,57,0,0,0,164,0,16,4,63,0,0,5,31,1,0,0,65],[0,0,0,194,0,0,1,61,0,0,0,2,2,16,0,140,0,0,3,151,0,0,193,61,0,0,5,56,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,5,2,1,0,0,65,0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,57,1,16,1,199,0,0,128,11,2,0,0,57],[20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,16,244,0,0,97,61,0,0,0,64,3,0,4,61],[0,0,0,0,4,1,4,59,0,0,0,128,1,64,0,140,0,0,4,122,0,0,65,61,0,0,0,128,1,64,2,112],[0,0,5,60,2,64,0,156,0,0,0,0,1,4,160,25,0,0,5,60,2,64,0,156,0,0,0,0,2,0,0,25],[0,0,0,16,2,0,32,57,0,0,0,8,5,32,1,191,0,0,5,10,6,16,0,156,0,0,0,0,5,2,160,25],[0,0,0,64,2,16,2,112,0,0,5,10,6,16,0,156,0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191],[0,0,5,2,6,32,0,156,0,0,0,0,1,5,160,25,0,0,0,32,6,32,2,112,0,0,5,2,5,32,0,156],[0,0,0,0,6,2,160,25,0,0,0,2,5,16,1,191,0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25],[0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25,0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57],[0,0,0,32,1,0,0,138,0,0,0,65,2,80,0,57,0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25],[0,0,0,0,2,49,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,5,10,6,16,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,2,32,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,2,1,80,0,57,0,0,0,0,6,19,4,54,0,0,0,2,1,0,3,103,0,0,0,0,2,0,0,49],[0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114,0,0,3,81,0,0,97,61,0,0,0,0,8,33,3,79],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75],[0,0,3,73,0,0,65,61,0,0,0,0,7,0,0,75,0,0,3,83,0,0,97,61,0,0,0,0,7,3,4,51],[0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61,0,0,0,0,7,6,4,51,0,0,5,59,7,112,1,151],[0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159,0,0,5,61,7,112,0,65,0,0,0,0,0,118,4,53],[0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137,0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140],[0,0,0,0,4,0,32,25,0,0,0,33,5,48,0,57,0,0,4,141,0,0,1,61,0,0,0,1,6,96,1,144],[0,0,16,208,0,0,193,61,0,0,0,0,6,167,0,73,0,0,5,2,6,96,1,151,0,0,0,0,1,97,3,223],[0,0,0,192,2,32,2,16,0,0,5,24,2,32,1,151,0,0,5,25,2,32,1,199,0,0,0,0,1,33,3,175],[0,0,128,9,2,0,0,57,0,0,0,0,6,0,0,25,20,1,19,247,0,0,4,15,0,3,0,0,0,1,3,85],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,1,5,2,0,48,1,157,0,0,5,2,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,4,77,0,0,97,61,0,0,0,0,1,0,0,25,0,0,20,2,0,1,4,46],[0,0,0,4,4,80,0,57,0,0,0,0,5,65,3,79,0,0,0,0,5,5,4,59,0,9,0,0,0,5,0,29],[0,0,5,12,5,80,0,156,0,0,1,39,0,0,33,61,0,0,1,64,3,48,0,138,0,0,0,0,3,49,3,79],[0,0,0,32,4,64,0,57,0,0,0,0,4,65,3,79,0,0,0,0,4,4,4,59,0,8,0,0,0,4,0,29],[0,0,0,0,3,3,4,59,0,0,5,32,4,0,0,65,0,0,0,128,0,64,4,63,0,0,5,12,2,32,1,151],[0,6,0,0,0,2,0,29,0,0,0,132,0,32,4,63,0,0,5,12,2,48,1,151,0,7,0,0,0,2,0,29],[0,0,0,164,0,32,4,63,0,0,0,0,2,0,4,20,0,0,0,9,3,0,0,41,0,0,0,4,3,48,0,140],[0,0,4,217,0,0,193,61,0,0,0,0,1,97,3,79,0,0,0,1,3,0,0,49,0,0,0,32,2,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,5,5,0,0,1,61,0,0,0,1,1,16,0,140],[0,0,4,104,0,0,193,61,0,0,5,56,1,0,0,65,0,0,0,0,0,16,4,57,0,0,5,2,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,57,1,16,1,199,0,0,128,11,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,16,244,0,0,97,61,0,0,0,64,3,0,4,61,0,0,0,0,4,1,4,59,0,0,0,128,1,64,0,140],[0,0,5,45,0,0,65,61,0,0,0,128,1,64,2,112,0,0,5,60,2,64,0,156,0,0,0,0,1,4,160,25],[0,0,5,60,2,64,0,156,0,0,0,0,2,0,0,25,0,0,0,16,2,0,32,57,0,0,0,8,5,32,1,191],[0,0,5,10,6,16,0,156,0,0,0,0,5,2,160,25,0,0,0,64,2,16,2,112,0,0,5,10,6,16,0,156],[0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191,0,0,5,2,6,32,0,156,0,0,0,0,1,5,160,25],[0,0,0,32,6,32,2,112,0,0,5,2,5,32,0,156,0,0,0,0,6,2,160,25,0,0,0,2,5,16,1,191],[0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25],[0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57,0,0,0,32,1,0,0,138,0,0,0,65,2,80,0,57],[0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25,0,0,0,0,2,49,0,75,0,0,0,0,2,0,0,25],[0,0,0,1,2,0,64,57,0,0,5,10,6,16,0,156,0,0,18,165,0,0,33,61,0,0,0,1,2,32,1,144],[0,0,18,165,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,2,1,80,0,57,0,0,0,0,6,19,4,54],[0,0,0,2,1,0,3,103,0,0,0,0,2,0,0,49,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,3,223,0,0,97,61,0,0,0,0,8,33,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,3,215,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,3,225,0,0,97,61,0,0,0,0,7,3,4,51,0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,7,6,4,51,0,0,5,59,7,112,1,151,0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159],[0,0,5,61,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137],[0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140,0,0,0,0,4,0,32,25,0,0,0,33,5,48,0,57],[0,0,5,64,0,0,1,61,0,0,5,58,7,16,0,156,0,0,18,165,0,0,33,61,0,0,0,64,7,16,0,57],[0,0,0,64,0,112,4,63,0,0,0,1,7,0,0,58,0,0,0,0,7,113,4,54,0,0,0,0,8,80,3,80],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,12,17,0,0,97,61,0,0,0,248,9,96,2,16],[0,0,5,11,10,0,0,65,0,0,0,0,6,6,0,75,0,0,0,0,10,9,192,25,0,0,5,59,6,128,1,151],[0,0,0,0,6,166,1,159,0,0,0,0,0,103,4,53,0,0,0,64,2,32,0,138,0,0,0,0,6,35,3,79],[0,0,0,64,2,0,4,61,0,0,0,0,6,6,4,59,0,0,0,128,7,96,0,140,0,0,5,140,0,0,65,61],[0,0,0,128,7,96,2,112,0,0,5,60,8,96,0,156,0,0,0,0,7,6,160,25,0,0,5,60,8,96,0,156],[0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57,0,0,0,8,9,128,1,191,0,0,5,10,10,112,0,156],[0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112,0,0,5,10,10,112,0,156,0,0,0,0,8,7,160,25],[0,0,0,4,10,144,1,191,0,0,5,2,7,128,0,156,0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112],[0,0,5,2,7,128,0,156,0,0,0,0,9,8,160,25,0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140],[0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112,0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140],[0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138,0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111],[0,0,0,0,8,130,0,25,0,0,0,0,9,40,0,75,0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57],[0,0,5,10,10,128,0,156,0,0,18,165,0,0,33,61,0,0,0,1,9,144,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57,0,0,0,0,8,130,4,54,0,0,0,33,9,112,0,57],[0,0,0,5,9,144,2,114,0,0,4,59,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16],[0,0,0,0,12,184,0,25,0,0,0,0,11,181,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53],[0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75,0,0,4,51,0,0,65,61,0,0,0,0,9,0,0,75],[0,0,4,61,0,0,97,61,0,0,0,0,9,2,4,51,0,0,0,0,9,9,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,9,8,4,51,0,0,5,59,9,144,1,151,0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159],[0,0,5,61,9,144,0,65,0,0,0,0,0,152,4,53,0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137],[0,0,0,0,6,118,1,207,0,0,0,255,7,112,0,140,0,0,0,0,6,0,32,25,0,0,0,33,7,32,0,57],[0,0,5,156,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,4,88,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,4,81,0,0,65,61],[0,0,0,0,5,4,0,75,0,0,4,102,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16],[0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,20,3,0,1,4,48],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,5,55,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,23,3,0,0,57,0,0,0,0,0,50,4,53,0,0,5,16,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,5,46,1,16,1,199,0,0,20,3,0,1,4,48,0,0,5,58,1,48,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58,0,0,0,0,5,19,4,54],[0,0,0,0,2,0,0,49,0,0,0,2,1,0,3,103,0,0,0,0,6,33,3,79,0,0,0,0,6,96,3,80],[0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53,0,0,12,17,0,0,97,61,0,0,0,248,7,64,2,16],[0,0,5,11,8,0,0,65,0,0,0,0,4,4,0,75,0,0,0,0,8,7,192,25,0,0,5,59,4,96,1,151],[0,0,0,0,4,132,1,159,0,0,0,0,0,69,4,53,0,0,0,6,5,16,3,96,0,0,0,64,4,0,4,61],[0,0,0,0,5,5,4,59,0,0,0,128,6,80,0,140,0,0,8,32,0,0,65,61,0,0,0,128,6,80,2,112],[0,0,5,60,7,80,0,156,0,0,0,0,6,5,160,25,0,0,5,60,7,80,0,156,0,0,0,0,7,0,0,25],[0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191,0,0,5,10,9,96,0,156,0,0,0,0,8,7,160,25],[0,0,0,64,7,96,2,112,0,0,5,10,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191],[0,0,5,2,6,112,0,156,0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,5,2,6,112,0,156],[0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25],[0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57],[0,0,0,32,7,0,0,138,0,0,0,65,8,96,0,57,0,0,0,0,7,120,1,111,0,0,0,0,7,116,0,25],[0,0,0,0,8,71,0,75,0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,5,10,9,112,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,8,128,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,112,4,63],[0,0,0,2,7,96,0,57,0,0,0,0,7,116,4,54,0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114],[0,0,4,199,0,0,97,61,0,0,0,0,9,33,3,79,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16],[0,0,0,0,12,183,0,25,0,0,0,0,11,185,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53],[0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75,0,0,4,191,0,0,65,61,0,0,0,0,8,0,0,75],[0,0,4,201,0,0,97,61,0,0,0,0,8,4,4,51,0,0,0,0,8,8,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,8,7,4,51,0,0,5,59,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159],[0,0,5,61,8,128,0,65,0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137],[0,0,0,0,5,101,1,207,0,0,0,255,6,96,0,140,0,0,0,0,5,0,32,25,0,0,0,33,6,64,0,57],[0,0,8,49,0,0,1,61,0,0,5,2,1,0,0,65,0,0,5,2,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,33,1,16,1,199,0,0,0,9,2,0,0,41,20,1,19,242,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,5,2,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,4,242,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,4,234,0,0,65,61,0,0,0,0,7,5,0,75,0,0,5,1,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,6,42,0,0,97,61,0,0,0,31,2,64,0,57,0,0,0,96,5,32,1,143,0,0,0,128,2,80,1,191],[0,0,0,64,0,32,4,63,0,0,0,32,4,48,0,140,0,0,1,39,0,0,65,61,0,0,0,128,4,0,4,61],[0,0,0,8,4,64,0,108,0,0,3,118,0,0,129,61,0,0,0,160,4,80,0,57,0,0,5,34,6,0,0,65],[0,0,0,0,0,100,4,53,0,0,0,164,6,80,0,57,0,0,0,7,7,0,0,41,0,0,0,0,0,118,4,53],[0,0,0,196,6,80,0,57,0,0,0,0,0,6,4,53,0,0,0,68,6,0,0,57,0,1,0,0,0,6,0,29],[0,0,0,0,0,98,4,53,0,0,1,64,6,80,0,57,0,0,0,64,0,96,4,63,0,0,1,32,7,80,0,57],[0,0,5,35,6,0,0,65,0,3,0,0,0,7,0,29,0,0,0,0,0,103,4,53,0,0,1,0,6,80,1,191],[0,0,0,32,5,0,0,57,0,4,0,0,0,5,0,29,0,2,0,0,0,6,0,29,0,0,0,0,0,86,4,53],[0,0,0,0,5,2,4,51,0,0,0,0,2,0,4,20,0,0,0,9,6,0,0,41,0,0,0,4,6,96,0,140],[0,0,8,127,0,0,193,61,0,0,0,1,2,0,0,57,0,0,5,10,4,48,0,156,0,0,18,165,0,0,33,61],[0,0,8,147,0,0,1,61,0,0,5,58,1,48,0,156,0,0,18,165,0,0,33,61,0,0,0,64,1,48,0,57],[0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58,0,0,0,0,5,19,4,54,0,0,0,0,2,0,0,49],[0,0,0,2,1,0,3,103,0,0,0,0,6,33,3,79,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59],[0,0,0,0,0,101,4,53,0,0,12,17,0,0,97,61,0,0,0,248,7,64,2,16,0,0,5,11,8,0,0,65],[0,0,0,0,4,4,0,75,0,0,0,0,8,7,192,25,0,0,5,59,4,96,1,151,0,0,0,0,4,132,1,159],[0,0,0,0,0,69,4,53,0,0,0,6,5,16,3,96,0,0,0,64,4,0,4,61,0,0,0,0,5,5,4,59],[0,0,0,128,6,80,0,140,0,0,8,225,0,0,65,61,0,0,0,128,6,80,2,112,0,0,5,60,7,80,0,156],[0,0,0,0,6,5,160,25,0,0,5,60,7,80,0,156,0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57],[0,0,0,8,8,112,1,191,0,0,5,10,9,96,0,156,0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112],[0,0,5,10,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191,0,0,5,2,6,112,0,156],[0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,5,2,6,112,0,156,0,0,0,0,8,7,160,25],[0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112],[0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57,0,0,0,32,7,0,0,138],[0,0,0,65,8,96,0,57,0,0,0,0,7,120,1,111,0,0,0,0,7,116,0,25,0,0,0,0,8,71,0,75],[0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,5,10,9,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,8,128,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57],[0,0,0,0,7,116,4,54,0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114,0,0,5,122,0,0,97,61],[0,0,0,0,9,33,3,79,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,183,0,25],[0,0,0,0,11,185,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57],[0,0,0,0,11,138,0,75,0,0,5,114,0,0,65,61,0,0,0,0,8,0,0,75,0,0,5,124,0,0,97,61],[0,0,0,0,8,4,4,51,0,0,0,0,8,8,0,75,0,0,12,17,0,0,97,61,0,0,0,0,8,7,4,51],[0,0,5,59,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159,0,0,5,61,8,128,0,65],[0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137,0,0,0,0,5,101,1,207],[0,0,0,255,6,96,0,140,0,0,0,0,5,0,32,25,0,0,0,33,6,64,0,57,0,0,8,242,0,0,1,61],[0,0,5,58,7,32,0,156,0,0,18,165,0,0,33,61,0,0,0,64,7,32,0,57,0,0,0,64,0,112,4,63],[0,0,0,1,7,0,0,58,0,0,0,0,7,114,4,54,0,0,0,0,8,80,3,80,0,0,0,0,8,8,4,59],[0,0,0,0,0,135,4,53,0,0,12,17,0,0,97,61,0,0,0,248,9,96,2,16,0,0,5,11,10,0,0,65],[0,0,0,0,6,6,0,75,0,0,0,0,10,9,192,25,0,0,5,59,6,128,1,151,0,0,0,0,6,166,1,159],[0,0,0,0,0,103,4,53,0,0,0,64,6,0,4,61,0,6,0,0,0,6,0,29,0,0,0,32,7,96,0,57],[0,0,0,0,6,1,4,51,0,0,0,0,8,6,0,75,0,0,5,171,0,0,97,61,0,0,0,0,8,0,0,25],[0,0,0,0,9,120,0,25,0,0,0,32,8,128,0,57,0,0,0,0,10,24,0,25,0,0,0,0,10,10,4,51],[0,0,0,0,0,169,4,53,0,0,0,0,9,104,0,75,0,0,5,164,0,0,65,61,0,0,0,0,1,118,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,7,2,4,51,0,0,0,0,8,7,0,75,0,0,5,184,0,0,97,61],[0,0,0,0,8,0,0,25,0,0,0,0,9,24,0,25,0,0,0,32,8,128,0,57,0,0,0,0,10,40,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,169,4,53,0,0,0,0,9,120,0,75,0,0,5,177,0,0,65,61],[0,0,0,0,1,23,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,103,0,25,0,0,0,6,6,0,0,41],[0,0,0,0,0,22,4,53,0,0,0,63,1,16,0,57,0,2,0,32,0,0,0,146,0,0,0,2,1,16,1,127],[0,0,0,0,2,97,0,25,0,0,0,0,1,18,0,75,0,0,0,0,1,0,0,25,0,0,0,1,1,0,64,57],[0,5,0,0,0,2,0,29,0,0,5,10,2,32,0,156,0,0,18,165,0,0,33,61,0,0,0,1,1,16,1,144],[0,0,18,165,0,0,193,61,0,0,0,5,1,0,0,41,0,0,0,64,0,16,4,63,0,0,5,58,1,16,0,156],[0,0,18,165,0,0,33,61,0,0,0,10,7,0,0,41,0,0,0,68,1,112,0,57,0,0,0,0,1,19,3,79],[0,0,0,0,1,1,4,59,0,0,0,5,8,0,0,41,0,0,0,64,2,128,0,57,0,0,0,64,0,32,4,63],[0,0,0,32,2,128,0,57,0,0,5,62,6,0,0,65,0,0,0,0,0,98,4,53,0,0,0,21,2,0,0,57],[0,0,0,0,0,40,4,53,0,0,0,96,1,16,2,16,0,0,0,33,2,128,0,57,0,0,0,0,0,18,4,53],[0,0,1,36,1,112,0,57,0,0,0,0,2,19,3,79,0,0,0,64,6,0,4,61,0,4,0,0,0,6,0,29],[0,0,0,0,2,2,4,59,0,0,0,128,6,32,0,140,0,0,9,223,0,0,65,61,0,0,0,128,6,32,2,112],[0,0,5,60,7,32,0,156,0,0,0,0,6,2,160,25,0,0,5,60,7,32,0,156,0,0,0,0,7,0,0,25],[0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191,0,0,5,10,9,96,0,156,0,0,0,0,8,7,160,25],[0,0,0,64,7,96,2,112,0,0,5,10,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191],[0,0,5,2,6,112,0,156,0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,5,2,6,112,0,156],[0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25],[0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57],[0,0,0,65,7,96,0,57,0,0,0,2,7,112,1,127,0,0,0,4,7,112,0,41,0,0,0,4,8,112,0,108],[0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,5,10,9,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,8,128,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57],[0,0,0,4,8,0,0,41,0,0,0,0,7,120,4,54,0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114],[0,0,6,22,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,167,0,25],[0,0,0,0,10,165,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57],[0,0,0,0,10,137,0,75,0,0,6,14,0,0,65,61,0,0,0,0,8,0,0,75,0,0,6,24,0,0,97,61],[0,0,0,4,8,0,0,41,0,0,0,0,8,8,4,51,0,0,0,0,8,8,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,8,7,4,51,0,0,5,59,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159],[0,0,5,61,8,128,0,65,0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137],[0,0,0,0,2,98,1,207,0,0,0,255,6,96,0,140,0,0,0,0,2,0,32,25,0,0,0,4,6,0,0,41],[0,0,0,33,6,96,0,57,0,0,9,241,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,6,55,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,6,47,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,6,70,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,5,2,1,0,0,65,0,0,5,2,4,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159],[0,0,20,3,0,1,4,48,0,0,5,2,1,16,1,151,0,0,0,0,1,19,3,79,0,0,0,0,3,84,0,73],[0,0,5,2,3,48,1,151,0,0,0,0,1,49,3,223,0,0,0,192,2,32,2,16,0,0,5,24,2,32,1,151],[0,0,5,26,2,32,1,199,0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57,20,1,19,252,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,1,5,2,0,48,1,157,0,0,5,2,5,48,1,151],[0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144,0,0,9,64,0,0,97,61,0,0,0,63,2,80,0,57],[0,0,5,54,2,32,1,151,0,0,0,64,6,0,4,61,0,0,0,0,2,38,0,25,0,0,0,0,3,98,0,75],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,5,10,4,32,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,3,48,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,32,4,63,0,0,0,0,4,86,4,54],[0,0,0,2,2,0,3,103,0,0,0,0,3,0,0,49,0,0,0,31,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,6,123,0,0,97,61,0,0,0,0,8,50,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,164,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,6,115,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,6,125,0,0,97,61,0,0,0,31,7,80,1,143,0,0,0,5,5,80,2,114,0,0,6,137,0,0,97,61],[0,0,0,0,8,0,0,25,0,0,0,5,9,128,2,16,0,0,0,0,10,148,0,25,0,0,0,0,9,145,3,79],[0,0,0,0,9,9,4,59,0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,88,0,75],[0,0,6,129,0,0,65,61,0,0,0,0,8,7,0,75,0,0,6,152,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,84,0,25,0,0,0,3,7,112,2,16,0,0,0,0,8,5,4,51],[0,0,0,0,8,120,1,207,0,0,0,0,8,120,2,47,0,0,0,0,1,1,4,59,0,0,1,0,7,112,0,137],[0,0,0,0,1,113,2,47,0,0,0,0,1,113,1,207,0,0,0,0,1,129,1,159,0,0,0,0,0,21,4,53],[0,0,0,0,1,6,4,51,0,0,0,32,1,16,0,140,0,0,9,216,0,0,193,61,0,0,0,10,6,0,0,41],[0,0,0,0,1,99,0,73,0,0,0,35,5,16,0,138,0,8,2,4,0,96,0,61,0,0,0,8,1,32,3,96],[0,0,0,0,1,1,4,59,0,0,5,11,6,0,0,65,0,0,0,0,7,81,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,128,25,0,0,5,11,5,80,1,151,0,0,5,11,8,16,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,5,11,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,1,39,0,0,193,61,0,0,0,0,4,4,4,51,0,5,0,0,0,4,0,29],[0,0,0,9,1,16,0,41,0,0,0,0,4,18,3,79,0,0,0,0,5,4,4,59,0,0,5,10,4,80,0,156],[0,0,1,39,0,0,33,61,0,0,0,5,4,80,2,16,0,0,0,0,3,67,0,73,0,0,0,32,6,16,0,57],[0,0,5,11,1,0,0,65,0,0,0,0,7,54,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,1,32,25],[0,0,5,11,3,48,1,151,0,0,5,11,8,96,1,151,0,0,0,0,9,56,0,75,0,0,0,0,1,0,128,25],[0,0,0,0,3,56,1,63,0,0,5,11,3,48,0,156,0,0,0,0,1,7,192,25,0,0,0,0,1,1,0,75],[0,0,1,39,0,0,193,61,0,0,0,64,1,0,4,61,0,0,0,32,3,16,0,57,0,0,5,68,5,80,1,152],[0,0,6,211,0,0,97,61,0,0,0,0,2,98,3,79,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,115,0,25,0,0,0,0,7,114,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,6,203,0,0,65,61,0,0,0,0,2,0,0,75],[0,0,6,213,0,0,97,61,0,0,0,0,0,65,4,53,0,0,0,63,2,64,0,57,0,0,0,32,4,0,0,138],[0,0,0,0,2,66,1,111,0,0,0,0,2,33,0,25,0,0,0,0,4,18,0,75,0,0,0,0,4,0,0,25],[0,0,0,1,4,0,64,57,0,0,5,10,5,32,0,156,0,0,18,165,0,0,33,61,0,0,0,1,4,64,1,144],[0,0,18,165,0,0,193,61,0,0,0,64,0,32,4,63,0,0,5,2,2,0,0,65,0,0,5,2,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,0,64,3,48,2,16,0,0,0,0,1,1,4,51,0,0,5,2,4,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20],[0,0,5,2,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159],[0,0,5,13,1,16,1,199,0,0,128,16,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,39,0,0,97,61,0,0,0,0,2,0,0,49,0,0,0,10,3,32,0,106,0,0,0,35,5,48,0,138],[0,0,0,8,3,0,0,41,0,0,0,32,4,48,0,57,0,0,0,2,3,0,3,103,0,0,0,0,4,67,3,79],[0,0,0,0,4,4,4,59,0,0,5,11,6,0,0,65,0,0,0,0,7,84,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,128,25,0,0,5,11,5,80,1,151,0,0,5,11,8,64,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,5,11,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,1,1,4,59,0,8,0,0,0,1,0,29,0,0,0,0,1,6,0,75,0,0,1,39,0,0,193,61],[0,0,0,9,1,64,0,41,0,0,0,0,4,19,3,79,0,0,0,0,4,4,4,59,0,0,5,10,5,64,0,156],[0,0,1,39,0,0,33,61,0,0,0,0,5,66,0,73,0,0,0,32,1,16,0,57,0,0,5,11,6,0,0,65],[0,0,0,0,7,81,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,6,32,25,0,0,5,11,5,80,1,151],[0,0,5,11,8,16,1,151,0,0,0,0,9,88,0,75,0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63],[0,0,5,11,5,80,0,156,0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,1,39,0,0,193,61],[0,0,0,0,5,20,0,26,0,0,0,0,4,0,4,20,0,0,16,208,0,0,65,61,0,0,0,0,6,82,0,75],[0,0,16,208,0,0,65,61,0,0,5,2,6,64,0,156,0,0,2,154,0,0,33,61,0,0,5,2,1,16,1,151],[0,0,0,0,1,19,3,79,0,0,0,0,2,82,0,73,0,0,5,2,2,32,1,151,0,0,0,0,1,33,3,223],[0,0,0,192,2,64,2,16,0,0,5,24,2,32,1,151,0,0,5,26,2,32,1,199,0,0,0,0,1,33,3,175],[0,0,128,16,2,0,0,57,20,1,19,252,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,1,5,2,0,48,1,157,0,0,5,2,3,48,1,151,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,17,218,0,0,97,61,0,0,0,63,2,48,0,57,0,0,5,54,2,32,1,151,0,0,0,64,5,0,4,61],[0,0,0,0,2,37,0,25,0,0,0,0,4,82,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57],[0,0,5,10,6,32,0,156,0,0,18,165,0,0,33,61,0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,32,4,63,0,0,0,0,2,53,4,54,0,0,0,2,4,0,3,103,0,0,0,31,6,48,0,57],[0,0,0,5,6,96,2,114,0,0,7,84,0,0,97,61,0,0,0,0,7,64,3,104,0,0,0,0,8,0,0,25],[0,0,0,5,9,128,2,16,0,0,0,0,10,146,0,25,0,0,0,0,9,151,3,79,0,0,0,0,9,9,4,59],[0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,104,0,75,0,0,7,76,0,0,65,61],[0,0,0,0,6,0,0,75,0,0,7,86,0,0,97,61,0,0,0,31,6,48,1,143,0,0,0,5,3,48,2,114],[0,0,7,98,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,130,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,55,0,75,0,0,7,90,0,0,65,61,0,0,0,0,7,6,0,75,0,0,7,113,0,0,97,61],[0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,50,0,25,0,0,0,3,6,96,2,16],[0,0,0,0,7,3,4,51,0,0,0,0,7,103,1,207,0,0,0,0,7,103,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,6,96,0,137,0,0,0,0,1,97,2,47,0,0,0,0,1,97,1,207,0,0,0,0,1,113,1,159],[0,0,0,0,0,19,4,53,0,0,0,0,1,5,4,51,0,0,0,32,1,16,0,140,0,0,9,216,0,0,193,61],[0,0,0,10,12,0,0,41,0,0,0,100,1,192,0,57,0,0,0,0,1,20,3,79,0,0,0,68,3,192,0,57],[0,0,0,0,5,52,3,79,0,0,0,36,3,192,0,57,0,0,0,0,6,52,3,79,0,0,1,36,3,192,0,57],[0,0,0,0,7,52,3,79,0,0,0,6,8,64,3,96,0,0,0,228,3,192,0,57,0,0,0,0,9,52,3,79],[0,0,0,196,3,192,0,57,0,0,0,0,10,52,3,79,0,0,0,164,3,192,0,57,0,0,0,0,11,52,3,79],[0,0,0,132,3,192,0,57,0,0,0,0,12,52,3,79,0,0,0,9,3,64,3,96,0,0,0,0,3,3,4,59],[0,0,0,0,4,6,4,59,0,0,0,0,5,5,4,59,0,0,0,0,6,1,4,59,0,0,0,0,12,12,4,59],[0,0,0,0,11,11,4,59,0,0,0,0,10,10,4,59,0,0,0,0,9,9,4,59,0,0,0,0,8,8,4,59],[0,0,0,0,7,7,4,59,0,0,0,0,2,2,4,51,0,0,0,64,1,0,4,61,0,0,1,192,13,16,0,57],[0,0,0,0,0,45,4,53,0,0,1,160,2,16,0,57,0,0,0,8,13,0,0,41,0,0,0,0,0,210,4,53],[0,0,1,128,2,16,0,57,0,0,0,5,13,0,0,41,0,0,0,0,0,210,4,53,0,0,1,96,2,16,0,57],[0,0,0,0,0,114,4,53,0,0,1,64,2,16,0,57,0,0,0,0,0,130,4,53,0,0,1,32,2,16,0,57],[0,0,0,0,0,146,4,53,0,0,1,0,2,16,0,57,0,0,0,0,0,162,4,53,0,0,0,224,2,16,0,57],[0,0,0,0,0,178,4,53,0,0,0,192,2,16,0,57,0,0,0,0,0,194,4,53,0,0,0,160,2,16,0,57],[0,0,0,0,0,98,4,53,0,0,0,128,2,16,0,57,0,0,0,0,0,82,4,53,0,0,0,96,2,16,0,57],[0,0,0,0,0,66,4,53,0,0,0,64,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,32,2,16,0,57],[0,0,5,70,3,0,0,65,0,0,0,0,0,50,4,53,0,0,1,192,3,0,0,57,0,0,0,0,0,49,4,53],[0,0,5,71,3,16,0,156,0,0,18,165,0,0,33,61,0,0,1,224,3,16,0,57,0,0,0,64,0,48,4,63],[0,0,5,2,4,0,0,65,0,0,5,2,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16],[0,0,0,0,1,1,4,51,0,0,5,2,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,13,1,16,1,199,0,0,128,16,2,0,0,57],[20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,39,0,0,97,61,0,0,0,0,1,1,4,59],[0,6,0,0,0,1,0,29,0,0,0,64,1,0,4,61,0,8,0,0,0,1,0,29,0,0,5,56,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20,0,0,5,2,2,16,0,156,0,0,5,2,1,0,128,65],[0,0,0,192,1,16,2,16,0,0,5,57,1,16,1,199,0,0,128,11,2,0,0,57,20,1,19,242,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,16,244,0,0,97,61,0,0,0,8,4,0,0,41,0,0,0,32,2,64,0,57],[0,0,0,0,1,1,4,59,0,0,5,72,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,128,3,64,0,57],[0,0,0,0,0,19,4,53,0,0,0,96,1,64,0,57,0,0,5,73,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,64,1,64,0,57,0,0,5,74,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,128,1,0,0,57],[0,0,0,0,0,20,4,53,0,0,5,75,1,64,0,156,0,0,18,165,0,0,33,61,0,0,0,8,4,0,0,41],[0,0,0,160,1,64,0,57,0,0,0,64,0,16,4,63,0,0,5,2,1,0,0,65,0,0,5,2,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,2,32,2,16,0,0,0,0,3,4,4,51,0,0,5,2,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20],[0,0,5,2,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159],[0,0,5,13,1,16,1,199,0,0,128,16,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,39,0,0,97,61,0,0,0,0,3,1,4,59,0,0,0,64,1,0,4,61,0,0,0,66,2,16,0,57],[0,0,0,6,4,0,0,41,0,0,0,0,0,66,4,53,0,0,0,32,2,16,0,57,0,0,5,76,4,0,0,65],[0,0,0,0,0,66,4,53,0,0,0,34,4,16,0,57,0,0,0,0,0,52,4,53,0,0,0,66,3,0,0,57],[0,0,0,0,0,49,4,53,0,0,5,41,3,16,0,156,0,0,18,165,0,0,33,61,0,0,0,128,3,16,0,57],[0,0,0,64,0,48,4,63,0,0,5,2,3,0,0,65,0,0,5,2,4,32,0,156,0,0,0,0,2,3,128,25],[0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,5,2,4,16,0,156,0,0,0,0,1,3,128,25],[0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,5,2,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,16,175,0,0,1,61],[0,0,5,58,6,64,0,156,0,0,18,165,0,0,33,61,0,0,0,64,6,64,0,57,0,0,0,64,0,96,4,63],[0,0,0,0,7,33,3,79,0,0,0,1,6,0,0,58,0,0,0,0,6,100,4,54,0,0,0,0,7,112,3,80],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,12,17,0,0,97,61,0,0,0,248,8,80,2,16],[0,0,5,11,9,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,9,8,192,25,0,0,5,59,5,112,1,151],[0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53,0,0,0,64,5,0,4,61,0,0,0,6,6,0,0,41],[0,0,0,64,7,96,0,138,0,0,0,0,6,113,3,79,0,0,0,0,6,6,4,59,0,0,0,128,8,96,0,140],[0,0,9,122,0,0,65,61,0,0,0,128,8,96,2,112,0,0,5,60,9,96,0,156,0,0,0,0,8,6,160,25],[0,0,5,60,9,96,0,156,0,0,0,0,9,0,0,25,0,0,0,16,9,0,32,57,0,0,0,8,10,144,1,191],[0,0,5,10,11,128,0,156,0,0,0,0,10,9,160,25,0,0,0,64,9,128,2,112,0,0,5,10,11,128,0,156],[0,0,0,0,9,8,160,25,0,0,0,4,11,160,1,191,0,0,5,2,8,144,0,156,0,0,0,0,11,10,160,25],[0,0,0,32,10,144,2,112,0,0,5,2,8,144,0,156,0,0,0,0,10,9,160,25,0,0,0,2,8,176,1,191],[0,0,255,255,9,160,0,140,0,0,0,0,8,11,160,25,0,0,0,16,9,160,2,112,0,0,0,0,9,10,160,25],[0,0,0,255,9,144,0,140,0,0,0,1,8,128,32,57,0,0,0,32,9,0,0,138,0,0,0,65,10,128,0,57],[0,0,0,0,9,154,1,111,0,0,0,0,9,149,0,25,0,0,0,0,10,89,0,75,0,0,0,0,10,0,0,25],[0,0,0,1,10,0,64,57,0,0,5,10,11,144,0,156,0,0,18,165,0,0,33,61,0,0,0,1,10,160,1,144],[0,0,18,165,0,0,193,61,0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,57,0,0,0,0,9,149,4,54],[0,0,0,33,10,128,0,57,0,0,0,5,10,160,2,114,0,0,8,109,0,0,97,61,0,0,0,0,11,33,3,79],[0,0,0,0,12,0,0,25,0,0,0,5,13,192,2,16,0,0,0,0,14,217,0,25,0,0,0,0,13,219,3,79],[0,0,0,0,13,13,4,59,0,0,0,0,0,222,4,53,0,0,0,1,12,192,0,57,0,0,0,0,13,172,0,75],[0,0,8,101,0,0,65,61,0,0,0,0,10,0,0,75,0,0,8,111,0,0,97,61,0,0,0,0,10,5,4,51],[0,0,0,0,10,10,0,75,0,0,12,17,0,0,97,61,0,0,0,0,10,9,4,51,0,0,5,59,10,160,1,151],[0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159,0,0,5,61,10,160,0,65,0,0,0,0,0,169,4,53],[0,0,0,3,8,128,2,16,0,0,0,248,8,128,0,137,0,0,0,0,6,134,1,207,0,0,0,255,8,128,0,140],[0,0,0,0,6,0,32,25,0,0,0,33,8,80,0,57,0,0,9,139,0,0,1,61,0,0,5,2,1,0,0,65],[0,0,5,2,3,80,0,156,0,0,0,0,5,1,128,25,0,0,0,96,3,80,2,16,0,0,0,64,4,64,2,16],[0,0,0,0,3,67,1,159,0,0,5,2,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,0,1,19,1,159,0,0,0,9,2,0,0,41,20,1,19,237,0,0,4,15,0,5,0,96,0,0,0,61],[0,0,0,1,2,32,1,143,0,3,0,0,0,1,3,85,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,1,5,2,0,48,1,157,0,0,5,2,3,48,1,152,0,0,8,191,0,0,97,61,0,0,0,63,4,48,0,57],[0,0,0,32,5,0,0,138,0,0,0,0,4,84,1,111,0,0,0,64,5,0,4,61,0,0,0,0,4,69,0,25],[0,5,0,0,0,5,0,29,0,0,0,0,5,84,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,5,10,6,64,0,156,0,0,18,165,0,0,33,61,0,0,0,1,5,80,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,31,4,48,1,143,0,0,0,5,5,0,0,41,0,0,0,0,8,53,4,54],[0,0,0,5,3,48,2,114,0,0,8,175,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,104,0,25,0,0,0,0,6,97,3,79,0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,53,0,75,0,0,8,167,0,0,65,61,0,10,0,0,0,8,0,29],[0,0,0,0,5,4,0,75,0,0,8,191,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79],[0,0,0,10,3,48,0,41,0,0,0,3,4,64,2,16,0,0,0,0,5,3,4,51,0,0,0,0,5,69,1,207],[0,0,0,0,5,69,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,19,4,53,0,0,0,5,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,0,2,2,0,75,0,0,9,91,0,0,193,61,0,0,0,0,2,1,0,75],[0,0,8,217,0,0,193,61,0,0,0,64,4,0,4,61,0,10,0,0,0,4,0,29,0,0,5,16,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,4,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,0,2,1,0,0,41,0,0,0,0,3,1,4,51,0,9,0,0,0,3,0,29,0,0,0,36,1,64,0,57],[0,0,0,0,0,49,4,53,0,0,0,68,2,64,0,57,0,0,0,3,1,0,0,41,20,1,19,223,0,0,4,15],[0,0,0,9,1,0,0,41,0,0,0,31,1,16,0,57,0,0,0,32,2,0,0,138,0,0,0,0,1,33,1,111],[0,0,0,68,1,16,0,57,0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,10,4,0,0,41,0,0,5,2,3,64,0,156,0,0,0,0,4,2,128,25,0,0,0,64,2,64,2,16],[0,0,2,84,0,0,1,61,0,0,5,58,6,64,0,156,0,0,18,165,0,0,33,61,0,0,0,64,6,64,0,57],[0,0,0,64,0,96,4,63,0,0,0,0,7,33,3,79,0,0,0,1,6,0,0,58,0,0,0,0,6,100,4,54],[0,0,0,0,7,112,3,80,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,12,17,0,0,97,61],[0,0,0,248,8,80,2,16,0,0,5,11,9,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,9,8,192,25],[0,0,5,59,5,112,1,151,0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53,0,0,0,64,5,0,4,61],[0,0,0,6,6,0,0,41,0,0,0,96,6,96,0,138,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,128,8,112,0,140,0,0,10,55,0,0,65,61,0,0,0,128,8,112,2,112,0,0,5,60,9,112,0,156],[0,0,0,0,8,7,160,25,0,0,5,60,9,112,0,156,0,0,0,0,9,0,0,25,0,0,0,16,9,0,32,57],[0,0,0,8,10,144,1,191,0,0,5,10,11,128,0,156,0,0,0,0,10,9,160,25,0,0,0,64,9,128,2,112],[0,0,5,10,11,128,0,156,0,0,0,0,9,8,160,25,0,0,0,4,11,160,1,191,0,0,5,2,8,144,0,156],[0,0,0,0,11,10,160,25,0,0,0,32,10,144,2,112,0,0,5,2,8,144,0,156,0,0,0,0,10,9,160,25],[0,0,0,2,8,176,1,191,0,0,255,255,9,160,0,140,0,0,0,0,8,11,160,25,0,0,0,16,9,160,2,112],[0,0,0,0,9,10,160,25,0,0,0,255,9,144,0,140,0,0,0,1,8,128,32,57,0,0,0,32,9,0,0,138],[0,0,0,65,10,128,0,57,0,0,0,0,9,154,1,111,0,0,0,0,9,149,0,25,0,0,0,0,10,89,0,75],[0,0,0,0,10,0,0,25,0,0,0,1,10,0,64,57,0,0,5,10,11,144,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,10,160,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,57],[0,0,0,0,9,149,4,54,0,0,0,33,10,128,0,57,0,0,0,5,10,160,2,114,0,0,9,46,0,0,97,61],[0,0,0,0,11,33,3,79,0,0,0,0,12,0,0,25,0,0,0,5,13,192,2,16,0,0,0,0,14,217,0,25],[0,0,0,0,13,219,3,79,0,0,0,0,13,13,4,59,0,0,0,0,0,222,4,53,0,0,0,1,12,192,0,57],[0,0,0,0,13,172,0,75,0,0,9,38,0,0,65,61,0,0,0,0,10,0,0,75,0,0,9,48,0,0,97,61],[0,0,0,0,10,5,4,51,0,0,0,0,10,10,0,75,0,0,12,17,0,0,97,61,0,0,0,0,10,9,4,51],[0,0,5,59,10,160,1,151,0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159,0,0,5,61,10,160,0,65],[0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,0,137,0,0,0,0,7,135,1,207],[0,0,0,255,8,128,0,140,0,0,0,0,7,0,32,25,0,0,0,33,8,80,0,57,0,0,10,72,0,0,1,61],[0,0,0,31,3,80,1,143,0,0,0,5,2,80,2,114,0,0,9,75,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,5,6,64,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,0,1,4,64,0,57,0,0,0,0,6,36,0,75,0,0,9,68,0,0,65,61,0,0,0,0,4,3,0,75],[0,0,9,89,0,0,97,61,0,0,0,3,3,48,2,16,0,0,0,5,2,32,2,16,0,0,0,0,4,2,4,51],[0,0,0,0,4,52,1,207,0,0,0,0,4,52,2,47,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59],[0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47,0,0,0,0,1,49,1,207,0,0,0,0,1,65,1,159],[0,0,0,0,0,18,4,53,0,0,0,96,1,80,2,16,0,0,20,3,0,1,4,48,0,0,0,0,2,1,0,75],[0,0,10,248,0,0,193,61,0,0,5,36,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,9,1,0,0,41],[0,0,0,4,0,16,4,67,0,0,5,2,1,0,0,65,0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,37,1,16,1,199,0,0,128,2,2,0,0,57],[20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,16,244,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,10,244,0,0,193,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,5,45,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,29,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,5,16,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57],[0,0,0,4,3,0,0,41,0,0,4,115,0,0,1,61,0,0,5,58,8,80,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,8,80,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58],[0,0,0,0,8,133,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53],[0,0,12,17,0,0,97,61,0,0,0,248,10,96,2,16,0,0,5,11,11,0,0,65,0,0,0,0,6,6,0,75],[0,0,0,0,11,10,192,25,0,0,5,59,6,144,1,151,0,0,0,0,6,182,1,159,0,0,0,0,0,104,4,53],[0,0,0,64,6,0,4,61,0,0,0,32,7,112,0,138,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59],[0,0,0,128,9,128,0,140,0,0,10,149,0,0,65,61,0,0,0,128,9,128,2,112,0,0,5,60,10,128,0,156],[0,0,0,0,9,8,160,25,0,0,5,60,10,128,0,156,0,0,0,0,10,0,0,25,0,0,0,16,10,0,32,57],[0,0,0,8,11,160,1,191,0,0,5,10,12,144,0,156,0,0,0,0,11,10,160,25,0,0,0,64,10,144,2,112],[0,0,5,10,12,144,0,156,0,0,0,0,10,9,160,25,0,0,0,4,12,176,1,191,0,0,5,2,9,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,32,11,160,2,112,0,0,5,2,9,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,2,9,192,1,191,0,0,255,255,10,176,0,140,0,0,0,0,9,12,160,25,0,0,0,16,10,176,2,112],[0,0,0,0,10,11,160,25,0,0,0,255,10,160,0,140,0,0,0,1,9,144,32,57,0,0,0,32,10,0,0,138],[0,0,0,65,11,144,0,57,0,0,0,0,10,171,1,111,0,0,0,0,10,166,0,25,0,0,0,0,11,106,0,75],[0,0,0,0,11,0,0,25,0,0,0,1,11,0,64,57,0,0,5,10,12,160,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,11,176,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,160,4,63,0,0,0,2,10,144,0,57],[0,0,0,0,10,166,4,54,0,0,0,33,11,144,0,57,0,0,0,5,11,176,2,114,0,0,9,198,0,0,97,61],[0,0,0,0,12,33,3,79,0,0,0,0,13,0,0,25,0,0,0,5,14,208,2,16,0,0,0,0,15,234,0,25],[0,0,0,0,14,236,3,79,0,0,0,0,14,14,4,59,0,0,0,0,0,239,4,53,0,0,0,1,13,208,0,57],[0,0,0,0,14,189,0,75,0,0,9,190,0,0,65,61,0,0,0,0,11,0,0,75,0,0,9,200,0,0,97,61],[0,0,0,0,11,6,4,51,0,0,0,0,11,11,0,75,0,0,12,17,0,0,97,61,0,0,0,0,11,10,4,51],[0,0,5,59,11,176,1,151,0,0,0,248,12,144,2,16,0,0,0,0,11,188,1,159,0,0,5,61,11,176,0,65],[0,0,0,0,0,186,4,53,0,0,0,3,9,144,2,16,0,0,0,248,9,144,0,137,0,0,0,0,8,152,1,207],[0,0,0,255,9,144,0,140,0,0,0,0,8,0,32,25,0,0,0,33,9,96,0,57,0,0,10,166,0,0,1,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,5,69,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,4,110,0,0,1,61,0,0,0,4,6,0,0,41],[0,0,5,58,6,96,0,156,0,0,18,165,0,0,33,61,0,0,0,4,7,0,0,41,0,0,0,64,6,112,0,57],[0,0,0,64,0,96,4,63,0,0,0,1,6,0,0,58,0,0,0,0,6,103,4,54,0,0,0,0,7,80,3,80],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,12,17,0,0,97,61,0,0,0,248,8,32,2,16],[0,0,5,11,9,0,0,65,0,0,0,0,2,2,0,75,0,0,0,0,9,8,192,25,0,0,5,59,2,112,1,151],[0,0,0,0,2,146,1,159,0,0,0,0,0,38,4,53,0,0,0,9,6,64,0,106,0,0,0,160,1,16,0,57],[0,0,0,0,2,19,3,79,0,0,0,0,2,2,4,59,0,0,0,31,6,96,0,138,0,0,5,11,7,96,1,151],[0,0,5,11,8,32,1,151,0,0,5,11,9,0,0,65,0,0,0,0,10,120,0,75,0,0,0,0,10,0,0,25],[0,0,0,0,10,9,64,25,0,0,0,0,7,120,1,63,0,0,0,0,8,98,0,75,0,0,0,0,9,0,64,25],[0,0,5,11,7,112,0,156,0,0,0,0,10,9,192,25,0,0,0,0,7,10,0,75,0,0,1,39,0,0,193,61],[0,0,0,9,8,32,0,41,0,0,0,0,7,131,3,79,0,0,0,0,7,7,4,59,0,0,5,10,9,112,0,156],[0,0,1,39,0,0,33,61,0,0,0,0,9,116,0,73,0,0,0,32,8,128,0,57,0,0,5,11,10,0,0,65],[0,0,0,0,11,152,0,75,0,0,0,0,11,0,0,25,0,0,0,0,11,10,32,25,0,0,5,11,9,144,1,151],[0,0,5,11,12,128,1,151,0,0,0,0,13,156,0,75,0,0,0,0,10,0,128,25,0,0,0,0,9,156,1,63],[0,0,5,11,9,144,0,156,0,0,0,0,10,11,192,25,0,0,0,0,9,10,0,75,0,0,1,39,0,0,193,61],[0,0,0,1,9,112,0,140,0,0,12,62,0,0,193,61,0,0,0,0,5,131,3,79,0,0,0,0,5,5,4,59],[0,0,0,1,7,0,0,138,0,0,5,11,8,0,0,65,0,0,0,0,7,117,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,8,32,25,0,0,5,11,5,80,1,151,0,0,5,11,9,80,0,156,0,0,0,0,8,0,128,25],[0,0,5,11,5,80,1,103,0,0,5,11,5,80,0,156,0,0,0,0,8,7,192,25,0,3,0,96,0,0,0,61],[0,0,0,0,5,8,0,75,0,0,13,164,0,0,193,61,0,0,0,64,5,0,4,61,0,3,0,0,0,5,0,29],[0,0,5,58,5,80,0,156,0,0,18,165,0,0,33,61,0,0,0,3,8,0,0,41,0,0,0,64,5,128,0,57],[0,0,0,64,0,80,4,63,0,0,0,32,5,128,0,57,0,0,5,61,7,0,0,65,0,0,0,0,0,117,4,53],[0,0,0,1,5,0,0,57,0,0,0,0,0,88,4,53,0,0,13,164,0,0,1,61,0,0,5,58,8,80,0,156],[0,0,18,165,0,0,33,61,0,0,0,64,8,80,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79],[0,0,0,1,8,0,0,58,0,0,0,0,8,133,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59],[0,0,0,0,0,152,4,53,0,0,12,17,0,0,97,61,0,0,0,248,10,112,2,16,0,0,5,11,11,0,0,65],[0,0,0,0,7,7,0,75,0,0,0,0,11,10,192,25,0,0,5,59,7,144,1,151,0,0,0,0,7,183,1,159],[0,0,0,0,0,120,4,53,0,0,0,64,7,0,4,61,0,0,0,64,6,96,0,138,0,0,0,0,8,97,3,79],[0,0,0,0,8,8,4,59,0,0,0,128,9,128,0,140,0,0,11,46,0,0,65,61,0,0,0,128,9,128,2,112],[0,0,5,60,10,128,0,156,0,0,0,0,9,8,160,25,0,0,5,60,10,128,0,156,0,0,0,0,10,0,0,25],[0,0,0,16,10,0,32,57,0,0,0,8,11,160,1,191,0,0,5,10,12,144,0,156,0,0,0,0,11,10,160,25],[0,0,0,64,10,144,2,112,0,0,5,10,12,144,0,156,0,0,0,0,10,9,160,25,0,0,0,4,12,176,1,191],[0,0,5,2,9,160,0,156,0,0,0,0,12,11,160,25,0,0,0,32,11,160,2,112,0,0,5,2,9,160,0,156],[0,0,0,0,11,10,160,25,0,0,0,2,9,192,1,191,0,0,255,255,10,176,0,140,0,0,0,0,9,12,160,25],[0,0,0,16,10,176,2,112,0,0,0,0,10,11,160,25,0,0,0,255,10,160,0,140,0,0,0,1,9,144,32,57],[0,0,0,32,10,0,0,138,0,0,0,65,11,144,0,57,0,0,0,0,10,171,1,111,0,0,0,0,10,167,0,25],[0,0,0,0,11,122,0,75,0,0,0,0,11,0,0,25,0,0,0,1,11,0,64,57,0,0,5,10,12,160,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,11,176,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,160,4,63],[0,0,0,2,10,144,0,57,0,0,0,0,10,167,4,54,0,0,0,33,11,144,0,57,0,0,0,5,11,176,2,114],[0,0,10,131,0,0,97,61,0,0,0,0,12,33,3,79,0,0,0,0,13,0,0,25,0,0,0,5,14,208,2,16],[0,0,0,0,15,234,0,25,0,0,0,0,14,236,3,79,0,0,0,0,14,14,4,59,0,0,0,0,0,239,4,53],[0,0,0,1,13,208,0,57,0,0,0,0,14,189,0,75,0,0,10,123,0,0,65,61,0,0,0,0,11,0,0,75],[0,0,10,133,0,0,97,61,0,0,0,0,11,7,4,51,0,0,0,0,11,11,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,11,10,4,51,0,0,5,59,11,176,1,151,0,0,0,248,12,144,2,16,0,0,0,0,11,188,1,159],[0,0,5,61,11,176,0,65,0,0,0,0,0,186,4,53,0,0,0,3,9,144,2,16,0,0,0,248,9,144,0,137],[0,0,0,0,8,152,1,207,0,0,0,255,9,144,0,140,0,0,0,0,8,0,32,25,0,0,0,33,9,112,0,57],[0,0,11,63,0,0,1,61,0,0,5,58,9,96,0,156,0,0,18,165,0,0,33,61,0,0,0,64,9,96,0,57],[0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,1,9,0,0,58,0,0,0,0,9,150,4,54],[0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53,0,0,12,17,0,0,97,61],[0,0,0,248,11,128,2,16,0,0,5,11,12,0,0,65,0,0,0,0,8,8,0,75,0,0,0,0,12,11,192,25],[0,0,5,59,8,160,1,151,0,0,0,0,8,200,1,159,0,0,0,0,0,137,4,53,0,0,0,64,8,0,4,61],[0,8,0,64,0,112,0,146,0,0,0,8,9,16,3,96,0,0,0,0,9,9,4,59,0,0,0,128,10,144,0,140],[0,0,12,6,0,0,65,61,0,0,0,128,10,144,2,112,0,0,5,60,11,144,0,156,0,0,0,0,10,9,160,25],[0,0,5,60,11,144,0,156,0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191],[0,0,5,10,13,160,0,156,0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112,0,0,5,10,13,160,0,156],[0,0,0,0,11,10,160,25,0,0,0,4,13,192,1,191,0,0,5,2,10,176,0,156,0,0,0,0,13,12,160,25],[0,0,0,32,12,176,2,112,0,0,5,2,10,176,0,156,0,0,0,0,12,11,160,25,0,0,0,2,10,208,1,191],[0,0,255,255,11,192,0,140,0,0,0,0,10,13,160,25,0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25],[0,0,0,255,11,176,0,140,0,0,0,1,10,160,32,57,0,0,0,32,11,0,0,138,0,0,0,65,12,160,0,57],[0,0,0,0,11,188,1,111,0,0,0,0,11,184,0,25,0,0,0,0,12,139,0,75,0,0,0,0,12,0,0,25],[0,0,0,1,12,0,64,57,0,0,5,10,13,176,0,156,0,0,18,165,0,0,33,61,0,0,0,1,12,192,1,144],[0,0,18,165,0,0,193,61,0,0,0,64,0,176,4,63,0,0,0,2,11,160,0,57,0,0,0,0,11,184,4,54],[0,0,0,33,12,160,0,57,0,0,0,5,12,192,2,114,0,0,10,225,0,0,97,61,0,0,0,0,13,33,3,79],[0,0,0,0,14,0,0,25,0,0,0,5,15,224,2,16,0,0,0,0,7,251,0,25,0,0,0,0,15,253,3,79],[0,0,0,0,15,15,4,59,0,0,0,0,0,247,4,53,0,0,0,1,14,224,0,57,0,0,0,0,7,206,0,75],[0,0,10,217,0,0,65,61,0,0,0,0,7,0,0,75,0,0,10,227,0,0,97,61,0,0,0,0,7,8,4,51],[0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61,0,0,0,0,7,11,4,51,0,0,5,59,7,112,1,151],[0,0,0,248,12,160,2,16,0,0,0,0,7,124,1,159,0,0,5,61,7,112,0,65,0,0,0,0,0,123,4,53],[0,0,0,3,7,160,2,16,0,0,0,248,7,112,0,137,0,0,0,0,9,121,1,207,0,0,0,255,7,112,0,140],[0,0,0,0,9,0,32,25,0,0,0,33,7,128,0,57,0,0,0,0,0,151,4,53,0,0,13,48,0,0,1,61],[0,0,0,5,1,0,0,41,0,0,0,0,1,1,4,51,0,0,0,0,2,1,0,75,0,0,11,27,0,0,97,61],[0,0,5,11,2,0,0,65,0,0,0,32,3,16,0,140,0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25],[0,0,5,11,1,16,1,151,0,0,0,0,4,1,0,75,0,0,0,0,2,0,160,25,0,0,5,11,1,16,0,156],[0,0,0,0,2,3,192,25,0,0,0,0,1,2,0,75,0,0,1,39,0,0,193,61,0,0,0,10,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,0,2,1,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,192,57],[0,0,0,0,2,33,0,75,0,0,1,39,0,0,193,61,0,0,0,0,1,1,0,75,0,0,11,27,0,0,193,61],[0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57,0,0,5,43,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,68,2,16,0,57,0,0,5,44,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,42,3,0,0,57,0,0,0,0,0,50,4,53,0,0,5,16,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,4,3,0,0,41,0,0,1,10,0,0,1,61,0,0,0,64,3,0,4,61],[0,0,0,36,1,48,0,57,0,0,0,7,2,0,0,41,0,0,0,0,0,33,4,53,0,0,5,32,1,0,0,65],[0,0,0,0,0,19,4,53,0,10,0,0,0,3,0,29,0,0,0,4,1,48,0,57,0,0,0,6,2,0,0,41],[0,0,0,0,0,33,4,53,0,0,0,0,1,0,4,20,0,0,0,9,2,0,0,41,0,0,0,4,2,32,0,140],[0,0,11,159,0,0,193,61,0,0,0,1,3,0,0,49,0,0,0,32,1,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,11,209,0,0,1,61,0,0,5,58,9,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,1,9,0,0,58],[0,0,0,0,9,151,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53],[0,0,12,17,0,0,97,61,0,0,0,248,11,128,2,16,0,0,5,11,12,0,0,65,0,0,0,0,8,8,0,75],[0,0,0,0,12,11,192,25,0,0,5,59,8,160,1,151,0,0,0,0,8,200,1,159,0,0,0,0,0,137,4,53],[0,0,0,64,9,0,4,61,0,0,5,58,8,144,0,156,0,0,18,165,0,0,33,61,0,0,0,32,8,96,0,138],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,64,10,144,0,57,0,0,0,64,0,160,4,63],[0,0,0,32,10,144,0,57,0,0,5,62,11,0,0,65,0,0,0,0,0,186,4,53,0,0,0,21,10,0,0,57],[0,0,0,0,0,169,4,53,0,0,0,96,8,128,2,16,0,0,0,33,10,144,0,57,0,0,0,0,0,138,4,53],[0,0,0,192,6,96,0,57,0,0,0,0,6,97,3,79,0,0,0,64,8,0,4,61,0,0,0,0,6,6,4,59],[0,8,0,0,0,6,0,29,0,0,0,128,10,96,0,140,0,0,12,105,0,0,65,61,0,0,0,8,6,0,0,41],[0,0,0,128,10,96,2,112,0,0,5,60,11,96,0,156,0,0,0,0,10,6,160,25,0,0,5,60,11,96,0,156],[0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,5,10,13,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112,0,0,5,10,13,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,4,13,192,1,191,0,0,5,2,10,176,0,156,0,0,0,0,13,12,160,25,0,0,0,32,12,176,2,112],[0,0,5,2,10,176,0,156,0,0,0,0,12,11,160,25,0,0,0,2,10,208,1,191,0,0,255,255,11,192,0,140],[0,0,0,0,10,13,160,25,0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140],[0,0,0,1,10,160,32,57,0,0,0,32,11,0,0,138,0,0,0,65,12,160,0,57,0,0,0,0,11,188,1,111],[0,0,0,0,11,184,0,25,0,0,0,0,12,139,0,75,0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57],[0,0,5,10,13,176,0,156,0,0,18,165,0,0,33,61,0,0,0,1,12,192,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,176,4,63,0,0,0,2,11,160,0,57,0,0,0,0,11,184,4,54,0,0,0,33,12,160,0,57],[0,0,0,5,12,192,2,114,0,0,11,140,0,0,97,61,0,0,0,0,13,33,3,79,0,0,0,0,14,0,0,25],[0,0,0,5,15,224,2,16,0,0,0,0,6,251,0,25,0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59],[0,0,0,0,0,246,4,53,0,0,0,1,14,224,0,57,0,0,0,0,6,206,0,75,0,0,11,132,0,0,65,61],[0,0,0,0,6,0,0,75,0,0,11,142,0,0,97,61,0,0,0,0,6,8,4,51,0,0,0,0,6,6,0,75],[0,0,12,17,0,0,97,61,0,0,0,0,6,11,4,51,0,0,5,59,6,96,1,151,0,0,0,248,12,160,2,16],[0,0,0,0,6,108,1,159,0,0,5,61,6,96,0,65,0,0,0,0,0,107,4,53,0,0,0,3,6,160,2,16],[0,0,0,248,6,96,0,137,0,0,0,8,10,96,1,239,0,0,0,255,6,96,0,140,0,0,0,0,10,0,32,25],[0,0,0,33,6,128,0,57,0,0,0,0,0,166,4,53,0,0,12,124,0,0,1,61,0,0,5,2,2,0,0,65],[0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,10,4,0,0,41,0,0,5,2,3,64,0,156],[0,0,0,0,2,4,64,25,0,0,0,64,2,32,2,16,0,0,0,192,1,16,2,16,0,0,0,0,1,33,1,159],[0,0,5,38,1,16,1,199,0,0,0,9,2,0,0,41,20,1,19,242,0,0,4,15,0,0,0,10,10,0,0,41],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,5,2,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,11,190,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,11,182,0,0,65,61,0,0,0,0,7,5,0,75,0,0,11,205,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,10,6,96,0,41,0,0,0,3,5,80,2,16],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,1,0,0,0,3,0,31,0,3,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,12,21,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,10,1,32,0,41],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,5,10,4,16,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,2,32,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,32,2,48,0,140,0,0,1,39,0,0,65,61,0,0,0,68,4,16,0,57,0,0,0,36,5,16,0,57],[0,0,0,10,2,0,0,41,0,0,0,0,2,2,4,51,0,0,0,0,2,2,0,75,0,0,12,50,0,0,193,61],[0,0,0,32,2,16,0,57,0,0,5,34,6,0,0,65,0,0,0,0,0,98,4,53,0,0,0,7,6,0,0,41],[0,0,0,0,0,101,4,53,0,0,0,8,5,0,0,41,0,0,0,0,0,84,4,53,0,0,0,1,4,0,0,41],[0,0,0,0,0,65,4,53,0,0,5,41,4,16,0,156,0,0,18,165,0,0,33,61,0,0,0,128,4,16,0,57],[0,10,0,0,0,4,0,29,0,0,0,64,0,64,4,63,0,0,5,42,4,16,0,156,0,0,18,165,0,0,33,61],[0,0,0,192,4,16,0,57,0,0,0,64,0,64,4,63,0,0,0,4,4,0,0,41,0,0,0,10,5,0,0,41],[0,0,0,0,0,69,4,53,0,0,0,160,5,16,0,57,0,0,5,35,4,0,0,65,0,7,0,0,0,5,0,29],[0,0,0,0,0,69,4,53,0,0,0,0,4,1,4,51,0,0,0,0,1,0,4,20,0,0,0,9,5,0,0,41],[0,0,0,4,5,80,0,140,0,0,15,43,0,0,193,61,0,0,0,1,2,0,0,57,0,0,5,10,1,48,0,156],[0,0,18,165,0,0,33,61,0,0,15,65,0,0,1,61,0,0,5,58,7,128,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,7,128,0,57,0,0,0,64,0,112,4,63,0,0,0,0,7,33,3,79,0,0,0,1,10,0,0,58],[0,0,0,0,10,168,4,54,0,0,0,0,7,112,3,80,0,0,0,0,11,7,4,59,0,0,0,0,0,186,4,53],[0,0,13,41,0,0,193,61,0,0,5,88,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,50,1,0,0,57],[0,0,0,65,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,12,34,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,12,26,0,0,65,61,0,0,0,0,6,4,0,75,0,0,12,49,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,6,70,0,0,1,61,0,0,5,16,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,4,3,0,0,41,0,0,0,0,0,50,4,53,0,0,0,54,2,0,0,57],[0,0,0,0,0,37,4,53,0,0,5,39,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,100,2,16,0,57],[0,0,5,40,3,0,0,65,0,0,1,10,0,0,1,61,0,0,0,64,8,0,4,61,0,3,0,0,0,8,0,29],[0,0,0,56,8,112,0,140,0,0,13,147,0,0,65,61,0,0,0,32,9,112,2,112,0,0,5,2,8,112,0,156],[0,0,0,0,9,7,160,25,0,0,5,2,8,112,0,156,0,0,0,0,10,0,0,25,0,0,0,4,10,0,32,57],[0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25,0,0,0,16,10,144,2,112],[0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25,0,0,0,1,9,0,32,57],[0,0,0,3,10,0,0,41,0,0,5,58,10,160,0,156,0,0,18,165,0,0,33,61,0,0,0,0,8,152,1,159],[0,0,0,3,10,0,0,41,0,0,0,64,9,160,0,57,0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,58],[0,0,0,0,9,154,4,54,0,0,0,0,5,80,3,80,0,0,0,0,5,5,4,59,0,0,0,0,0,89,4,53],[0,0,12,17,0,0,97,61,0,0,5,59,5,80,1,151,0,0,0,248,10,128,2,16,0,0,0,0,5,90,1,159],[0,0,5,63,5,80,1,199,0,0,0,0,0,89,4,53,0,0,0,3,5,128,2,16,0,0,0,248,5,80,1,95],[0,0,0,0,5,87,1,207,0,0,0,3,7,0,0,41,0,0,0,33,7,112,0,57,0,0,0,0,0,87,4,53],[0,0,13,164,0,0,1,61,0,0,5,58,6,128,0,156,0,0,18,165,0,0,33,61,0,0,0,64,6,128,0,57],[0,0,0,64,0,96,4,63,0,0,0,0,6,33,3,79,0,0,0,1,10,0,0,58,0,0,0,0,10,168,4,54],[0,0,0,0,6,96,3,80,0,0,0,0,11,6,4,59,0,0,0,0,0,186,4,53,0,0,12,17,0,0,97,61],[0,0,0,8,13,0,0,41,0,0,0,248,6,208,2,16,0,0,5,11,12,0,0,65,0,0,0,0,13,13,0,75],[0,0,0,0,12,6,192,25,0,0,5,59,6,176,1,151,0,0,0,0,6,198,1,159,0,0,0,0,0,106,4,53],[0,0,0,64,6,0,4,61,0,0,0,32,11,96,0,57,0,0,0,0,10,3,4,51,0,0,0,0,12,10,0,75],[0,0,12,137,0,0,97,61,0,0,0,0,12,0,0,25,0,0,0,0,13,188,0,25,0,0,0,32,12,192,0,57],[0,0,0,0,14,60,0,25,0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,172,0,75],[0,0,12,130,0,0,65,61,0,0,0,0,3,186,0,25,0,0,0,0,0,3,4,53,0,0,0,0,3,106,0,25],[0,0,0,32,11,48,0,57,0,0,0,0,10,4,4,51,0,0,0,0,12,10,0,75,0,0,12,152,0,0,97,61],[0,0,0,0,12,0,0,25,0,0,0,0,13,188,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,76,0,25],[0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,172,0,75,0,0,12,145,0,0,65,61],[0,0,0,0,4,186,0,25,0,0,0,0,0,4,4,53,0,0,0,0,3,58,0,25,0,0,0,32,10,48,0,57],[0,0,0,0,4,5,4,51,0,0,0,0,11,4,0,75,0,0,12,167,0,0,97,61,0,0,0,0,11,0,0,25],[0,0,0,0,12,171,0,25,0,0,0,32,11,176,0,57,0,0,0,0,13,91,0,25,0,0,0,0,13,13,4,51],[0,0,0,0,0,220,4,53,0,0,0,0,12,75,0,75,0,0,12,160,0,0,65,61,0,0,0,0,5,164,0,25],[0,0,0,0,0,5,4,53,0,0,0,0,3,52,0,25,0,0,0,32,5,48,0,57,0,0,0,0,4,7,4,51],[0,0,0,0,10,4,0,75,0,0,12,182,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,0,11,90,0,25],[0,0,0,32,10,160,0,57,0,0,0,0,12,122,0,25,0,0,0,0,12,12,4,51,0,0,0,0,0,203,4,53],[0,0,0,0,11,74,0,75,0,0,12,175,0,0,65,61,0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53],[0,0,0,0,3,52,0,25,0,0,0,32,5,48,0,57,0,0,0,0,4,9,4,51,0,0,0,0,7,4,0,75],[0,0,12,197,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,0,10,87,0,25,0,0,0,32,7,112,0,57],[0,0,0,0,11,151,0,25,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,71,0,75],[0,0,12,190,0,0,65,61,0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53,0,0,0,0,3,52,0,25],[0,0,0,32,5,48,0,57,0,0,0,0,4,8,4,51,0,0,0,0,7,4,0,75,0,0,12,212,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,0,9,87,0,25,0,0,0,32,7,112,0,57,0,0,0,0,10,135,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,169,4,53,0,0,0,0,9,71,0,75,0,0,12,205,0,0,65,61],[0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53,0,0,0,0,3,99,0,73,0,0,0,0,3,52,0,25],[0,0,0,0,0,54,4,53,0,0,0,63,4,48,0,57,0,0,0,32,3,0,0,138,0,0,0,0,4,52,1,111],[0,0,0,0,7,100,0,25,0,0,0,0,4,71,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57],[0,0,5,10,5,112,0,156,0,0,18,165,0,0,33,61,0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,112,4,63,0,0,0,10,5,0,0,41,0,0,1,196,4,80,0,57,0,0,0,0,4,65,3,79],[0,0,0,0,5,82,0,73,0,0,0,35,5,80,0,138,0,0,0,0,4,4,4,59,0,0,5,11,8,0,0,65],[0,0,0,0,9,84,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,8,128,25,0,0,5,11,5,80,1,151],[0,0,5,11,10,64,1,151,0,0,0,0,11,90,0,75,0,0,0,0,8,0,128,25,0,0,0,0,5,90,1,63],[0,0,5,11,5,80,0,156,0,0,0,0,8,9,192,25,0,0,0,0,5,8,0,75,0,0,1,39,0,0,193,61],[0,0,0,9,5,64,0,41,0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59,0,0,5,10,8,64,0,156],[0,0,1,39,0,0,33,61,0,0,0,0,8,66,0,73,0,0,0,32,5,80,0,57,0,0,5,11,9,0,0,65],[0,0,0,0,10,133,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,9,32,25,0,0,5,11,8,128,1,151],[0,0,5,11,11,80,1,151,0,0,0,0,12,139,0,75,0,0,0,0,9,0,128,25,0,0,0,0,8,139,1,63],[0,0,5,11,8,128,0,156,0,0,0,0,9,10,192,25,0,0,0,0,8,9,0,75,0,0,1,39,0,0,193,61],[0,0,0,1,8,64,0,140,0,0,17,245,0,0,193,61,0,0,0,0,8,81,3,79,0,0,0,0,8,8,4,59],[0,0,0,1,9,0,0,138,0,0,5,11,10,0,0,65,0,0,0,0,9,152,0,75,0,0,0,0,9,0,0,25],[0,0,0,0,9,10,32,25,0,0,5,11,8,128,1,151,0,0,5,11,11,128,0,156,0,0,0,0,10,0,128,25],[0,0,5,11,8,128,1,103,0,0,5,11,8,128,0,156,0,0,0,0,10,9,192,25,0,0,0,96,8,0,0,57],[0,0,0,0,9,10,0,75,0,0,18,86,0,0,193,61,0,0,5,58,8,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,32,8,112,0,57,0,0,5,61,9,0,0,65],[0,0,0,0,0,152,4,53,0,0,0,1,8,0,0,57,0,0,0,0,0,135,4,53,0,0,0,0,8,7,0,25],[0,0,18,86,0,0,1,61,0,0,0,248,7,144,2,16,0,0,5,11,12,0,0,65,0,0,0,0,9,9,0,75],[0,0,0,0,12,7,192,25,0,0,5,59,7,176,1,151,0,0,0,0,7,199,1,159,0,0,0,0,0,122,4,53],[0,0,0,64,10,0,4,61,0,0,5,58,7,160,0,156,0,0,18,165,0,0,33,61,0,0,0,8,12,0,0,41],[0,0,0,32,7,192,0,138,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,64,9,160,0,57],[0,0,0,64,0,144,4,63,0,0,0,32,9,160,0,57,0,0,5,62,11,0,0,65,0,0,0,0,0,185,4,53],[0,0,0,21,9,0,0,57,0,0,0,0,0,154,4,53,0,0,0,96,7,112,2,16,0,0,0,33,9,160,0,57],[0,0,0,0,0,121,4,53,0,0,0,192,7,192,0,57,0,0,0,0,7,113,3,79,0,0,0,64,9,0,4,61],[0,0,0,0,7,7,4,59,0,8,0,0,0,7,0,29,0,0,0,128,11,112,0,140,0,0,14,5,0,0,65,61],[0,0,0,8,7,0,0,41,0,0,0,128,11,112,2,112,0,0,5,60,12,112,0,156,0,0,0,0,11,7,160,25],[0,0,5,60,12,112,0,156,0,0,0,0,12,0,0,25,0,0,0,16,12,0,32,57,0,0,0,8,13,192,1,191],[0,0,5,10,14,176,0,156,0,0,0,0,13,12,160,25,0,0,0,64,12,176,2,112,0,0,5,10,14,176,0,156],[0,0,0,0,12,11,160,25,0,0,0,4,14,208,1,191,0,0,5,2,11,192,0,156,0,0,0,0,14,13,160,25],[0,0,0,32,13,192,2,112,0,0,5,2,11,192,0,156,0,0,0,0,13,12,160,25,0,0,0,2,7,224,1,191],[0,0,255,255,12,208,0,140,0,0,0,0,7,14,160,25,0,0,0,16,12,208,2,112,0,0,0,0,12,13,160,25],[0,0,0,255,12,192,0,140,0,0,0,1,7,112,32,57,0,0,0,32,12,0,0,138,0,6,0,0,0,7,0,29],[0,0,0,65,13,112,0,57,0,0,0,0,12,205,1,111,0,0,0,0,12,201,0,25,0,0,0,0,13,156,0,75],[0,0,0,0,13,0,0,25,0,0,0,1,13,0,64,57,0,0,5,10,14,192,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,13,208,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,192,4,63,0,0,0,6,7,0,0,41],[0,0,0,2,12,112,0,57,0,0,0,0,12,201,4,54,0,0,0,33,13,112,0,57,0,0,0,5,13,208,2,114],[0,0,13,127,0,0,97,61,0,0,0,0,14,33,3,79,0,0,0,0,15,0,0,25,0,0,0,5,7,240,2,16],[0,0,0,0,11,124,0,25,0,0,0,0,7,126,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,123,4,53],[0,0,0,1,15,240,0,57,0,0,0,0,7,223,0,75,0,0,13,119,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,13,129,0,0,97,61,0,0,0,0,7,9,4,51,0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61],[0,0,0,0,7,12,4,51,0,0,5,59,7,112,1,151,0,0,0,6,13,0,0,41,0,0,0,248,11,208,2,16],[0,0,0,0,7,123,1,159,0,0,5,61,7,112,0,65,0,0,0,0,0,124,4,53,0,0,0,3,7,208,2,16],[0,0,0,248,7,112,0,137,0,0,0,8,11,112,1,239,0,0,0,255,7,112,0,140,0,0,0,0,11,0,32,25],[0,0,0,33,7,144,0,57,0,0,0,0,0,183,4,53,0,0,14,24,0,0,1,61,0,0,0,3,8,0,0,41],[0,0,5,58,8,128,0,156,0,0,18,165,0,0,33,61,0,0,0,3,9,0,0,41,0,0,0,64,8,144,0,57],[0,0,0,64,0,128,4,63,0,0,0,1,8,0,0,58,0,0,0,0,8,137,4,54,0,0,0,0,5,80,3,80],[0,0,0,0,5,5,4,59,0,0,0,0,0,88,4,53,0,0,12,17,0,0,97,61,0,0,0,248,7,112,2,16],[0,0,5,59,5,80,1,151,0,0,0,0,5,117,1,159,0,0,5,11,5,80,1,103,0,0,0,0,0,88,4,53],[0,0,0,128,1,16,0,138,0,0,0,0,5,19,3,79,0,0,0,96,1,0,0,57,0,0,0,0,5,5,4,59],[0,0,0,0,5,5,0,75,0,0,14,212,0,0,193,61,0,0,5,11,5,0,0,65,0,0,0,0,7,98,0,75],[0,0,0,0,7,0,0,25,0,0,0,0,7,5,128,25,0,0,5,11,6,96,1,151,0,0,5,11,8,32,1,151],[0,0,0,0,9,104,0,75,0,0,0,0,5,0,128,25,0,0,0,0,6,104,1,63,0,0,5,11,6,96,0,156],[0,0,0,0,5,7,192,25,0,0,0,0,5,5,0,75,0,0,1,39,0,0,193,61,0,0,0,8,5,0,0,41],[0,0,0,0,6,5,4,51,0,0,0,6,5,0,0,41,0,0,0,0,7,5,4,51,0,0,0,5,5,0,0,41],[0,0,0,0,8,5,4,51,0,0,0,4,5,0,0,41,0,0,0,0,9,5,4,51,0,0,0,3,5,0,0,41],[0,0,0,0,10,5,4,51,0,0,0,9,5,32,0,41,0,0,0,0,2,83,3,79,0,0,0,0,2,2,4,59],[0,0,5,10,11,32,0,156,0,0,1,39,0,0,33,61,0,0,0,0,11,36,0,73,0,0,0,32,5,80,0,57],[0,0,5,11,12,0,0,65,0,0,0,0,13,181,0,75,0,0,0,0,13,0,0,25,0,0,0,0,13,12,32,25],[0,0,5,11,11,176,1,151,0,0,5,11,14,80,1,151,0,0,0,0,15,190,0,75,0,0,0,0,12,0,128,25],[0,0,0,0,11,190,1,63,0,0,5,11,11,176,0,156,0,0,0,0,12,13,192,25,0,0,0,0,11,12,0,75],[0,0,1,39,0,0,193,61,0,0,0,0,6,103,0,25,0,0,0,0,6,134,0,25,0,0,0,0,6,150,0,25],[0,0,0,0,6,166,0,25,0,0,0,0,6,38,0,25,0,0,0,0,7,1,4,51,0,0,0,0,6,118,0,25],[0,0,0,64,7,0,4,61,0,0,5,10,6,96,1,151,0,0,0,56,8,96,0,140,0,0,15,246,0,0,65,61],[0,0,0,32,9,96,2,112,0,0,5,2,8,96,0,156,0,0,0,0,9,6,160,25,0,0,5,2,8,96,0,156],[0,0,0,0,10,0,0,25,0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140],[0,0,0,0,8,10,160,25,0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,32,57,0,0,5,58,10,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,0,8,152,1,159,0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,9,67,3,79],[0,0,0,2,4,128,0,58,0,0,0,0,4,71,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59],[0,0,0,0,0,148,4,53,0,0,12,17,0,0,97,61,0,0,5,59,9,144,1,151,0,0,0,248,10,128,2,16],[0,0,0,0,9,154,1,159,0,0,5,65,9,144,1,199,0,0,0,0,0,148,4,53,0,0,0,3,4,128,2,16],[0,0,0,248,4,64,1,95,0,0,0,0,4,70,1,207,0,0,0,33,6,112,0,57,0,0,0,0,0,70,4,53],[0,0,16,6,0,0,1,61,0,0,5,58,7,144,0,156,0,0,18,165,0,0,33,61,0,0,0,64,7,144,0,57],[0,0,0,64,0,112,4,63,0,0,0,0,7,33,3,79,0,0,0,1,11,0,0,58,0,0,0,0,11,185,4,54],[0,0,0,0,7,112,3,80,0,0,0,0,12,7,4,59,0,0,0,0,0,203,4,53,0,0,12,17,0,0,97,61],[0,0,0,8,14,0,0,41,0,0,0,248,7,224,2,16,0,0,5,11,13,0,0,65,0,0,0,0,14,14,0,75],[0,0,0,0,13,7,192,25,0,0,5,59,7,192,1,151,0,0,0,0,7,215,1,159,0,0,0,0,0,123,4,53],[0,0,0,64,7,0,4,61,0,0,0,32,12,112,0,57,0,0,0,0,11,3,4,51,0,0,0,0,13,11,0,75],[0,0,14,37,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,0,14,205,0,25,0,0,0,32,13,208,0,57],[0,0,0,0,15,61,0,25,0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53,0,0,0,0,14,189,0,75],[0,0,14,30,0,0,65,61,0,0,0,0,3,203,0,25,0,0,0,0,0,3,4,53,0,0,0,0,3,123,0,25],[0,0,0,32,12,48,0,57,0,0,0,0,11,4,4,51,0,0,0,0,13,11,0,75,0,0,14,52,0,0,97,61],[0,0,0,0,13,0,0,25,0,0,0,0,14,205,0,25,0,0,0,32,13,208,0,57,0,0,0,0,15,77,0,25],[0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53,0,0,0,0,14,189,0,75,0,0,14,45,0,0,65,61],[0,0,0,0,4,203,0,25,0,0,0,0,0,4,4,53,0,0,0,0,3,59,0,25,0,0,0,32,11,48,0,57],[0,0,0,0,4,5,4,51,0,0,0,0,12,4,0,75,0,0,14,67,0,0,97,61,0,0,0,0,12,0,0,25],[0,0,0,0,13,188,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,92,0,25,0,0,0,0,14,14,4,51],[0,0,0,0,0,237,4,53,0,0,0,0,13,76,0,75,0,0,14,60,0,0,65,61,0,0,0,0,5,180,0,25],[0,0,0,0,0,5,4,53,0,0,0,0,3,52,0,25,0,0,0,32,5,48,0,57,0,0,0,0,4,6,4,51],[0,0,0,0,11,4,0,75,0,0,14,82,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,0,12,91,0,25],[0,0,0,32,11,176,0,57,0,0,0,0,13,107,0,25,0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53],[0,0,0,0,12,75,0,75,0,0,14,75,0,0,65,61,0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53],[0,0,0,0,3,52,0,25,0,0,0,32,5,48,0,57,0,0,0,0,4,8,4,51,0,0,0,0,6,4,0,75],[0,0,14,97,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,11,86,0,25,0,0,0,32,6,96,0,57],[0,0,0,0,12,134,0,25,0,0,0,0,12,12,4,51,0,0,0,0,0,203,4,53,0,0,0,0,11,70,0,75],[0,0,14,90,0,0,65,61,0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53,0,0,0,0,3,52,0,25],[0,0,0,32,5,48,0,57,0,0,0,0,4,10,4,51,0,0,0,0,6,4,0,75,0,0,14,112,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,0,8,86,0,25,0,0,0,32,6,96,0,57,0,0,0,0,11,166,0,25],[0,0,0,0,11,11,4,51,0,0,0,0,0,184,4,53,0,0,0,0,8,70,0,75,0,0,14,105,0,0,65,61],[0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53,0,0,0,0,3,52,0,25,0,0,0,32,5,48,0,57],[0,0,0,0,4,9,4,51,0,0,0,0,6,4,0,75,0,0,14,127,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,0,8,86,0,25,0,0,0,32,6,96,0,57,0,0,0,0,10,150,0,25,0,0,0,0,10,10,4,51],[0,0,0,0,0,168,4,53,0,0,0,0,8,70,0,75,0,0,14,120,0,0,65,61,0,0,0,0,5,84,0,25],[0,0,0,0,0,5,4,53,0,0,0,0,3,115,0,73,0,0,0,0,3,52,0,25,0,0,0,0,0,55,4,53],[0,0,0,63,4,48,0,57,0,0,0,32,3,0,0,138,0,0,0,0,4,52,1,111,0,0,0,0,6,116,0,25],[0,0,0,0,4,70,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,10,5,96,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,96,4,63],[0,0,0,10,5,0,0,41,0,0,1,196,4,80,0,57,0,0,0,0,4,65,3,79,0,0,0,0,5,82,0,73],[0,0,0,35,5,80,0,138,0,0,0,0,4,4,4,59,0,0,5,11,8,0,0,65,0,0,0,0,9,84,0,75],[0,0,0,0,9,0,0,25,0,0,0,0,9,8,128,25,0,0,5,11,5,80,1,151,0,0,5,11,10,64,1,151],[0,0,0,0,11,90,0,75,0,0,0,0,8,0,128,25,0,0,0,0,5,90,1,63,0,0,5,11,5,80,0,156],[0,0,0,0,8,9,192,25,0,0,0,0,5,8,0,75,0,0,1,39,0,0,193,61,0,0,0,9,5,64,0,41],[0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59,0,0,5,10,8,64,0,156,0,0,1,39,0,0,33,61],[0,0,0,0,8,66,0,73,0,0,0,32,5,80,0,57,0,0,5,11,9,0,0,65,0,0,0,0,10,133,0,75],[0,0,0,0,10,0,0,25,0,0,0,0,10,9,32,25,0,0,5,11,8,128,1,151,0,0,5,11,11,80,1,151],[0,0,0,0,12,139,0,75,0,0,0,0,9,0,128,25,0,0,0,0,8,139,1,63,0,0,5,11,8,128,0,156],[0,0,0,0,9,10,192,25,0,0,0,0,8,9,0,75,0,0,1,39,0,0,193,61,0,0,0,1,8,64,0,140],[0,0,18,29,0,0,193,61,0,0,0,0,8,81,3,79,0,0,0,0,8,8,4,59,0,0,0,1,9,0,0,138],[0,0,5,11,10,0,0,65,0,0,0,0,9,152,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,10,32,25],[0,0,5,11,8,128,1,151,0,0,5,11,11,128,0,156,0,0,0,0,10,0,128,25,0,0,5,11,8,128,1,103],[0,0,5,11,8,128,0,156,0,0,0,0,10,9,192,25,0,0,0,96,8,0,0,57,0,0,0,0,9,10,0,75],[0,0,18,162,0,0,193,61,0,0,5,58,8,96,0,156,0,0,18,165,0,0,33,61,0,0,0,64,8,96,0,57],[0,0,0,64,0,128,4,63,0,0,0,32,8,96,0,57,0,0,5,61,9,0,0,65,0,0,0,0,0,152,4,53],[0,0,0,1,8,0,0,57,0,0,0,0,0,134,4,53,0,0,0,0,8,6,0,25,0,0,18,162,0,0,1,61],[0,0,5,56,1,0,0,65,0,0,0,0,0,16,4,57,0,0,5,2,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,5,2,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,57,1,16,1,199],[0,0,128,11,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,16,244,0,0,97,61],[0,0,0,64,2,0,4,61,0,0,0,0,1,1,4,59,0,0,0,128,3,16,0,140,0,0,15,141,0,0,65,61],[0,0,0,128,3,16,2,112,0,0,5,60,4,16,0,156,0,0,0,0,3,1,160,25,0,0,5,60,4,16,0,156],[0,0,0,0,4,0,0,25,0,0,0,16,4,0,32,57,0,0,0,8,5,64,1,191,0,0,5,10,6,48,0,156],[0,0,0,0,5,4,160,25,0,0,0,64,4,48,2,112,0,0,5,10,6,48,0,156,0,0,0,0,4,3,160,25],[0,0,0,4,3,80,1,191,0,0,5,2,6,64,0,156,0,0,0,0,3,5,160,25,0,0,0,32,6,64,2,112],[0,0,5,2,5,64,0,156,0,0,0,0,6,4,160,25,0,0,0,2,5,48,1,191,0,0,255,255,4,96,0,140],[0,0,0,0,5,3,160,25,0,0,0,16,3,96,2,112,0,0,0,0,3,6,160,25,0,0,0,255,3,48,0,140],[0,0,0,1,5,80,32,57,0,0,0,65,3,80,0,57,0,0,0,2,3,48,1,127,0,0,0,0,3,50,0,25],[0,0,0,0,4,35,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,10,6,48,0,156],[0,0,18,165,0,0,33,61,0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,48,4,63],[0,0,0,2,3,80,0,57,0,0,0,0,6,50,4,54,0,0,0,2,3,0,3,103,0,0,0,0,4,0,0,49],[0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114,0,0,15,25,0,0,97,61,0,0,0,0,8,67,3,79],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75],[0,0,15,17,0,0,65,61,0,0,0,0,7,0,0,75,0,0,15,27,0,0,97,61,0,0,0,0,7,2,4,51],[0,0,0,0,7,7,0,75,0,0,12,17,0,0,97,61,0,0,0,0,7,6,4,51,0,0,5,59,7,112,1,151],[0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159,0,0,5,61,7,112,0,65,0,0,0,0,0,118,4,53],[0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137,0,0,0,0,1,81,1,207,0,0,0,255,5,80,0,140],[0,0,0,0,1,0,32,25,0,0,0,33,5,32,0,57,0,0,15,160,0,0,1,61,0,0,5,2,3,0,0,65],[0,0,5,2,5,32,0,156,0,0,0,0,2,3,128,25,0,0,0,64,2,32,2,16,0,0,5,2,5,64,0,156],[0,0,0,0,4,3,128,25,0,0,0,96,4,64,2,16,0,0,0,0,2,36,1,159,0,0,5,2,4,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,0,0,1,18,1,159,0,0,0,9,2,0,0,41],[20,1,19,237,0,0,4,15,0,8,0,96,0,0,0,61,0,6,0,128,0,0,0,61,0,0,0,1,2,32,1,143],[0,3,0,0,0,1,3,85,0,0,0,96,1,16,2,112,0,1,5,2,0,16,1,157,0,0,5,2,3,16,1,152],[0,0,15,110,0,0,97,61,0,0,0,63,1,48,0,57,0,0,0,32,4,0,0,138,0,0,0,0,1,65,1,111],[0,0,0,64,4,0,4,61,0,0,0,0,1,20,0,25,0,8,0,0,0,4,0,29,0,0,0,0,4,65,0,75],[0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,10,5,16,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,4,64,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,31,1,48,1,143],[0,0,0,8,4,0,0,41,0,0,0,0,8,52,4,54,0,0,0,3,4,0,3,103,0,0,0,5,3,48,2,114],[0,0,15,94,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,104,0,25],[0,0,0,0,6,100,3,79,0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57],[0,0,0,0,6,53,0,75,0,0,15,86,0,0,65,61,0,6,0,0,0,8,0,29,0,0,0,0,5,1,0,75],[0,0,15,110,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,4,52,3,79,0,0,0,6,3,48,0,41],[0,0,0,3,1,16,2,16,0,0,0,0,5,3,4,51,0,0,0,0,5,21,1,207,0,0,0,0,5,21,2,47],[0,0,0,0,4,4,4,59,0,0,1,0,1,16,0,137,0,0,0,0,4,20,2,47,0,0,0,0,1,20,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,19,4,53,0,0,0,8,1,0,0,41,0,0,0,0,1,1,4,51],[0,0,0,0,2,2,0,75,0,0,15,197,0,0,193,61,0,0,0,0,2,1,0,75,0,0,15,241,0,0,193,61],[0,0,0,64,4,0,4,61,0,9,0,0,0,4,0,29,0,0,5,16,1,0,0,65,0,0,0,0,0,20,4,53],[0,0,0,4,1,64,0,57,0,0,0,4,2,0,0,41,0,0,0,0,0,33,4,53,0,0,0,10,1,0,0,41],[0,0,0,0,3,1,4,51,0,10,0,0,0,3,0,29,0,0,0,36,1,64,0,57,0,0,0,0,0,49,4,53],[0,0,0,68,2,64,0,57,0,0,0,7,1,0,0,41,20,1,19,223,0,0,4,15,0,0,0,10,1,0,0,41],[0,0,0,31,1,16,0,57,0,0,0,32,2,0,0,138,0,0,0,0,1,33,1,111,0,0,0,68,1,16,0,57],[0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,9,4,0,0,41],[0,0,8,221,0,0,1,61,0,0,5,58,3,32,0,156,0,0,18,165,0,0,33,61,0,0,0,64,3,32,0,57],[0,0,0,64,0,48,4,63,0,0,0,1,3,0,0,58,0,0,0,0,5,50,4,54,0,0,0,0,4,0,0,49],[0,0,0,2,3,0,3,103,0,0,0,0,6,67,3,79,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59],[0,0,0,0,0,101,4,53,0,0,12,17,0,0,97,61,0,0,0,248,7,16,2,16,0,0,5,11,8,0,0,65],[0,0,0,0,1,1,0,75,0,0,0,0,8,7,192,25,0,0,5,59,1,96,1,151,0,0,0,0,1,129,1,159],[0,0,0,0,0,21,4,53,0,0,0,64,1,0,4,61,0,0,0,32,6,16,0,57,0,0,0,0,5,2,4,51],[0,0,0,0,7,5,0,75,0,0,15,174,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,0,8,103,0,25],[0,0,0,32,7,112,0,57,0,0,0,0,9,39,0,25,0,0,0,0,9,9,4,51,0,0,0,0,0,152,4,53],[0,0,0,0,8,87,0,75,0,0,15,167,0,0,65,61,0,0,0,0,2,101,0,25,0,0,5,77,6,0,0,65],[0,0,0,0,0,98,4,53,0,0,0,2,2,80,0,57,0,0,0,0,0,33,4,53,0,0,0,65,2,80,0,57],[0,0,0,2,5,32,1,127,0,0,0,0,2,21,0,25,0,0,0,0,5,82,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,5,10,6,32,0,156,0,0,18,165,0,0,33,61,0,0,0,1,5,80,1,144],[0,0,18,165,0,0,193,61,0,0,0,10,6,0,0,41,0,0,1,196,5,96,0,57,0,0,0,64,0,32,4,63],[0,0,0,0,2,83,3,79,0,0,0,0,5,100,0,73,0,0,0,35,6,80,0,138,0,0,0,0,2,2,4,59],[0,0,13,170,0,0,1,61,0,0,0,0,2,1,0,75,0,0,15,220,0,0,193,61,0,0,5,36,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,9,1,0,0,41,0,0,0,4,0,16,4,67,0,0,5,2,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,37,1,16,1,199,0,0,128,2,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,16,244,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,9,110,0,0,97,61],[0,0,0,8,1,0,0,41,0,0,0,0,1,1,4,51,0,0,0,0,2,1,0,75,0,0,3,118,0,0,97,61],[0,0,5,11,2,0,0,65,0,0,0,32,3,16,0,140,0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25],[0,0,5,11,1,16,1,151,0,0,0,0,4,1,0,75,0,0,0,0,2,0,160,25,0,0,5,11,1,16,0,156],[0,0,0,0,2,3,192,25,0,0,0,0,1,2,0,75,0,0,1,39,0,0,193,61,0,0,0,6,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,0,2,1,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,192,57],[0,0,0,0,2,33,0,75,0,0,1,39,0,0,193,61,0,0,0,0,1,1,0,75,0,0,3,118,0,0,193,61],[0,0,11,12,0,0,1,61,0,0,5,2,2,0,0,65,0,0,5,2,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,6,4,0,0,41,0,0,8,221,0,0,1,61,0,0,5,58,8,112,0,156,0,0,18,165,0,0,33,61],[0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,0,8,67,3,79,0,0,0,1,4,0,0,58],[0,0,0,0,4,71,4,54,0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59,0,0,0,0,0,132,4,53],[0,0,12,17,0,0,97,61,0,0,5,59,8,128,1,151,0,0,0,248,6,96,2,16,0,0,0,0,6,134,1,159],[0,0,5,64,6,96,0,65,0,0,0,0,0,100,4,53,0,0,0,64,4,0,4,61,0,0,0,32,6,64,0,57],[0,0,0,0,8,7,4,51,0,0,0,0,9,8,0,75,0,0,16,19,0,0,97,61,0,0,0,0,9,0,0,25],[0,0,0,0,10,105,0,25,0,0,0,32,9,144,0,57,0,0,0,0,11,121,0,25,0,0,0,0,11,11,4,51],[0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,16,12,0,0,65,61,0,0,0,0,7,104,0,25],[0,0,0,0,0,7,4,53,0,0,0,0,7,72,0,25,0,0,0,32,9,112,0,57,0,0,0,8,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,10,8,0,75,0,0,16,35,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,0,11,154,0,25,0,0,0,32,10,160,0,57,0,0,0,8,12,160,0,41,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,138,0,75,0,0,16,28,0,0,65,61,0,0,0,0,9,152,0,25],[0,0,0,0,0,9,4,53,0,0,0,0,7,120,0,25,0,0,0,32,9,112,0,57,0,0,0,6,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,10,8,0,75,0,0,16,51,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,0,11,154,0,25,0,0,0,32,10,160,0,57,0,0,0,6,12,160,0,41,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,138,0,75,0,0,16,44,0,0,65,61,0,0,0,0,9,152,0,25],[0,0,0,0,0,9,4,53,0,0,0,0,7,120,0,25,0,0,0,32,9,112,0,57,0,0,0,5,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,10,8,0,75,0,0,16,67,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,0,11,154,0,25,0,0,0,32,10,160,0,57,0,0,0,5,12,160,0,41,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,138,0,75,0,0,16,60,0,0,65,61,0,0,0,0,9,152,0,25],[0,0,0,0,0,9,4,53,0,0,0,0,7,120,0,25,0,0,0,32,9,112,0,57,0,0,0,4,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,10,8,0,75,0,0,16,83,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,0,11,154,0,25,0,0,0,32,10,160,0,57,0,0,0,4,12,160,0,41,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,138,0,75,0,0,16,76,0,0,65,61,0,0,0,0,9,152,0,25],[0,0,0,0,0,9,4,53,0,0,0,0,7,120,0,25,0,0,0,32,9,112,0,57,0,0,0,3,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,10,8,0,75,0,0,16,99,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,0,11,154,0,25,0,0,0,32,10,160,0,57,0,0,0,3,12,160,0,41,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,138,0,75,0,0,16,92,0,0,65,61,0,0,0,0,9,152,0,25],[0,0,0,0,0,9,4,53,0,0,0,0,5,83,3,79,0,0,0,0,3,120,0,25,0,0,0,31,7,32,1,143],[0,0,0,32,8,48,0,57,0,0,0,5,9,32,2,114,0,0,16,116,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,5,11,160,2,16,0,0,0,0,12,184,0,25,0,0,0,0,11,181,3,79,0,0,0,0,11,11,4,59],[0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75,0,0,16,108,0,0,65,61],[0,0,0,0,10,7,0,75,0,0,16,131,0,0,97,61,0,0,0,5,9,144,2,16,0,0,0,0,5,149,3,79],[0,0,0,0,8,152,0,25,0,0,0,3,7,112,2,16,0,0,0,0,9,8,4,51,0,0,0,0,9,121,1,207],[0,0,0,0,9,121,2,47,0,0,0,0,5,5,4,59,0,0,1,0,7,112,0,137,0,0,0,0,5,117,2,47],[0,0,0,0,5,117,1,207,0,0,0,0,5,149,1,159,0,0,0,0,0,88,4,53,0,0,0,0,2,35,0,25],[0,0,0,32,5,32,0,57,0,0,0,0,0,5,4,53,0,0,0,0,3,1,4,51,0,0,0,0,7,3,0,75],[0,0,16,145,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,0,8,87,0,25,0,0,0,32,7,112,0,57],[0,0,0,0,9,23,0,25,0,0,0,0,9,9,4,51,0,0,0,0,0,152,4,53,0,0,0,0,8,55,0,75],[0,0,16,138,0,0,65,61,0,0,0,0,1,83,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,66,0,73],[0,0,0,0,1,19,0,25,0,0,0,0,0,20,4,53,0,0,0,63,1,16,0,57,0,0,0,2,2,16,1,127],[0,0,0,0,1,66,0,25,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57],[0,0,5,10,3,16,0,156,0,0,18,165,0,0,33,61,0,0,0,1,2,32,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,5,2,1,0,0,65,0,0,5,2,2,96,0,156,0,0,0,0,6,1,128,25],[0,0,0,64,2,96,2,16,0,0,0,0,3,4,4,51,0,0,5,2,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20,0,0,5,2,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159,0,0,5,13,1,16,1,199],[0,0,128,16,2,0,0,57,20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,39,0,0,97,61],[0,0,0,2,3,0,3,103,0,0,0,0,1,1,4,59,0,8,0,0,0,1,0,29,0,0,0,10,1,0,0,41],[0,0,0,228,4,16,0,57,0,0,0,0,1,67,3,79,0,0,0,0,1,1,4,59,0,0,5,12,1,16,1,152],[0,5,0,0,0,4,0,29,0,0,16,212,0,0,193,61,0,0,0,128,1,64,0,138,0,0,0,0,2,19,3,79],[0,0,0,64,1,64,0,138,0,0,0,0,5,19,3,79,0,0,0,0,4,2,4,59,0,0,0,0,5,5,4,59],[0,0,0,0,98,69,0,169,0,0,0,0,6,5,0,75,0,0,16,202,0,0,97,61,0,0,0,0,101,82,0,217],[0,0,0,0,4,69,0,75,0,0,16,208,0,0,193,61,0,0,0,128,1,16,0,57,0,0,0,0,1,19,3,79],[0,0,0,0,1,1,4,59,0,6,0,0,0,33,0,30,0,0,16,208,0,0,65,61,0,0,16,217,0,0,1,61],[0,0,5,88,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,0,65,0,0,1,61],[0,0,0,10,1,0,0,41,0,0,1,36,1,16,0,57,0,0,0,0,1,19,3,79,0,0,0,0,1,1,4,59],[0,6,0,0,0,1,0,29,0,0,5,78,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,7,1,0,0,41],[0,0,0,4,0,16,4,67,0,0,5,2,1,0,0,65,0,0,0,0,2,0,4,20,0,0,5,2,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,37,1,16,1,199,0,0,128,10,2,0,0,57],[20,1,19,242,0,0,4,15,0,0,0,1,2,32,1,144,0,0,16,244,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,6,1,16,0,107,0,0,16,245,0,0,161,61,0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57],[0,0,5,86,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,5,87,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,34,3,0,0,57,0,0,1,5,0,0,1,61],[0,0,0,0,0,1,4,47,0,0,0,0,4,0,0,49,0,0,0,10,1,64,0,106,0,0,0,35,2,16,0,138],[0,0,0,5,1,0,0,41,0,0,1,0,1,16,0,57,0,0,0,2,3,0,3,103,0,0,0,0,1,19,3,79],[0,0,0,0,1,1,4,59,0,0,5,11,5,0,0,65,0,0,0,0,6,33,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,5,11,2,32,1,151,0,0,5,11,7,16,1,151,0,0,0,0,8,39,0,75],[0,0,0,0,5,0,128,25,0,0,0,0,2,39,1,63,0,0,5,11,2,32,0,156,0,0,0,0,5,6,192,25],[0,0,0,0,2,5,0,75,0,0,1,39,0,0,193,61,0,0,0,9,2,16,0,41,0,0,0,0,1,35,3,79],[0,0,0,0,1,1,4,59,0,0,5,10,5,16,0,156,0,0,1,39,0,0,33,61,0,0,0,0,5,20,0,73],[0,0,0,32,6,32,0,57,0,0,5,11,2,0,0,65,0,0,0,0,7,86,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,2,32,25,0,0,5,11,5,80,1,151,0,0,5,11,8,96,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,2,0,128,25,0,0,0,0,5,88,1,63,0,0,5,11,5,80,0,156,0,0,0,0,2,7,192,25],[0,0,0,0,2,2,0,75,0,0,1,39,0,0,193,61,0,0,0,63,2,16,0,57,0,0,0,32,5,0,0,138],[0,0,0,0,5,82,1,111,0,0,0,64,2,0,4,61,0,0,0,0,5,82,0,25,0,0,0,0,7,37,0,75],[0,0,0,0,7,0,0,25,0,0,0,1,7,0,64,57,0,0,5,10,8,80,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,7,112,1,144,0,0,18,165,0,0,193,61,0,0,0,64,0,80,4,63,0,0,0,0,5,18,4,54],[0,0,0,0,7,97,0,25,0,0,0,0,4,71,0,75,0,0,1,39,0,0,33,61,0,0,0,0,4,99,3,79],[0,0,0,31,3,16,1,143,0,0,0,5,6,16,2,114,0,0,17,60,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,133,0,25,0,0,0,0,8,132,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,17,52,0,0,65,61],[0,0,0,0,7,3,0,75,0,0,17,75,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,4,100,3,79],[0,0,0,0,6,101,0,25,0,0,0,3,3,48,2,16,0,0,0,0,7,6,4,51,0,0,0,0,7,55,1,207],[0,0,0,0,7,55,2,47,0,0,0,0,4,4,4,59,0,0,1,0,3,48,0,137,0,0,0,0,4,52,2,47],[0,0,0,0,3,52,1,207,0,0,0,0,3,115,1,159,0,0,0,0,0,54,4,53,0,0,0,0,1,21,0,25],[0,0,0,0,0,1,4,53,0,0,0,64,1,0,4,61,0,0,0,0,3,2,4,51,0,0,0,65,3,48,0,140],[0,0,17,94,0,0,193,61,0,0,0,65,3,32,0,57,0,0,0,0,3,3,4,51,0,0,0,255,3,48,1,143],[0,0,0,29,4,48,0,138,0,0,0,3,6,0,0,138,0,0,0,0,4,100,0,75,0,0,17,100,0,0,33,61],[0,0,0,68,2,16,0,57,0,0,5,85,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,22,3,0,0,57,0,0,4,110,0,0,1,61,0,0,0,68,2,16,0,57,0,0,5,79,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,29,3,0,0,57,0,0,4,110,0,0,1,61],[0,0,0,0,4,5,4,51,0,0,0,64,2,32,0,57,0,0,0,0,2,2,4,51,0,0,5,80,5,32,0,156],[0,0,17,111,0,0,65,61,0,0,0,68,2,16,0,57,0,0,5,84,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,9,3,0,0,57,0,0,4,110,0,0,1,61,0,0,0,96,5,16,0,57],[0,0,0,0,0,37,4,53,0,0,0,64,2,16,0,57,0,0,0,0,0,66,4,53,0,0,0,32,2,16,0,57],[0,0,0,0,0,50,4,53,0,0,0,8,2,0,0,41,0,0,0,0,0,33,4,53,0,0,0,0,0,0,4,53],[0,0,5,2,2,0,0,65,0,0,0,0,3,0,4,20,0,0,5,2,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,5,2,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,5,81,1,16,1,199,0,0,0,1,2,0,0,57,20,1,19,242,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,5,2,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,4,64,2,114],[0,0,17,149,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,70,0,75],[0,0,17,142,0,0,65,61,0,0,0,0,6,5,0,75,0,0,17,163,0,0,97,61,0,0,0,3,5,80,2,16],[0,0,0,5,4,64,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,101,1,159,0,0,0,0,0,84,4,53,0,1,0,0,0,3,0,31],[0,3,0,0,0,1,3,85,0,0,0,64,4,0,4,61,0,0,0,1,2,32,1,144,0,0,17,186,0,0,97,61],[0,0,0,0,1,0,4,51,0,0,5,12,1,16,1,151,0,0,0,7,2,16,0,108,0,0,0,0,2,0,0,25],[0,0,0,1,2,0,192,57,0,0,0,0,1,1,0,75,0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57],[0,0,0,0,1,18,1,160,0,0,5,82,1,0,0,65,0,0,0,0,1,0,192,25,0,0,0,0,0,20,4,53],[0,0,5,2,1,0,0,65,0,0,5,2,2,64,0,156,0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16],[0,0,5,83,1,16,1,199,0,0,20,2,0,1,4,46,0,0,0,31,2,48,1,143,0,0,0,5,5,48,2,114],[0,0,17,198,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,17,190,0,0,65,61,0,0,0,0,6,2,0,75,0,0,17,213,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,84,0,25,0,0,0,3,2,32,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,38,1,207,0,0,0,0,6,38,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47,0,0,0,0,1,33,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,5,2,1,0,0,65,0,0,5,2,2,64,0,156,0,0,0,0,4,1,128,25],[0,0,0,64,1,64,2,16,0,0,6,74,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,17,229,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,17,222,0,0,65,61,0,0,0,0,5,4,0,75,0,0,17,243,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,20,3,0,1,4,48,0,0,0,56,8,64,0,140,0,0,18,69,0,0,65,61,0,0,0,32,9,64,2,112],[0,0,5,2,8,64,0,156,0,0,0,0,9,4,160,25,0,0,5,2,8,64,0,156,0,0,0,0,10,0,0,25],[0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25],[0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25],[0,0,0,1,9,0,32,57,0,0,5,58,10,112,0,156,0,0,18,165,0,0,33,61,0,0,0,0,8,152,1,159],[0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,2,9,128,0,58],[0,0,0,0,9,151,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53],[0,0,12,17,0,0,97,61,0,0,5,59,10,160,1,151,0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159],[0,0,5,63,10,160,1,199,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,1,95],[0,0,0,0,8,132,1,207,0,0,0,33,9,112,0,57,0,0,0,0,0,137,4,53,0,0,0,0,8,7,0,25],[0,0,18,86,0,0,1,61,0,0,0,56,8,64,0,140,0,0,18,145,0,0,65,61,0,0,0,32,9,64,2,112],[0,0,5,2,8,64,0,156,0,0,0,0,9,4,160,25,0,0,5,2,8,64,0,156,0,0,0,0,10,0,0,25],[0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25],[0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25],[0,0,0,1,9,0,32,57,0,0,5,58,10,96,0,156,0,0,18,165,0,0,33,61,0,0,0,0,8,152,1,159],[0,0,0,64,9,96,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,2,9,128,0,58],[0,0,0,0,9,150,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53],[0,0,12,17,0,0,97,61,0,0,5,59,10,160,1,151,0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159],[0,0,5,63,10,160,1,199,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,1,95],[0,0,0,0,8,132,1,207,0,0,0,33,9,96,0,57,0,0,0,0,0,137,4,53,0,0,0,0,8,6,0,25],[0,0,18,162,0,0,1,61,0,0,5,58,8,112,0,156,0,0,18,165,0,0,33,61,0,0,0,64,8,112,0,57],[0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,135,4,54],[0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53,0,0,12,17,0,0,97,61],[0,0,0,248,10,64,2,16,0,0,5,59,9,144,1,151,0,0,0,0,9,169,1,159,0,0,5,11,9,144,1,103],[0,0,0,0,0,152,4,53,0,0,0,0,8,7,0,25,0,0,0,64,7,0,4,61,0,0,5,58,9,112,0,156],[0,0,18,165,0,0,33,61,0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,2,33,3,79],[0,0,0,1,12,0,0,58,0,0,0,0,9,199,4,54,0,0,0,0,2,32,3,80,0,0,0,0,11,2,4,59],[0,0,0,0,0,185,4,53,0,0,12,17,0,0,97,61,0,0,5,59,2,176,1,151,0,0,5,64,10,32,1,199],[0,0,0,0,0,169,4,53,0,0,0,0,9,6,4,51,0,0,0,0,9,73,0,25,0,0,0,0,10,8,4,51],[0,0,0,0,9,169,0,25,0,0,0,0,10,7,4,51,0,0,0,0,9,169,0,25,0,0,0,64,10,0,4,61],[0,0,5,10,9,144,1,151,0,0,0,56,13,144,0,140,0,0,18,225,0,0,65,61,0,0,0,32,13,144,2,112],[0,0,5,2,12,144,0,156,0,0,0,0,13,9,160,25,0,0,5,2,12,144,0,156,0,0,0,0,14,0,0,25],[0,0,0,4,14,0,32,57,0,0,0,2,12,224,1,191,0,0,255,255,15,208,0,140,0,0,0,0,12,14,160,25],[0,0,0,16,14,208,2,112,0,0,0,0,14,13,160,25,0,0,0,255,13,224,0,140,0,0,0,0,13,0,0,25],[0,0,0,1,13,0,32,57,0,0,5,58,14,160,0,156,0,0,18,165,0,0,33,61,0,0,0,0,12,220,1,159],[0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57,0,0,0,0,0,189,4,53],[0,0,0,2,11,192,0,58,0,0,0,0,0,186,4,53,0,0,12,17,0,0,97,61,0,0,0,248,11,192,2,16],[0,0,0,0,2,43,1,159,0,0,5,65,2,32,1,199,0,0,0,0,0,45,4,53,0,0,0,3,2,192,2,16],[0,0,0,248,2,32,1,95,0,0,0,0,2,41,1,207,0,0,0,33,9,160,0,57,0,0,0,0,0,41,4,53],[0,0,18,238,0,0,1,61,0,0,5,58,8,96,0,156,0,0,18,165,0,0,33,61,0,0,0,64,8,96,0,57],[0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,134,4,54],[0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53,0,0,12,17,0,0,97,61],[0,0,0,248,10,64,2,16,0,0,5,59,9,144,1,151,0,0,0,0,9,169,1,159,0,0,5,11,9,144,1,103],[0,0,0,0,0,152,4,53,0,0,0,0,8,6,0,25,0,0,0,64,6,0,4,61,0,0,5,58,9,96,0,156],[0,0,18,169,0,0,161,61,0,0,5,88,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,65,0,0,1,61,0,0,0,64,9,96,0,57,0,0,0,64,0,144,4,63,0,0,0,0,2,33,3,79],[0,0,0,1,12,0,0,58,0,0,0,0,9,198,4,54,0,0,0,0,2,32,3,80,0,0,0,0,11,2,4,59],[0,0,0,0,0,185,4,53,0,0,12,17,0,0,97,61,0,0,5,59,2,176,1,151,0,0,5,64,10,32,1,199],[0,0,0,0,0,169,4,53,0,0,0,0,9,7,4,51,0,0,0,0,9,73,0,25,0,0,0,0,10,8,4,51],[0,0,0,0,9,169,0,25,0,0,0,0,10,6,4,51,0,0,0,0,9,169,0,25,0,0,0,64,10,0,4,61],[0,0,5,10,9,144,1,151,0,0,0,56,13,144,0,140,0,0,19,91,0,0,65,61,0,0,0,32,13,144,2,112],[0,0,5,2,12,144,0,156,0,0,0,0,13,9,160,25,0,0,5,2,12,144,0,156,0,0,0,0,14,0,0,25],[0,0,0,4,14,0,32,57,0,0,0,2,12,224,1,191,0,0,255,255,15,208,0,140,0,0,0,0,12,14,160,25],[0,0,0,16,14,208,2,112,0,0,0,0,14,13,160,25,0,0,0,255,13,224,0,140,0,0,0,0,13,0,0,25],[0,0,0,1,13,0,32,57,0,0,5,58,14,160,0,156,0,0,18,165,0,0,33,61,0,0,0,0,12,220,1,159],[0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57,0,0,0,0,0,189,4,53],[0,0,0,2,11,192,0,58,0,0,0,0,0,186,4,53,0,0,12,17,0,0,97,61,0,0,0,248,11,192,2,16],[0,0,0,0,2,43,1,159,0,0,5,65,2,32,1,199,0,0,0,0,0,45,4,53,0,0,0,3,2,192,2,16],[0,0,0,248,2,32,1,95,0,0,0,0,2,41,1,207,0,0,0,33,9,160,0,57,0,0,0,0,0,41,4,53],[0,0,19,104,0,0,1,61,0,0,5,58,13,160,0,156,0,0,18,165,0,0,33,61,0,0,0,64,13,160,0,57],[0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57,0,0,0,0,0,189,4,53,0,0,0,0,0,202,4,53],[0,0,0,0,11,12,0,75,0,0,12,17,0,0,97,61,0,0,0,248,9,144,2,16,0,0,0,0,2,41,1,159],[0,0,5,64,2,32,0,65,0,0,0,0,0,45,4,53,0,0,0,64,2,0,4,61,0,0,0,32,9,32,0,57],[0,0,5,66,11,0,0,65,0,0,0,0,0,185,4,53,0,0,0,33,12,32,0,57,0,0,0,0,11,10,4,51],[0,0,0,0,13,11,0,75,0,0,18,254,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,0,14,205,0,25],[0,0,0,32,13,208,0,57,0,0,0,0,15,173,0,25,0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53],[0,0,0,0,14,189,0,75,0,0,18,247,0,0,65,61,0,0,0,0,10,203,0,25,0,0,0,0,0,10,4,53],[0,0,0,0,10,43,0,25,0,0,0,33,12,160,0,57,0,0,0,0,11,6,4,51,0,0,0,0,13,11,0,75],[0,0,19,13,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,0,14,205,0,25,0,0,0,32,13,208,0,57],[0,0,0,0,15,109,0,25,0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53,0,0,0,0,14,189,0,75],[0,0,19,6,0,0,65,61,0,0,0,0,6,203,0,25,0,0,0,0,0,6,4,53,0,0,0,0,6,171,0,25],[0,0,0,33,11,96,0,57,0,0,0,0,10,8,4,51,0,0,0,0,12,10,0,75,0,0,19,28,0,0,97,61],[0,0,0,0,12,0,0,25,0,0,0,0,13,188,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,140,0,25],[0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,172,0,75,0,0,19,21,0,0,65,61],[0,0,0,0,8,186,0,25,0,0,0,0,0,8,4,53,0,0,0,0,5,81,3,79,0,0,0,0,1,106,0,25],[0,0,0,31,6,64,1,143,0,0,0,33,8,16,0,57,0,0,0,5,10,64,2,114,0,0,19,45,0,0,97,61],[0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16,0,0,0,0,13,200,0,25,0,0,0,0,12,197,3,79],[0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53,0,0,0,1,11,176,0,57,0,0,0,0,12,171,0,75],[0,0,19,37,0,0,65,61,0,0,0,0,11,6,0,75,0,0,19,60,0,0,97,61,0,0,0,5,10,160,2,16],[0,0,0,0,5,165,3,79,0,0,0,0,8,168,0,25,0,0,0,3,6,96,2,16,0,0,0,0,10,8,4,51],[0,0,0,0,10,106,1,207,0,0,0,0,10,106,2,47,0,0,0,0,5,5,4,59,0,0,1,0,6,96,0,137],[0,0,0,0,5,101,2,47,0,0,0,0,5,101,1,207,0,0,0,0,5,165,1,159,0,0,0,0,0,88,4,53],[0,0,0,0,1,65,0,25,0,0,0,33,5,16,0,57,0,0,0,0,0,5,4,53,0,0,0,0,4,7,4,51],[0,0,0,0,6,4,0,75,0,0,19,74,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,8,86,0,25],[0,0,0,32,6,96,0,57,0,0,0,0,10,118,0,25,0,0,0,0,10,10,4,51,0,0,0,0,0,168,4,53],[0,0,0,0,8,70,0,75,0,0,19,67,0,0,65,61,0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53],[0,0,0,0,1,33,0,73,0,0,0,0,1,20,0,25,0,0,0,1,4,16,0,57,0,0,0,0,0,66,4,53],[0,0,0,64,1,16,0,57,0,0,0,0,3,49,1,111,0,0,0,0,1,35,0,25,0,0,0,0,3,49,0,75],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,5,10,4,16,0,156,0,0,18,165,0,0,33,61],[0,0,0,1,3,48,1,144,0,0,19,212,0,0,97,61,0,0,18,165,0,0,1,61,0,0,5,58,13,160,0,156],[0,0,18,165,0,0,33,61,0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57],[0,0,0,0,0,189,4,53,0,0,0,0,0,202,4,53,0,0,0,0,11,12,0,75,0,0,12,17,0,0,97,61],[0,0,0,248,9,144,2,16,0,0,0,0,2,41,1,159,0,0,5,64,2,32,0,65,0,0,0,0,0,45,4,53],[0,0,0,64,2,0,4,61,0,0,0,32,9,32,0,57,0,0,5,13,11,0,0,65,0,0,0,0,0,185,4,53],[0,0,0,33,12,32,0,57,0,0,0,0,11,10,4,51,0,0,0,0,13,11,0,75,0,0,19,120,0,0,97,61],[0,0,0,0,13,0,0,25,0,0,0,0,14,205,0,25,0,0,0,32,13,208,0,57,0,0,0,0,15,173,0,25],[0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53,0,0,0,0,14,189,0,75,0,0,19,113,0,0,65,61],[0,0,0,0,10,203,0,25,0,0,0,0,0,10,4,53,0,0,0,0,10,43,0,25,0,0,0,33,12,160,0,57],[0,0,0,0,11,7,4,51,0,0,0,0,13,11,0,75,0,0,19,135,0,0,97,61,0,0,0,0,13,0,0,25],[0,0,0,0,14,205,0,25,0,0,0,32,13,208,0,57,0,0,0,0,15,125,0,25,0,0,0,0,15,15,4,51],[0,0,0,0,0,254,4,53,0,0,0,0,14,189,0,75,0,0,19,128,0,0,65,61,0,0,0,0,7,203,0,25],[0,0,0,0,0,7,4,53,0,0,0,0,7,171,0,25,0,0,0,33,11,112,0,57,0,0,0,0,10,8,4,51],[0,0,0,0,12,10,0,75,0,0,19,150,0,0,97,61,0,0,0,0,12,0,0,25,0,0,0,0,13,188,0,25],[0,0,0,32,12,192,0,57,0,0,0,0,14,140,0,25,0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53],[0,0,0,0,13,172,0,75,0,0,19,143,0,0,65,61,0,0,0,0,8,186,0,25,0,0,0,0,0,8,4,53],[0,0,0,0,5,81,3,79,0,0,0,0,1,122,0,25,0,0,0,31,7,64,1,143,0,0,0,33,8,16,0,57],[0,0,0,5,10,64,2,114,0,0,19,167,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16],[0,0,0,0,13,200,0,25,0,0,0,0,12,197,3,79,0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53],[0,0,0,1,11,176,0,57,0,0,0,0,12,171,0,75,0,0,19,159,0,0,65,61,0,0,0,0,11,7,0,75],[0,0,19,182,0,0,97,61,0,0,0,5,10,160,2,16,0,0,0,0,5,165,3,79,0,0,0,0,8,168,0,25],[0,0,0,3,7,112,2,16,0,0,0,0,10,8,4,51,0,0,0,0,10,122,1,207,0,0,0,0,10,122,2,47],[0,0,0,0,5,5,4,59,0,0,1,0,7,112,0,137,0,0,0,0,5,117,2,47,0,0,0,0,5,117,1,207],[0,0,0,0,5,165,1,159,0,0,0,0,0,88,4,53,0,0,0,0,1,65,0,25,0,0,0,33,5,16,0,57],[0,0,0,0,0,5,4,53,0,0,0,0,4,6,4,51,0,0,0,0,7,4,0,75,0,0,19,196,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,0,8,87,0,25,0,0,0,32,7,112,0,57,0,0,0,0,10,103,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,168,4,53,0,0,0,0,8,71,0,75,0,0,19,189,0,0,65,61],[0,0,0,0,5,84,0,25,0,0,0,0,0,5,4,53,0,0,0,0,1,33,0,73,0,0,0,0,1,20,0,25],[0,0,0,1,4,16,0,57,0,0,0,0,0,66,4,53,0,0,0,64,1,16,0,57,0,0,0,0,3,49,1,111],[0,0,0,0,1,35,0,25,0,0,0,0,3,49,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57],[0,0,5,10,4,16,0,156,0,0,18,165,0,0,33,61,0,0,0,1,3,48,1,144,0,0,18,165,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,5,2,1,0,0,65,0,0,5,2,3,144,0,156,0,0,0,0,9,1,128,25],[0,0,0,64,3,144,2,16,0,0,0,0,2,2,4,51,0,0,5,2,4,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,96,2,32,2,16,0,0,0,0,2,50,1,159,0,0,16,170,0,0,1,61,0,0,0,0,4,3,0,75],[0,0,19,233,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,0,5,36,0,25,0,0,0,0,6,20,0,25],[0,0,0,0,6,6,4,51,0,0,0,0,0,101,4,53,0,0,0,32,4,64,0,57,0,0,0,0,5,52,0,75],[0,0,19,226,0,0,65,61,0,0,0,0,1,35,0,25,0,0,0,0,0,1,4,53,0,0,0,0,0,1,4,45],[0,0,0,0,0,1,4,47,0,0,19,240,0,33,4,33,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,19,245,0,33,4,35,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,19,250,0,33,4,33],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,19,255,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,20,1,0,0,4,50,0,0,20,2,0,1,4,46,0,0,20,3,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,223,156,21,136],[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,223,156,21,137],[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,226,243,24,227],[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,238,184,203,9],[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,32,43,204,231],[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,162,140,26,238],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[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],[114,97,116,111,114,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],[70,97,105,108,101,100,32,116,111,32,112,97,121,32,116,104,101,32,102,101,101,32,116,111,32,116,104,101,32,111,112,101],[8,195,121,160,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,132,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[255,255,255,255,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],[236,249,91,138,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],[156,77,83,91,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],[60,218,51,81,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],[93,56,39,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,255,255,255,255,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,0,0,1,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,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],[79,118,101,114,102,108,111,119,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,100,0,0,0,128,0,0,0,0,0,0,0,0],[148,148,49,220,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],[140,90,52,69,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],[85,110,115,117,112,112,111,114,116,101,100,32,112,97,121,109,97,115,116,101,114,32,102,108,111,119,0,0,0,0,0,0],[221,98,237,62,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,68,0,0,0,128,0,0,0,0,0,0,0,0],[9,94,167,179,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],[83,97,102,101,69,82,67,50,48,58,32,108,111,119,45,108,101,118,101,108,32,99,97,108,108,32,102,97,105,108,101,100],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,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,68,0,0,0,0,0,0,0,0,0,0,0,0],[83,97,102,101,69,82,67,50,48,58,32,97,112,112,114,111,118,101,32,102,114,111,109,32,110,111,110,45,122,101,114,111],[32,116,111,32,110,111,110,45,122,101,114,111,32,97,108,108,111,119,97,110,99,101,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,255,255,255,255,255,255,255,127],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,63],[111,116,32,115,117,99,99,101,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[83,97,102,101,69,82,67,50,48,58,32,69,82,67,50,48,32,111,112,101,114,97,116,105,111,110,32,100,105,100,32,110],[65,100,100,114,101,115,115,58,32,99,97,108,108,32,116,111,32,110,111,110,45,99,111,110,116,114,97,99,116,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0],[84,104,101,32,97,112,112,114,111,118,97,108,66,97,115,101,100,32,112,97,121,109,97,115,116,101,114,32,105,110,112,117],[116,32,109,117,115,116,32,98,101,32,97,116,32,108,101,97,115,116,32,54,56,32,98,121,116,101,115,32,108,111,110,103],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,128,0,0,0,0,0,0,0,0],[84,104,101,32,115,116,97,110,100,97,114,100,32,112,97,121,109,97,115,116,101,114,32,105,110,112,117,116,32,109,117,115],[116,32,98,101,32,97,116,32,108,101,97,115,116,32,52,32,98,121,116,101,115,32,108,111,110,103,0,0,0,0,0,0],[225,35,156,216,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,160,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,255,255,255,224],[69,110,99,111,100,105,110,103,32,117,110,115,117,112,112,111,114,116,101,100,32,116,120,0,0,0,0,0,0,0,0,0],[154,138,5,146,172,137,197,173,59,198,223,130,36,193,123,72,89,118,245,151,223,16,78,226,13,13,244,21,36,31,103,11],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,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,255,255,255,255,255,255,255,191],[0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[129,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],[148,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],[184,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],[192,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],[248,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,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,0,0,0,0,0,0,0,1,0,0,0,0],[7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[107,101,99,99,97,107,50,53,54,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0],[132,142,27,250,26,196,227,87,107,114,139,218,103,33,178,21,199,10,119,153,165,180,134,98,130,167,27,171,149,75,170,200],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,31],[194,248,120,113,118,184,172,107,247,33,91,74,220,193,224,105,191,74,184,45,154,177,223,5,165,122,145,212,37,147,91,110],[173,124,91,239,2,120,22,168,0,218,23,54,68,79,181,138,128,126,244,201,96,59,120,72,103,63,126,58,104,235,20,165],[25,180,83,206,69,170,170,243,163,0,245,169,236,149,134,155,79,40,171,16,67,11,87,46,226,24,195,166,165,224,125,111],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,95],[25,1,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],[128,128,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],[156,199,247,8,175,198,89,68,130,155,212,135,185,11,114,83,107,25,81,134,79,191,193,78,18,95,201,114,166,80,127,57],[83,105,103,110,97,116,117,114,101,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,114,114,101,99,116,0,0,0],[127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,93,87,110,115,87,164,80,29,223,233,47,70,104,27,32,161],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0],[32,43,204,231,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[73,110,118,97,108,105,100,32,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[118,32,105,115,32,110,101,105,116,104,101,114,32,50,55,32,110,111,114,32,50,56,0,0,0,0,0,0,0,0,0,0],[117,101,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],[78,111,116,32,101,110,111,117,103,104,32,98,97,108,97,110,99,101,32,102,111,114,32,102,101,101,32,43,32,118,97,108],[78,72,123,113,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,36,0,0,0,0,0,0,0,0,0,0,0,0],[205,226,41,223,135,157,189,123,19,91,210,22,87,91,13,13,139,233,20,214,167,167,41,134,204,148,77,212,186,226,50,198]],"predeployed_contracts":{"0x0000000000000000000000000000000000000001":[[0,0,0,1,2,32,1,144,0,0,0,32,0,0,193,61,0,0,0,96,2,16,3,112,0,0,0,0,2,2,4,59],[0,0,0,12,5,32,0,65,0,0,0,64,3,16,3,112,0,0,0,0,3,3,4,59,0,0,0,12,6,48,0,65],[0,0,0,32,4,16,3,112,0,0,0,0,4,4,4,59,0,0,0,29,7,64,0,138,0,0,0,2,8,0,0,138],[0,0,0,0,7,135,0,75,0,0,0,30,0,0,65,61,0,0,0,13,6,96,0,156,0,0,0,30,0,0,65,61],[0,0,0,12,5,80,0,156,0,0,0,30,0,0,161,61,0,0,0,0,1,1,4,59,0,0,0,0,0,16,4,53],[0,0,0,27,1,64,0,138,0,0,0,32,0,16,4,63,0,0,0,64,0,48,4,63,0,0,0,96,0,32,4,63],[0,0,4,88,1,0,0,57,0,0,0,14,2,0,0,65,0,0,0,0,1,18,4,32,0,0,0,0,2,0,4,51],[0,0,0,0,1,18,1,112,0,0,0,37,0,0,193,61,0,0,0,0,1,0,0,25,0,0,0,40,0,1,4,46],[0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,11,1,0,0,65],[0,0,0,40,0,1,4,46,0,0,0,15,1,0,0,65,0,0,0,40,0,1,4,46,0,0,0,39,0,0,4,50],[0,0,0,40,0,1,4,46,0,0,0,41,0,1,4,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,69,81,35,25,80,183,95,196,64,45,161,115,47,201,190,191],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,69,81,35,25,80,183,95,196,64,45,161,115,47,201,190,192],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,0],[205,76,193,251,171,13,182,237,9,254,102,184,97,34,209,59,23,93,45,253,17,17,77,105,136,160,250,31,151,204,138,222]],"0x0000000000000000000000000000000000000006":[[0,4,0,0,0,0,0,2,0,0,0,1,2,32,1,144,0,0,0,17,0,0,193,61,0,0,0,96,2,16,3,112],[0,0,0,0,2,2,4,59,0,0,0,64,3,16,3,112,0,0,0,0,3,3,4,59,0,0,0,0,5,50,1,159],[0,0,0,0,20,1,4,60,0,0,0,0,1,1,4,59,0,0,0,0,6,65,1,159,0,0,0,0,7,101,1,160],[0,0,0,22,0,0,193,61,0,0,0,0,0,0,4,53,0,0,0,32,0,0,4,63,0,0,0,141,1,0,0,65],[0,0,2,8,0,1,4,46,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,0,131,1,0,0,65,0,0,2,8,0,1,4,46,0,0,0,0,7,5,0,75,0,0,0,87,0,0,97,61],[0,0,0,0,7,6,0,75,0,0,0,87,0,0,193,61,0,0,0,132,1,48,0,156,0,0,0,30,0,0,33,61],[0,0,0,132,1,32,0,156,0,0,0,32,0,0,161,61,0,0,0,0,1,0,4,20,0,0,0,0,1,16,4,32],[0,0,0,0,1,3,0,75,0,0,0,133,65,48,0,209,0,0,0,1,4,64,192,57,0,0,0,134,81,48,0,209],[0,0,0,135,81,16,0,209,0,0,0,0,1,84,0,25,0,0,0,136,4,16,0,65,0,0,0,132,5,16,0,156],[0,0,0,0,4,1,160,25,0,0,0,0,81,68,0,170,0,0,0,1,5,80,192,57,0,0,0,137,97,16,0,209],[0,0,0,135,97,16,0,209,0,0,0,0,1,101,0,25,0,0,0,136,5,16,0,65,0,0,0,132,6,16,0,156],[0,0,0,0,5,1,160,25,0,0,0,0,65,69,0,170,0,0,0,1,4,64,192,57,0,0,0,0,5,2,0,75],[0,0,0,133,101,32,0,209,0,0,0,1,6,96,192,57,0,0,0,134,117,32,0,209,0,0,0,135,117,80,0,209],[0,0,0,0,5,118,0,25,0,0,0,136,6,80,0,65,0,0,0,132,7,80,0,156,0,0,0,0,6,5,160,25],[0,0,0,0,101,102,0,170,0,0,0,1,6,96,192,57,0,0,0,137,113,16,0,209,0,0,0,137,117,80,0,209],[0,0,0,135,113,16,0,209,0,0,0,0,1,116,0,25,0,0,0,135,84,80,0,209,0,0,0,0,4,86,0,25],[0,0,0,136,5,16,0,65,0,0,0,132,6,16,0,156,0,0,0,0,5,1,160,25,0,0,0,136,1,64,0,65],[0,0,0,132,6,64,0,156,0,0,0,0,1,4,160,25,0,0,0,138,4,0,0,65,0,0,0,139,6,0,0,65],[0,0,0,140,7,80,0,156,0,0,0,0,6,4,160,25,0,0,0,0,4,86,0,25,0,0,0,0,1,65,0,75],[0,0,0,83,0,0,97,61,0,0,0,0,1,0,4,20,0,0,0,0,1,16,4,32,0,0,0,0,0,48,4,53],[0,0,0,32,0,32,4,63,0,0,0,141,1,0,0,65,0,0,2,8,0,1,4,46,0,0,0,132,7,16,0,156],[0,0,0,0,7,0,0,25,0,0,0,1,7,0,32,57,0,0,0,132,8,64,0,156,0,0,0,1,7,112,33,191],[0,0,0,0,6,6,0,75,0,0,0,153,0,0,97,61,0,0,0,0,5,5,0,75,0,0,0,153,0,0,193,61],[0,0,0,1,2,112,1,144,0,0,0,100,0,0,97,61,0,0,0,0,2,0,4,20,0,0,0,0,2,32,4,32],[0,0,0,0,2,4,0,75,0,0,0,133,50,64,0,209,0,0,0,1,3,48,192,57,0,0,0,134,82,64,0,209],[0,0,0,135,82,32,0,209,0,0,0,0,2,83,0,25,0,0,0,136,3,32,0,65,0,0,0,132,5,32,0,156],[0,0,0,0,3,2,160,25,0,0,0,0,82,51,0,170,0,0,0,1,5,80,192,57,0,0,0,137,98,32,0,209],[0,0,0,135,98,32,0,209,0,0,0,0,2,101,0,25,0,0,0,136,5,32,0,65,0,0,0,132,6,32,0,156],[0,0,0,0,5,2,160,25,0,0,0,0,50,53,0,170,0,0,0,1,3,48,192,57,0,0,0,0,5,1,0,75],[0,0,0,133,101,16,0,209,0,0,0,1,6,96,192,57,0,0,0,134,117,16,0,209,0,0,0,135,117,80,0,209],[0,0,0,0,5,118,0,25,0,0,0,136,6,80,0,65,0,0,0,132,7,80,0,156,0,0,0,0,6,5,160,25],[0,0,0,0,101,102,0,170,0,0,0,1,6,96,192,57,0,0,0,137,114,32,0,209,0,0,0,137,117,80,0,209],[0,0,0,135,114,32,0,209,0,0,0,0,2,115,0,25,0,0,0,135,83,80,0,209,0,0,0,0,3,86,0,25],[0,0,0,136,5,32,0,65,0,0,0,132,6,32,0,156,0,0,0,0,5,2,160,25,0,0,0,136,2,48,0,65],[0,0,0,132,6,48,0,156,0,0,0,0,2,3,160,25,0,0,0,138,3,0,0,65,0,0,0,139,6,0,0,65],[0,0,0,140,7,80,0,156,0,0,0,0,6,3,160,25,0,0,0,0,3,86,0,25,0,0,0,0,2,50,0,75],[0,0,0,151,0,0,97,61,0,0,0,0,2,0,4,20,0,0,0,0,2,32,4,32,0,0,0,0,0,64,4,53],[0,0,1,193,0,0,1,61,0,0,0,1,5,112,1,144,0,0,0,157,0,0,97,61,0,0,0,0,5,0,4,20],[0,0,0,0,5,80,4,32,0,0,0,132,5,48,0,156,0,0,0,161,0,0,33,61,0,0,0,135,5,32,0,156],[0,0,0,163,0,0,65,61,0,0,0,0,5,0,4,20,0,0,0,0,5,80,4,32,0,0,0,135,5,0,0,65],[0,0,0,0,6,21,0,73,0,0,0,135,103,96,1,42,0,0,0,0,7,52,0,75,0,0,0,241,0,0,193,61],[0,0,0,0,6,38,0,75,0,0,0,241,0,0,193,61,0,0,0,0,3,4,0,75,0,0,0,133,83,64,0,209],[0,0,0,1,5,80,192,57,0,0,0,134,67,64,0,209,0,0,0,135,67,48,0,209,0,0,0,0,3,69,0,25],[0,0,0,136,4,48,0,65,0,0,0,132,5,48,0,156,0,0,0,0,4,3,160,25,0,0,0,0,83,68,0,170],[0,0,0,1,5,80,192,57,0,0,0,137,99,48,0,209,0,0,0,135,99,48,0,209,0,0,0,0,3,101,0,25],[0,0,0,136,5,48,0,65,0,0,0,132,6,48,0,156,0,0,0,0,5,3,160,25,0,0,0,0,52,69,0,170],[0,0,0,1,3,48,192,57,0,0,0,0,5,2,0,75,0,0,0,133,101,32,0,209,0,0,0,1,6,96,192,57],[0,0,0,134,82,32,0,209,0,0,0,135,82,32,0,209,0,0,0,0,2,86,0,25,0,0,0,136,5,32,0,65],[0,0,0,132,6,32,0,156,0,0,0,0,5,2,160,25,0,0,0,0,82,85,0,170,0,0,0,1,5,80,192,57],[0,0,0,0,6,1,0,75,0,0,0,133,118,16,0,209,0,0,0,1,7,112,192,57,0,0,0,134,97,16,0,209],[0,0,0,135,97,16,0,209,0,0,0,0,1,103,0,25,0,0,0,136,6,16,0,65,0,0,0,132,7,16,0,156],[0,0,0,0,6,1,160,25,0,0,0,0,97,102,0,170,0,0,0,1,6,96,192,57,0,0,0,137,116,64,0,209],[0,0,0,137,114,32,0,209,0,0,0,135,114,32,0,209,0,0,0,0,2,117,0,25,0,0,0,137,21,16,0,209],[0,0,0,135,65,64,0,209,0,0,0,0,1,67,0,25,0,0,0,136,3,16,0,65,0,0,0,132,4,16,0,156],[0,0,0,0,3,1,160,25,0,0,0,136,1,32,0,65,0,0,0,132,4,32,0,156,0,0,0,0,1,2,160,25],[0,0,0,135,66,80,0,209,0,0,0,0,2,70,0,25,0,0,0,136,4,32,0,65,0,0,0,132,5,32,0,156],[0,0,0,0,4,2,160,25,0,0,0,138,2,0,0,65,0,0,0,139,5,0,0,65,0,0,0,140,6,48,0,156],[0,0,0,0,5,2,160,25,0,0,0,0,2,53,0,25,0,0,0,0,3,36,0,75,0,0,0,238,0,0,193,61],[0,0,0,0,1,33,0,75,0,0,0,13,0,0,97,61,0,0,0,0,1,0,4,20,0,0,0,0,1,16,4,32],[0,0,0,13,0,0,1,61,0,0,0,0,5,37,0,73,0,0,0,135,86,80,1,42,0,0,0,0,6,52,0,75],[0,0,0,251,0,0,193,61,0,0,0,0,5,81,0,75,0,0,0,251,0,0,97,61,0,0,0,0,5,33,0,75],[0,0,0,251,0,0,97,61,0,0,0,0,5,0,4,20,0,0,0,0,5,80,4,32,0,0,0,0,5,4,0,75],[0,0,0,133,101,64,0,209,0,0,0,1,6,96,192,57,0,0,0,134,117,64,0,209,0,0,0,135,117,80,0,209],[0,0,0,0,5,118,0,25,0,0,0,136,12,80,0,65,0,0,0,132,6,80,0,156,0,0,0,0,12,5,160,25],[0,0,0,0,101,204,0,170,0,0,0,1,6,96,192,57,0,0,0,137,117,80,0,209,0,0,0,135,117,80,0,209],[0,0,0,0,5,118,0,25,0,0,0,136,6,80,0,65,0,0,0,132,7,80,0,156,0,0,0,0,6,5,160,25],[0,0,0,0,101,198,0,170,0,0,0,1,6,96,192,57,0,0,0,0,7,1,0,75,0,0,0,133,135,16,0,209],[0,0,0,1,8,128,192,57,0,0,0,134,151,16,0,209,0,0,0,135,151,112,0,209,0,0,0,0,7,152,0,25],[0,0,0,136,13,112,0,65,0,0,0,132,8,112,0,156,0,0,0,0,13,7,160,25,0,0,0,0,135,221,0,170],[0,0,0,1,8,128,192,57,0,0,0,137,149,80,0,209,0,0,0,137,151,112,0,209,0,0,0,135,149,80,0,209],[0,0,0,0,5,150,0,25,0,0,0,135,118,112,0,209,0,0,0,0,6,120,0,25,0,0,0,136,8,80,0,65],[0,0,0,132,7,80,0,156,0,0,0,0,8,5,160,25,0,0,0,136,5,96,0,65,0,0,0,132,7,96,0,156],[0,0,0,0,5,6,160,25,0,0,0,138,7,0,0,65,0,0,0,139,6,0,0,65,0,0,0,140,9,128,0,156],[0,0,0,0,9,7,0,25,0,0,0,0,9,6,32,25,0,0,0,0,8,137,0,25,0,0,0,0,4,52,0,75],[0,4,0,0,0,12,0,29,0,0,1,96,0,0,193,61,0,0,0,0,1,33,0,75,0,0,1,96,0,0,193,61],[0,3,0,0,0,13,0,29,0,0,0,0,1,133,0,75,0,0,1,53,0,0,97,61,0,0,0,0,1,0,4,20],[0,0,0,0,1,16,4,32,0,0,0,0,1,12,0,25,0,0,0,0,2,12,0,25,2,7,1,204,0,0,4,15],[0,0,0,135,33,16,1,42,0,0,0,1,1,32,2,16,0,0,0,135,49,16,1,42,0,0,0,0,1,35,0,25],[0,0,0,135,18,16,1,42,0,0,0,3,2,0,0,41,0,0,0,135,50,32,1,42,0,0,0,1,2,48,2,16],[0,0,0,135,35,32,1,42,2,7,1,213,0,0,4,15,0,2,0,0,0,1,0,29,0,0,0,0,2,1,0,25],[2,7,1,204,0,0,4,15,0,0,0,4,2,0,0,41,0,0,0,135,50,32,1,42,0,0,0,1,2,48,2,16],[0,0,0,135,66,32,1,42,0,0,0,135,5,0,0,65,0,0,0,0,2,69,0,73,0,0,0,135,66,32,1,42],[0,0,0,135,33,16,1,42,0,0,0,0,1,66,0,25,0,0,0,135,33,16,1,42,0,4,0,0,0,2,0,29],[0,0,0,0,1,37,0,73,0,0,0,135,33,16,1,42,0,0,0,0,1,50,0,25,0,0,0,135,33,16,1,42],[0,0,0,2,1,0,0,41,2,7,1,204,0,0,4,15,0,2,0,0,0,1,0,29,0,0,0,4,1,0,0,41],[2,7,1,196,0,0,4,15,0,0,0,135,3,0,0,65,0,0,0,3,2,48,0,106,0,0,0,135,50,32,1,42],[0,0,0,2,2,0,0,41,0,0,0,135,66,32,1,42,0,0,0,0,2,52,0,25,0,0,1,187,0,0,1,61],[0,0,0,0,1,3,0,75,0,0,0,133,65,48,0,209,0,0,0,1,4,64,192,57,0,0,0,134,49,48,0,209],[0,0,0,135,49,16,0,209,0,0,0,0,1,52,0,25,0,0,0,136,3,16,0,65,0,0,0,132,4,16,0,156],[0,0,0,0,3,1,160,25,0,0,0,0,65,51,0,170,0,0,0,1,4,64,192,57,0,0,0,137,145,16,0,209],[0,0,0,135,145,16,0,209,0,0,0,0,1,148,0,25,0,0,0,136,4,16,0,65,0,0,0,132,9,16,0,156],[0,0,0,0,4,1,160,25,0,0,0,0,148,52,0,170,0,0,0,1,9,144,192,57,0,0,0,0,1,2,0,75],[0,0,0,133,161,32,0,209,0,0,0,1,10,160,192,57,0,0,0,134,33,32,0,209,0,0,0,135,33,16,0,209],[0,0,0,0,2,42,0,25,0,0,0,136,1,32,0,65,0,0,0,132,10,32,0,156,0,0,0,0,1,2,160,25],[0,0,0,0,162,17,0,170,0,0,0,1,10,160,192,57,0,0,0,137,180,64,0,209,0,0,0,137,178,32,0,209],[0,0,0,135,180,64,0,209,0,0,0,0,4,185,0,25,0,0,0,135,146,32,0,209,0,0,0,0,9,154,0,25],[0,0,0,136,2,64,0,65,0,0,0,132,10,64,0,156,0,0,0,0,2,4,160,25,0,0,0,136,4,144,0,65],[0,0,0,132,10,144,0,156,0,0,0,0,4,9,160,25,0,0,0,140,9,32,0,156,0,0,0,0,6,7,160,25],[0,0,0,0,5,133,0,75,0,0,1,145,0,0,193,61,0,0,0,0,2,38,0,25,0,0,0,0,2,36,0,75],[0,0,1,147,0,0,97,61,0,0,0,0,2,0,4,20,0,0,0,0,2,32,4,32,0,0,0,135,5,0,0,65],[0,0,0,0,2,213,0,73,0,0,0,135,66,32,1,42,0,3,0,0,0,4,0,29,0,0,0,135,33,16,1,42],[0,0,0,0,1,66,0,25,0,0,0,135,18,16,1,42,0,0,0,0,2,197,0,73,0,0,0,135,66,32,1,42],[0,0,0,135,50,48,1,42,0,1,0,0,0,3,0,29,0,0,0,0,2,67,0,25,0,0,0,135,35,32,1,42],[2,7,1,213,0,0,4,15,0,2,0,0,0,1,0,29,0,0,0,0,2,1,0,25,2,7,1,204,0,0,4,15],[0,0,0,4,2,0,0,41,0,0,0,135,50,32,1,42,0,0,0,1,2,48,0,41,0,0,0,135,66,32,1,42],[0,0,0,135,5,0,0,65,0,0,0,0,2,69,0,73,0,0,0,135,66,32,1,42,0,0,0,135,33,16,1,42],[0,0,0,0,1,66,0,25,0,0,0,135,33,16,1,42,0,4,0,0,0,2,0,29,0,0,0,0,1,37,0,73],[0,0,0,135,33,16,1,42,0,0,0,0,1,50,0,25,0,0,0,135,33,16,1,42,0,0,0,2,1,0,0,41],[2,7,1,204,0,0,4,15,0,2,0,0,0,1,0,29,0,0,0,4,1,0,0,41,2,7,1,196,0,0,4,15],[0,0,0,2,2,0,0,41,0,0,0,135,50,32,1,42,0,0,0,3,2,48,0,41,0,0,0,135,35,32,1,42],[0,4,0,0,0,1,0,29,0,0,0,0,1,2,0,25,2,7,1,196,0,0,4,15,0,0,0,4,2,0,0,41],[0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,141,1,0,0,65,0,0,2,8,0,1,4,46],[0,0,0,0,2,1,0,75,0,0,0,137,33,16,0,209,0,0,0,135,33,16,0,209,0,0,0,1,2,32,192,57],[0,0,0,136,1,32,0,65,0,0,0,132,3,32,0,156,0,0,0,0,1,2,160,25,0,0,0,0,0,1,4,45],[0,0,0,0,33,18,0,170,0,0,0,1,2,32,192,57,0,0,0,137,49,16,0,209,0,0,0,135,49,16,0,209],[0,0,0,0,2,50,0,25,0,0,0,136,1,32,0,65,0,0,0,132,3,32,0,156,0,0,0,0,1,2,160,25],[0,0,0,0,0,1,4,45,0,0,0,133,3,0,0,65,0,0,0,1,4,32,0,140,0,0,1,254,0,0,97,61],[0,0,0,135,4,0,0,65,0,0,0,133,3,0,0,65,0,0,0,0,5,0,0,25,0,0,0,1,6,32,1,144],[0,0,1,227,0,0,193,61,0,0,0,1,6,48,1,144,0,0,0,135,3,48,192,65,0,0,0,2,6,32,1,144],[0,0,0,1,2,32,2,112,0,0,0,1,3,48,2,112,0,0,1,221,0,0,97,61,0,0,0,1,6,64,1,144],[0,0,1,235,0,0,193,61,0,0,0,1,6,80,1,144,0,0,0,135,5,80,192,65,0,0,0,2,6,64,1,144],[0,0,0,1,4,64,2,112,0,0,0,1,5,80,2,112,0,0,1,229,0,0,97,61,0,0,0,0,6,36,0,75],[0,0,1,243,0,0,161,61,0,0,0,135,6,80,0,65,0,0,0,0,7,53,0,75,0,0,0,0,6,5,128,25],[0,0,0,0,5,54,0,73,0,0,0,0,4,36,0,73,0,0,1,248,0,0,1,61,0,0,0,135,6,48,0,65],[0,0,0,0,7,83,0,75,0,0,0,0,6,3,128,25,0,0,0,0,3,86,0,73,0,0,0,0,2,66,0,73],[0,0,0,1,6,32,0,140,0,0,1,252,0,0,97,61,0,0,0,1,6,64,0,140,0,0,1,219,0,0,193,61],[0,0,0,1,2,32,0,140,0,0,0,0,3,5,192,25,0,0,0,0,33,19,0,170,0,0,0,1,2,32,192,57],[0,0,0,137,49,16,0,209,0,0,0,135,49,16,0,209,0,0,0,0,2,50,0,25,0,0,0,136,1,32,0,65],[0,0,0,132,3,32,0,156,0,0,0,0,1,2,160,25,0,0,0,0,0,1,4,45,0,0,2,7,0,0,4,50],[0,0,2,8,0,1,4,46,0,0,2,9,0,1,4,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[48,100,78,114,225,49,160,41,184,80,69,182,129,129,88,93,151,129,106,145,104,113,202,141,60,32,140,22,216,124,253,70],[6,216,159,113,202,184,53,31,71,171,30,255,10,65,127,246,181,231,25,17,212,69,1,251,243,44,252,91,83,138,250,137],[74,71,70,38,35,160,74,122,176,116,165,134,128,115,1,58,233,101,225,118,124,212,192,134,243,174,216,161,155,249,14,81],[48,100,78,114,225,49,160,41,184,80,69,182,129,129,88,93,151,129,106,145,104,113,202,141,60,32,140,22,216,124,253,71],[207,155,177,141,30,206,95,214,71,175,186,73,126,126,167,162,104,126,149,110,151,142,53,114,195,223,115,233,39,131,2,185],[245,122,34,183,145,136,140,107,216,175,203,208,24,51,218,128,158,222,125,101,30,202,106,201,135,210,7,130,228,134,99,137],[42,31,103,68,206,23,157,142,51,75,234,78,105,107,210,132,31,106,193,122,225,85,33,185,122,23,202,169,80,173,40,215],[249,187,24,209,236,229,253,100,122,251,164,151,231,234,122,38,135,233,86,233,120,227,87,44,61,247,62,146,120,48,43,144],[6,68,231,46,19,26,2,155,133,4,91,104,24,21,133,217,120,22,169,22,135,28,168,211,194,8,193,109,135,207,212,111],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[7,155,177,253,3,237,92,151,14,41,125,66,188,24,151,228,93,136,135,3,202,158,108,195,48,138,79,213,56,163,134,170]],"0x000000000000000000000000000000000000800d":[[0,5,0,0,0,0,0,2,0,0,0,0,0,4,0,31,0,1,0,0,0,5,0,31,0,2,0,0,0,6,0,31],[0,3,0,0,0,7,0,31,0,4,0,0,0,1,3,85,0,0,0,96,1,16,2,112,0,0,0,20,1,16,1,151],[0,0,0,1,4,32,1,144,0,0,0,69,0,0,193,61,0,0,0,2,2,32,1,144,0,0,0,67,0,0,97,61],[0,0,0,5,2,48,0,140,0,0,0,67,0,0,129,61,0,0,0,32,2,16,2,16,0,0,0,0,2,35,0,25],[0,0,0,1,2,32,0,57,0,0,0,0,4,0,4,17,0,0,0,0,0,66,4,31,0,0,0,1,2,48,0,140],[0,0,0,33,0,0,161,61,0,0,0,2,2,48,0,140,0,0,0,41,0,0,97,61,0,0,0,3,2,48,0,140],[0,0,0,46,0,0,97,61,0,0,0,4,2,48,0,140,0,0,0,67,0,0,193,61,0,0,0,1,2,0,0,49],[0,0,0,0,3,0,0,49,0,0,0,0,0,35,4,30,0,0,0,3,2,0,0,49,0,0,0,2,3,0,0,49],[0,0,0,43,0,0,1,61,0,0,0,0,2,3,0,75,0,0,0,54,0,0,97,61,0,0,0,1,2,48,0,140],[0,0,0,67,0,0,193,61,0,0,0,4,2,0,3,103,0,0,0,0,2,2,4,59,0,0,0,0,3,0,0,49],[0,0,0,52,0,0,1,61,0,0,0,1,2,0,0,49,0,0,0,0,3,0,0,49,0,0,0,0,0,35,4,30],[0,0,0,0,3,0,0,25,0,0,0,54,0,0,1,61,0,0,0,1,2,0,0,49,0,0,0,0,3,0,0,49],[0,0,0,0,0,35,4,30,0,0,0,4,2,0,3,103,0,0,0,0,2,2,4,59,0,0,0,2,3,0,0,49],[0,0,0,0,0,35,4,30,0,0,0,32,3,0,0,57,0,0,0,0,2,19,0,75,0,0,0,65,0,0,129,61],[0,0,0,32,2,48,0,57,0,0,0,4,2,32,3,103,0,0,0,4,4,48,3,103,0,0,0,0,4,4,4,59],[0,0,0,0,2,2,4,59,0,0,0,0,0,36,4,30,0,0,0,64,3,48,0,57,0,0,0,0,2,19,0,75],[0,0,0,56,0,0,65,61,0,0,0,0,1,0,0,25,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25],[0,0,0,76,0,1,4,48,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,0,21,1,0,0,65,0,0,0,75,0,1,4,46,0,0,0,74,0,0,4,50,0,0,0,75,0,1,4,46],[0,0,0,76,0,1,4,48,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,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[180,184,165,48,127,13,205,253,29,139,217,234,142,173,226,137,254,133,108,230,229,7,36,30,205,42,49,201,117,98,142,148]],"0x000000000000000000000000000000000000800a":[[0,5,0,0,0,0,0,2,0,0,0,128,3,0,0,57,0,0,0,64,0,48,4,63,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,0,215,3,48,1,151,0,0,0,1,2,32,1,144,0,0,0,36,0,0,193,61],[0,0,0,4,2,48,0,140,0,0,3,10,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112],[0,0,0,217,4,32,0,156,0,0,0,44,0,0,161,61,0,0,0,218,4,32,0,156,0,0,0,56,0,0,161,61],[0,0,0,219,4,32,0,156,0,0,0,149,0,0,97,61,0,0,0,220,4,32,0,156,0,0,1,234,0,0,97,61],[0,0,0,221,2,32,0,156,0,0,3,10,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75],[0,0,3,10,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,3,10,0,0,65,61],[0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,0,0,229,1,16,1,151,0,0,0,0,0,16,4,53],[0,0,0,32,0,0,4,63,0,0,0,0,1,0,0,25,3,88,3,60,0,0,4,15,0,0,0,54,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,10,0,0,193,61,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,216,1,0,0,65,0,0,3,89,0,1,4,46],[0,0,0,224,4,32,0,156,0,0,0,96,0,0,33,61,0,0,0,227,1,32,0,156,0,0,1,166,0,0,97,61],[0,0,0,228,1,32,0,156,0,0,3,10,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,10,0,0,193,61,0,0,0,1,1,0,0,57,0,0,0,0,1,1,4,26,0,0,1,231,0,0,1,61],[0,0,0,222,4,32,0,156,0,0,1,175,0,0,97,61,0,0,0,223,2,32,0,156,0,0,3,10,0,0,193,61],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,3,10,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,96,2,32,0,140,0,0,3,10,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,4,2,4,59],[0,0,0,229,2,64,0,156,0,0,3,10,0,0,33,61,0,0,0,36,2,16,3,112,0,0,0,0,2,2,4,59],[0,0,0,229,5,32,1,151,0,0,0,229,2,32,0,156,0,0,3,10,0,0,33,61,0,0,0,0,2,0,4,17],[0,0,0,68,1,16,3,112,0,0,0,0,3,1,4,59,0,0,128,6,1,32,0,140,0,0,2,9,0,0,97,61],[0,0,0,9,1,0,0,138,0,0,0,0,1,18,1,111,0,0,128,1,1,16,0,140,0,0,2,9,0,0,97,61],[0,0,0,240,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,62,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,241,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,0,242,1,0,0,65,0,0,0,228,0,16,4,63,0,0,0,243,1,0,0,65,0,0,3,90,0,1,4,48],[0,0,0,225,4,32,0,156,0,0,1,227,0,0,97,61,0,0,0,226,2,32,0,156,0,0,3,10,0,0,193,61],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,3,10,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,64,2,32,0,140,0,0,3,10,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,4,2,4,59],[0,0,0,229,2,64,0,156,0,0,3,10,0,0,33,61,0,0,0,36,1,16,3,112,0,0,0,0,5,1,4,59],[0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140,0,0,1,255,0,0,193,61,0,0,0,1,1,0,0,57],[0,0,0,0,3,1,4,26,0,0,0,0,2,83,0,25,0,0,0,0,3,50,0,75,0,0,0,0,3,0,0,25],[0,0,0,1,3,0,64,57,0,0,0,1,3,48,1,144,0,0,0,145,0,0,193,61,0,4,0,0,0,5,0,29],[0,0,0,0,0,33,4,27,0,0,0,0,0,64,4,53,0,0,0,32,0,0,4,63,0,0,0,215,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,0,215,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,235,1,16,1,199,0,0,128,16,2,0,0,57,0,5,0,0,0,4,0,29,3,88,3,83,0,0,4,15],[0,0,0,5,5,0,0,41,0,0,0,1,2,32,1,144,0,0,3,10,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,2,1,4,26,0,0,0,4,3,0,0,41,0,0,0,0,2,50,0,26,0,0,0,145,0,0,65,61],[0,0,2,194,0,0,1,61,0,0,0,250,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57],[0,0,1,224,0,0,1,61,0,0,0,4,2,48,0,138,0,0,0,64,2,32,0,140,0,0,3,10,0,0,65,61],[0,0,0,4,2,16,3,112,0,0,0,0,8,2,4,59,0,0,0,229,2,128,0,156,0,0,3,10,0,0,33,61],[0,0,0,36,2,16,3,112,0,0,0,0,4,2,4,59,0,0,0,233,2,64,0,156,0,0,3,10,0,0,33,61],[0,0,0,35,2,64,0,57,0,0,0,234,5,0,0,65,0,0,0,0,6,50,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,0,234,2,32,1,151,0,0,0,0,7,2,0,75,0,0,0,0,5,0,128,25],[0,0,0,234,2,32,0,156,0,0,0,0,5,6,192,25,0,0,0,0,2,5,0,75,0,0,3,10,0,0,193,61],[0,0,0,4,5,64,0,57,0,0,0,0,2,81,3,79,0,0,0,0,2,2,4,59,0,0,0,233,6,32,0,156],[0,0,1,221,0,0,33,61,0,0,0,191,6,32,0,57,0,0,0,32,9,0,0,138,0,0,0,0,6,150,1,111],[0,0,0,233,7,96,0,156,0,0,1,221,0,0,33,61,0,0,0,64,0,96,4,63,0,0,0,128,0,32,4,63],[0,0,0,0,4,36,0,25,0,0,0,36,4,64,0,57,0,0,0,0,3,52,0,75,0,0,3,10,0,0,33,61],[0,0,0,32,3,80,0,57,0,0,0,0,1,49,3,79,0,0,0,31,3,32,1,143,0,0,0,5,4,32,2,114],[0,0,0,202,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,160,6,96,0,57,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57],[0,0,0,0,6,69,0,75,0,0,0,194,0,0,65,61,0,4,0,0,0,9,0,29,0,5,0,0,0,8,0,29],[0,0,0,0,5,3,0,75,0,0,0,219,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,1,65,3,79],[0,0,0,3,3,48,2,16,0,0,0,160,4,64,0,57,0,0,0,0,5,4,4,51,0,0,0,0,5,53,1,207],[0,0,0,0,5,53,2,47,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47],[0,0,0,0,1,49,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,0,160,1,32,0,57],[0,0,0,0,0,1,4,53,0,0,0,0,1,0,4,22,0,3,0,0,0,1,0,29,0,0,0,0,1,0,4,16],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,215,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,0,215,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,0,235,1,16,1,199],[0,0,128,16,2,0,0,57,3,88,3,83,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,5,4,0,0,41],[0,0,0,4,7,0,0,41,0,0,3,10,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,2,1,4,26],[0,0,0,3,9,0,0,41,0,0,0,0,2,146,0,73,0,0,0,0,0,33,4,27,0,0,0,1,1,0,0,57],[0,0,0,0,2,1,4,26,0,0,0,0,2,146,0,73,0,0,0,0,0,33,4,27,0,0,0,236,2,0,0,65],[0,0,0,64,1,0,4,61,0,0,0,32,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,96,2,64,2,16],[0,0,0,36,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,0,8,0,4,17,0,0,0,96,2,128,2,16],[0,0,0,88,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,56,2,16,0,57,0,0,0,0,0,146,4,53],[0,0,0,108,3,16,0,57,0,0,0,128,2,0,4,61,0,0,0,0,4,2,0,75,0,0,1,16,0,0,97,61],[0,0,0,0,4,0,0,25,0,0,0,0,5,52,0,25,0,0,0,160,6,64,0,57,0,0,0,0,6,6,4,51],[0,0,0,0,0,101,4,53,0,0,0,32,4,64,0,57,0,0,0,0,5,36,0,75,0,0,1,9,0,0,65,61],[0,0,0,0,3,50,0,25,0,0,0,0,0,3,4,53,0,0,0,76,3,32,0,57,0,0,0,0,0,49,4,53],[0,0,0,139,2,32,0,57,0,0,0,0,2,114,1,111,0,0,0,0,10,18,0,25,0,0,0,0,2,42,0,75],[0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,0,233,3,160,0,156,0,0,1,221,0,0,33,61],[0,0,0,1,2,32,1,144,0,0,1,221,0,0,193,61,0,1,0,0,0,8,0,29,0,0,0,64,0,160,4,63],[0,0,0,237,2,0,0,65,0,0,0,0,0,42,4,53,0,0,0,4,2,160,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,0,2,1,4,51,0,0,0,36,3,160,0,57,0,0,0,0,0,35,4,53],[0,0,0,68,3,160,0,57,0,0,0,0,4,2,0,75,0,0,1,51,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,0,5,52,0,25,0,0,0,32,4,64,0,57,0,0,0,0,6,20,0,25,0,0,0,0,6,6,4,51],[0,0,0,0,0,101,4,53,0,0,0,0,5,36,0,75,0,0,1,44,0,0,65,61,0,0,0,0,1,50,0,25],[0,0,0,0,0,1,4,53,0,0,0,31,1,32,0,57,0,0,0,0,1,113,1,111,0,0,0,215,2,0,0,65],[0,0,0,215,3,160,0,156,0,0,0,0,3,2,0,25,0,0,0,0,3,10,64,25,0,0,0,64,3,48,2,16],[0,0,0,68,1,16,0,57,0,0,0,215,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20,0,0,0,215,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159,0,0,128,8,2,0,0,57,0,2,0,0,0,10,0,29],[3,88,3,78,0,0,4,15,0,0,0,2,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,215,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,1,92,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,1,84,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,1,107,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,3,12,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,0,1,162,0,25],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,0,233,4,16,0,156],[0,0,0,5,4,0,0,41,0,0,0,3,5,0,0,41,0,0,1,221,0,0,33,61,0,0,0,1,2,32,1,144],[0,0,1,221,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,32,2,48,0,140,0,0,3,10,0,0,65,61],[0,0,0,32,2,16,0,57,0,0,0,64,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,0,0,81,4,53],[0,0,0,64,3,16,0,57,0,0,0,128,2,0,4,61,0,0,0,0,0,35,4,53,0,0,0,96,3,16,0,57],[0,0,0,229,6,64,1,151,0,0,0,0,4,2,0,75,0,0,1,143,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,0,5,52,0,25,0,0,0,160,7,64,0,57,0,0,0,0,7,7,4,51,0,0,0,0,0,117,4,53],[0,0,0,32,4,64,0,57,0,0,0,0,5,36,0,75,0,0,1,136,0,0,65,61,0,0,0,0,3,50,0,25],[0,0,0,0,0,3,4,53,0,0,0,127,2,32,0,57,0,0,0,4,2,32,1,127,0,0,0,215,3,0,0,65],[0,0,0,215,4,16,0,156,0,0,0,0,1,3,128,25,0,0,0,64,1,16,2,16,0,0,0,215,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159,0,0,0,0,2,0,4,20],[0,0,0,215,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,0,238,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,3,3,0,0,57,0,0,0,239,4,0,0,65],[0,0,0,1,5,0,0,41,0,0,3,5,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,10,0,0,193,61,0,0,0,192,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,5,1,0,0,57],[0,0,0,128,0,16,4,63,0,0,0,255,1,0,0,65,0,0,1,242,0,0,1,61,0,0,0,4,2,48,0,138],[0,0,0,32,2,32,0,140,0,0,3,10,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,4,1,4,59],[0,0,0,229,1,64,0,156,0,0,3,10,0,0,33,61,0,0,0,0,1,0,4,22,0,4,0,0,0,1,0,29],[0,0,0,0,1,0,4,16,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,215,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,0,215,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,235,1,16,1,199,0,0,128,16,2,0,0,57,0,5,0,0,0,4,0,29,3,88,3,83,0,0,4,15],[0,0,0,5,4,0,0,41,0,0,0,1,2,32,1,144,0,0,3,10,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,2,1,4,26,0,0,0,4,5,0,0,41,0,0,0,0,2,82,0,73,0,0,0,0,0,33,4,27],[0,0,0,1,1,0,0,57,0,0,0,0,2,1,4,26,0,0,0,0,2,82,0,73,0,0,0,0,0,33,4,27],[0,0,0,236,2,0,0,65,0,0,0,64,1,0,4,61,0,0,0,32,3,16,0,57,0,0,0,0,0,35,4,53],[0,0,0,96,2,64,2,16,0,0,0,36,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,56,2,16,0,57],[0,0,0,0,0,82,4,53,0,0,0,56,2,0,0,57,0,0,0,0,0,33,4,53,0,0,0,248,2,16,0,156],[0,0,2,47,0,0,65,61,0,0,0,250,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,0,251,1,0,0,65,0,0,3,90,0,1,4,48,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,3,10,0,0,193,61,0,0,0,18,1,0,0,57,0,0,0,128,0,16,4,63],[0,0,0,230,1,0,0,65,0,0,3,89,0,1,4,46,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,10,0,0,193,61,0,0,0,192,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,3,1,0,0,57],[0,0,0,128,0,16,4,63,0,0,0,231,1,0,0,65,0,0,0,160,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,192,0,16,4,63,0,0,0,128,1,0,0,57,0,0,0,224,2,0,0,57,3,88,3,41,0,0,4,15],[0,0,0,192,1,16,0,138,0,0,0,215,2,0,0,65,0,0,0,215,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,96,1,16,2,16,0,0,0,232,1,16,1,199,0,0,3,89,0,1,4,46,0,0,0,240,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,31,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,0,252,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,253,1,0,0,65],[0,0,3,90,0,1,4,48,0,4,0,0,0,3,0,29,0,0,0,0,0,64,4,53,0,0,0,32,0,0,4,63],[0,0,0,215,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,215,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,0,235,1,16,1,199,0,0,128,16,2,0,0,57,0,5,0,0,0,4,0,29],[0,3,0,0,0,5,0,29,3,88,3,83,0,0,4,15,0,0,0,5,3,0,0,41,0,0,0,1,2,32,1,144],[0,0,3,10,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,2,1,4,26,0,0,0,4,1,32,0,108],[0,0,2,211,0,0,129,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,246,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,240,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,215,2,0,0,65,0,0,0,215,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,0,247,1,16,1,199,0,0,3,90,0,1,4,48,0,0,0,96,7,16,0,57],[0,0,0,64,0,112,4,63,0,0,0,237,2,0,0,65,0,0,0,0,0,39,4,53,0,0,0,100,2,16,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,132,3,16,0,57,0,0,0,0,2,1,4,51],[0,0,0,0,0,35,4,53,0,0,0,164,3,16,0,57,0,0,0,0,4,2,0,75,0,0,2,68,0,0,97,61],[0,0,0,0,4,0,0,25,0,0,0,0,5,52,0,25,0,0,0,32,4,64,0,57,0,0,0,0,6,20,0,25],[0,0,0,0,6,6,4,51,0,0,0,0,0,101,4,53,0,0,0,0,5,36,0,75,0,0,2,61,0,0,65,61],[0,0,0,0,1,50,0,25,0,0,0,0,0,1,4,53,0,0,0,31,1,32,0,57,0,0,0,32,2,0,0,138],[0,0,0,0,1,33,1,111,0,0,0,215,2,0,0,65,0,0,0,215,3,112,0,156,0,0,0,0,3,2,0,25],[0,0,0,0,3,7,64,25,0,0,0,64,3,48,2,16,0,0,0,68,1,16,0,57,0,0,0,215,4,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20],[0,0,0,215,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159],[0,0,128,8,2,0,0,57,0,3,0,0,0,7,0,29,3,88,3,78,0,0,4,15,0,0,0,3,10,0,0,41],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,215,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,2,110,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,2,102,0,0,65,61,0,0,0,0,7,5,0,75,0,0,2,125,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,2,159,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,2,16,1,143,0,0,0,0,1,162,0,25,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25],[0,0,0,1,2,0,64,57,0,0,0,233,4,16,0,156,0,0,0,5,5,0,0,41,0,0,0,4,4,0,0,41],[0,0,1,221,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,221,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,32,2,48,0,140,0,0,3,10,0,0,65,61,0,0,0,0,0,65,4,53,0,0,0,215,2,0,0,65],[0,0,0,0,3,0,4,20,0,0,0,215,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,215,4,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159],[0,0,0,244,1,16,1,199,0,0,0,229,6,80,1,151,0,0,128,13,2,0,0,57,0,0,0,3,3,0,0,57],[0,0,0,0,5,0,4,17,0,0,0,249,4,0,0,65,0,0,3,5,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,2,172,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,2,164,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,2,187,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,215,1,0,0,65],[0,0,0,215,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,3,90,0,1,4,48,0,0,0,0,0,33,4,27,0,0,0,64,1,0,4,61],[0,0,0,0,0,49,4,53,0,0,0,215,2,0,0,65,0,0,0,0,3,0,4,20,0,0,0,215,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,0,215,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159,0,0,0,244,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,2,3,0,0,57,0,0,0,254,4,0,0,65,0,0,3,5,0,0,1,61,0,2,0,0,0,2,0,29],[0,0,0,0,0,48,4,53,0,0,0,32,0,0,4,63,0,0,0,215,3,0,0,65,0,0,0,0,1,0,4,20],[0,0,0,215,2,16,0,156,0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,0,235,1,16,1,199],[0,0,128,16,2,0,0,57,3,88,3,83,0,0,4,15,0,0,0,3,3,0,0,41,0,0,0,1,2,32,1,144],[0,0,3,10,0,0,97,61,0,0,0,2,4,0,0,41,0,0,0,4,2,64,0,106,0,0,0,0,1,1,4,59],[0,0,0,0,0,33,4,27,0,0,0,0,0,48,4,53,0,0,0,0,1,0,4,20,0,0,0,215,2,16,0,156],[0,0,0,215,1,0,128,65,0,0,0,192,1,16,2,16,0,0,0,235,1,16,1,199,0,0,128,16,2,0,0,57],[3,88,3,83,0,0,4,15,0,0,0,3,6,0,0,41,0,0,0,5,5,0,0,41,0,0,0,1,2,32,1,144],[0,0,3,10,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,2,1,4,26,0,0,0,4,3,0,0,41],[0,0,0,0,2,50,0,25,0,0,0,0,0,33,4,27,0,0,0,64,1,0,4,61,0,0,0,0,0,49,4,53],[0,0,0,215,2,0,0,65,0,0,0,0,3,0,4,20,0,0,0,215,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,0,215,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,0,244,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,3,3,0,0,57],[0,0,0,245,4,0,0,65,3,88,3,78,0,0,4,15,0,0,0,1,1,32,1,144,0,0,3,10,0,0,97,61],[0,0,0,0,1,0,0,25,0,0,3,89,0,1,4,46,0,0,0,0,1,0,0,25,0,0,3,90,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,3,25,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,3,17,0,0,65,61,0,0,0,0,6,4,0,75,0,0,3,40,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,2,187,0,0,1,61,0,0,0,0,3,1,4,51,0,0,0,0,2,50,4,54,0,0,0,0,4,3,0,75],[0,0,3,53,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,0,5,36,0,25,0,0,0,32,4,64,0,57],[0,0,0,0,6,20,0,25,0,0,0,0,6,6,4,51,0,0,0,0,0,101,4,53,0,0,0,0,5,52,0,75],[0,0,3,46,0,0,65,61,0,0,0,0,1,35,0,25,0,0,0,0,0,1,4,53,0,0,0,31,1,48,0,57],[0,0,0,32,3,0,0,138,0,0,0,0,1,49,1,111,0,0,0,0,1,18,0,25,0,0,0,0,0,1,4,45],[0,0,0,215,2,0,0,65,0,0,0,215,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,0,3,0,4,20],[0,0,0,215,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16,0,0,0,64,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,235,1,16,1,199,0,0,128,16,2,0,0,57,3,88,3,83,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,3,76,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,0,1,4,45],[0,0,0,0,1,0,0,25,0,0,3,90,0,1,4,48,0,0,3,81,0,33,4,33,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,3,86,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,3,88,0,0,4,50,0,0,3,89,0,1,4,46,0,0,3,90,0,1,4,48,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,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,81,207,248,216],[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,132,188,62,175],[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,132,188,62,176],[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,149,216,155,65],[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,156,199,247,8],[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,81,207,248,217],[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,87,153,82,252],[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,49,60,229,102],[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,49,60,229,103],[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,64,193,15,25],[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,6,253,222,3],[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,24,22,13,221],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,128,0,0,0,0,0,0,0,0],[69,84,72,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,0,192,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,255,255,255,255,255,255,255,255],[128,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],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[108,9,96,249,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],[98,248,75,36,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],[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],[196,5,254,137,88,65,11,186,240,199,59,122,12,62,32,133,158,134,202,22,138,76,155,13,239,156,84,210,85,90,48,107],[8,195,121,160,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],[79,110,108,121,32,115,121,115,116,101,109,32,99,111,110,116,114,97,99,116,115,32,119,105,116,104,32,115,112,101,99,105],[97,108,32,97,99,99,101,115,115,32,99,97,110,32,99,97,108,108,32,116,104,105,115,32,109,101,116,104,111,100,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,128,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[221,242,82,173,27,226,200,155,105,194,176,104,252,55,141,170,149,43,167,241,99,196,161,22,40,245,90,77,245,35,179,239],[84,114,97,110,115,102,101,114,32,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,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,255,255,255,255,255,255,255,160],[39,23,234,214,185,32,13,210,53,170,212,104,201,128,158,164,0,254,51,172,105,181,191,170,109,62,144,252,146,43,99,152],[78,72,123,113,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,36,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,98,111,111,116,108,111,97,100,101,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,0,0,0,0,0,0,0,0],[15,103,152,165,96,121,58,84,195,188,254,134,169,60,222,30,115,8,125,148,76,14,162,5,68,19,125,65,33,57,104,133],[69,116,104,101,114,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],[138,45,232,35,156,84,136,62,74,211,18,128,185,183,6,203,181,237,138,115,51,209,123,80,172,154,86,215,37,44,38,96]],"0x0000000000000000000000000000000000008004":[[0,1,0,0,0,0,0,2,0,8,0,0,0,0,0,2,0,0,0,0,0,1,3,85,0,0,0,128,3,0,0,57],[0,0,0,64,0,48,4,63,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,95,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,0,32,0,0,193,61,0,0,0,4,2,48,0,140,0,0,1,24,0,0,65,61],[0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112,0,0,0,97,4,32,0,156,0,0,0,40,0,0,97,61],[0,0,0,98,4,32,0,156,0,0,0,127,0,0,97,61,0,0,0,99,2,32,0,156,0,0,1,24,0,0,193,61],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,1,24,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,32,2,32,0,140,0,0,1,24,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,4,26,0,0,0,128,0,16,4,63,0,0,0,123,1,0,0,65,0,0,1,121,0,1,4,46],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,1,24,0,0,193,61,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,96,1,0,0,65,0,0,1,121,0,1,4,46],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,1,24,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,64,2,32,0,140,0,0,1,24,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,4,2,4,59],[0,0,0,0,2,4,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,192,57,0,2,0,0,0,4,0,29],[0,0,0,0,2,36,0,75,0,0,1,24,0,0,193,61,0,0,0,36,2,16,3,112,0,0,0,0,2,2,4,59],[0,0,0,100,4,32,0,156,0,0,1,24,0,0,33,61,0,0,0,35,4,32,0,57,0,0,0,101,5,0,0,65],[0,0,0,0,6,52,0,75,0,0,0,0,6,0,0,25,0,0,0,0,6,5,128,25,0,0,0,101,4,64,1,151],[0,0,0,0,7,4,0,75,0,0,0,0,5,0,128,25,0,0,0,101,4,64,0,156,0,0,0,0,5,6,192,25],[0,0,0,0,4,5,0,75,0,0,1,24,0,0,193,61,0,0,0,4,4,32,0,57,0,0,0,0,4,65,3,79],[0,0,0,0,4,4,4,59,0,8,0,0,0,4,0,29,0,0,0,100,4,64,0,156,0,0,1,24,0,0,33,61],[0,7,0,36,0,32,0,61,0,0,0,8,2,0,0,41,0,0,0,5,2,32,2,16,0,0,0,7,2,32,0,41],[0,0,0,0,2,50,0,75,0,0,1,24,0,0,33,61,0,0,0,0,2,0,4,17,0,0,128,1,2,32,0,140],[0,0,0,192,0,0,193,61,0,0,0,8,2,0,0,107,0,0,0,190,0,0,97,61,0,0,0,2,2,0,0,107],[0,0,0,200,0,0,193,61,0,5,0,1,0,0,0,61,0,4,128,13,0,0,0,61,0,3,0,3,0,0,0,61],[0,0,0,0,4,0,0,25,0,0,0,97,0,0,1,61,0,0,0,1,4,64,0,57,0,0,0,8,2,64,0,108],[0,0,0,190,0,0,129,61,0,0,0,5,2,64,2,16,0,0,0,7,2,32,0,41,0,0,0,0,2,33,3,79],[0,0,0,0,5,2,4,59,0,0,0,0,2,5,4,26,0,0,0,0,2,2,0,75,0,0,0,94,0,0,193,61],[0,0,0,105,1,80,1,151,0,0,0,106,1,16,0,156,0,0,1,26,0,0,193,61,0,6,0,0,0,4,0,29],[0,0,0,107,1,80,1,152,0,0,1,47,0,0,97,61,0,0,0,5,1,0,0,41,0,0,0,0,0,21,4,27],[0,0,0,0,1,0,4,20,0,0,0,95,2,16,0,156,0,0,0,95,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,0,113,1,16,1,199,0,0,0,4,2,0,0,41,0,0,0,3,3,0,0,41,0,0,0,114,4,0,0,65],[0,0,0,0,6,0,0,25,1,120,1,110,0,0,4,15,0,0,0,0,1,0,3,103,0,0,0,1,2,32,1,144],[0,0,0,6,4,0,0,41,0,0,0,94,0,0,193,61,0,0,1,24,0,0,1,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,1,24,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140],[0,0,1,24,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,5,1,4,59,0,0,0,0,1,0,4,17],[0,0,128,14,1,16,0,140,0,0,0,153,0,0,193,61,0,0,0,0,1,5,4,26,0,0,0,0,1,1,0,75],[0,0,0,190,0,0,193,61,0,0,0,105,1,80,1,151,0,0,0,106,1,16,0,156,0,0,0,163,0,0,193,61],[0,0,0,107,1,80,1,152,0,0,0,175,0,0,193,61,0,0,0,102,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,164,0,16,4,63,0,0,0,119,1,0,0,65],[0,0,0,160,0,0,1,61,0,0,0,102,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,31,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,121,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,0,104,1,0,0,65,0,0,1,122,0,1,4,48,0,0,0,102,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,34,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,0,117,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,116,1,0,0,65],[0,0,0,228,0,16,4,63,0,0,0,122,1,0,0,65,0,0,1,122,0,1,4,48,0,0,0,1,1,0,0,57],[0,0,0,0,0,21,4,27,0,0,0,95,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,95,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,0,113,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,3,3,0,0,57,0,0,0,114,4,0,0,65,0,0,0,0,6,0,0,25,1,120,1,110,0,0,4,15],[0,0,0,1,1,32,1,144,0,0,1,24,0,0,97,61,0,0,0,0,1,0,0,25,0,0,1,121,0,1,4,46],[0,0,0,102,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,31,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,103,1,0,0,65,0,0,0,160,0,0,1,61],[0,5,128,8,0,0,0,61,0,1,128,2,0,0,0,61,0,0,0,0,4,0,0,25,0,0,0,207,0,0,1,61],[0,0,0,1,4,64,0,57,0,0,0,8,2,64,0,108,0,0,0,190,0,0,129,61,0,0,0,5,2,64,2,16],[0,0,0,7,2,32,0,41,0,0,0,0,2,33,3,79,0,0,0,0,3,2,4,59,0,0,0,0,2,3,4,26],[0,0,0,0,2,2,0,75,0,0,0,204,0,0,193,61,0,0,0,105,1,48,1,151,0,0,0,106,1,16,0,156],[0,0,1,26,0,0,193,61,0,4,0,0,0,4,0,29,0,6,0,0,0,3,0,29,0,0,0,107,1,48,1,152],[0,0,1,47,0,0,97,61,0,0,0,108,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,5,1,0,0,41],[0,0,0,4,0,16,4,67,0,0,0,0,1,0,4,20,0,0,0,95,2,16,0,156,0,0,0,95,1,0,128,65],[0,0,0,192,1,16,2,16,0,0,0,109,1,16,1,199,0,0,0,1,2,0,0,41,1,120,1,115,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,1,64,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,0,6,2,0,0,41,0,0,1,24,0,0,97,61,0,0,0,64,4,0,4,61,0,0,0,110,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,0,0,33,4,53,0,0,0,0,1,0,4,20],[0,0,0,95,2,16,0,156,0,0,0,95,3,0,0,65,0,0,0,0,1,3,128,25,0,0,0,95,2,64,0,156],[0,3,0,0,0,4,0,29,0,0,0,0,2,3,0,25,0,0,0,0,2,4,64,25,0,0,0,64,2,32,2,16],[0,0,0,192,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,111,1,16,1,199,0,0,0,5,2,0,0,41],[1,120,1,110,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,65,0,0,97,61,0,0,0,3,2,0,0,41],[0,0,0,112,1,32,0,156,0,0,1,103,0,0,129,61,0,0,0,64,0,32,4,63,0,0,0,1,1,0,0,57],[0,0,0,6,5,0,0,41,0,0,0,0,0,21,4,27,0,0,0,0,1,0,4,20,0,0,0,95,2,16,0,156],[0,0,0,95,1,0,128,65,0,0,0,192,1,16,2,16,0,0,0,113,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,3,3,0,0,57,0,0,0,114,4,0,0,65,0,0,0,2,6,0,0,41,1,120,1,110,0,0,4,15],[0,0,0,0,1,0,3,103,0,0,0,1,2,32,1,144,0,0,0,4,4,0,0,41,0,0,0,204,0,0,193,61],[0,0,0,0,1,0,0,25,0,0,1,122,0,1,4,48,0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57],[0,0,0,116,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,0,117,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,34,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,102,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,95,2,0,0,65,0,0,0,95,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,0,118,1,16,1,199,0,0,1,122,0,1,4,48,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,0,119,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,102,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,36,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,4,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,95,2,0,0,65,0,0,0,95,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,120,1,16,1,199,0,0,1,122,0,1,4,48],[0,0,0,0,0,1,4,47,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,0,95,3,48,1,151,0,0,0,5,5,48,2,114,0,0,1,81,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,1,73,0,0,65,61,0,0,0,0,6,4,0,75,0,0,1,96,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,0,95,1,0,0,65,0,0,0,95,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16],[0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,1,122,0,1,4,48,0,0,0,115,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,0,111,1,0,0,65],[0,0,1,122,0,1,4,48,0,0,0,0,0,1,4,47,0,0,1,113,0,33,4,33,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,1,118,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,1,120,0,0,4,50,0,0,1,121,0,1,4,46,0,0,1,122,0,1,4,48,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,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,229,22,118,30],[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,121,196,249,41],[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,76,99,20,240],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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],[8,195,121,160,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,98,111,111,116,108,111,97,100,101,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,0,0,0,0,0,0,0,0],[255,255,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,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,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],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0],[57,179,76,110,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,36,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,0,0,0,0,0,0,0,0],[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],[201,71,34,255,19,234,207,83,84,124,71,65,218,181,34,131,83,160,89,56,255,205,213,212,162,213,51,174,14,97,130,135],[78,72,123,113,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],[115,104,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],[73,110,99,111,114,114,101,99,116,108,121,32,102,111,114,109,97,116,116,101,100,32,98,121,116,101,99,111,100,101,72,97],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0],[67,111,100,101,32,108,101,110,103,116,104,32,105,110,32,119,111,114,100,115,32,109,117,115,116,32,98,101,32,111,100,100],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,99,111,109,112,114,101,115,115,111,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,128,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,32,0,0,0,128,0,0,0,0,0,0,0,0],[19,244,124,140,251,27,40,215,67,122,206,132,217,200,125,100,205,240,125,135,58,151,188,173,230,233,239,192,213,110,224,239]],"0x0000000000000000000000000000000000008006":[[0,2,0,0,0,0,0,2,0,11,0,0,0,0,0,2,0,0,0,0,3,2,0,25,0,1,0,0,0,1,3,85],[0,0,0,0,2,1,0,25,0,0,0,96,2,32,2,112,0,0,4,244,0,32,1,157,0,0,0,128,4,0,0,57],[0,0,0,64,0,64,4,63,0,0,4,244,2,32,1,151,0,0,0,1,4,48,1,144,0,0,0,134,0,0,193,61],[0,0,0,4,4,32,0,140,0,0,7,102,0,0,65,61,0,0,0,0,4,1,4,59,0,0,0,224,4,64,2,112],[0,0,4,246,5,64,0,156,0,0,0,142,0,0,161,61,0,0,4,247,5,64,0,156,0,0,0,207,0,0,161,61],[0,0,4,248,5,64,0,156,0,0,0,0,5,0,4,16,0,11,0,0,0,5,0,29,0,0,1,71,0,0,33,61],[0,0,4,251,5,64,0,156,0,0,1,180,0,0,97,61,0,0,4,252,4,64,0,156,0,0,7,102,0,0,193,61],[0,0,0,0,4,0,4,22,0,0,0,0,4,4,0,75,0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138],[0,0,0,32,2,32,0,140,0,0,7,102,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59],[0,11,0,0,0,1,0,29,0,0,0,1,1,16,0,140,0,0,7,102,0,0,33,61,0,0,0,0,2,0,4,17],[0,0,0,2,1,48,1,144,0,0,0,44,0,0,193,61,0,0,255,255,1,32,0,140,0,0,3,170,0,0,33,61],[0,10,0,0,0,2,0,29,0,0,0,0,0,32,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,15,1,16,1,199,0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,7,102,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,32,2,64,0,156,0,0,3,211,0,0,33,61],[0,0,0,0,1,1,4,59,0,0,0,64,2,64,0,57,0,0,0,64,0,32,4,63,0,0,0,0,1,1,4,26],[0,0,0,255,2,16,1,143,0,0,0,1,3,32,0,140,0,0,4,25,0,0,33,61,0,0,0,0,3,36,4,54],[0,0,0,8,1,16,2,112,0,0,0,255,1,16,1,143,0,0,0,1,2,16,0,140,0,0,4,25,0,0,33,61],[0,9,0,0,0,4,0,29,0,0,0,0,0,19,4,53,0,0,0,11,2,0,0,41,0,0,0,1,2,32,0,140],[0,0,6,94,0,0,193,61,0,0,0,0,1,1,0,75,0,0,6,94,0,0,193,61,0,0,0,1,1,0,0,57],[0,11,0,0,0,3,0,29,0,8,0,0,0,1,0,29,0,0,0,0,0,19,4,53,0,0,0,10,1,0,0,41],[0,0,5,9,1,16,1,151,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,15,1,16,1,199,0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,7,102,0,0,97,61,0,0,0,9,2,0,0,41,0,0,0,0,2,2,4,51,0,0,0,1,3,32,0,140],[0,0,0,11,5,0,0,41,0,0,4,25,0,0,33,61,0,0,0,0,1,1,4,59,0,0,0,0,3,1,4,26],[0,0,1,0,4,0,0,138,0,0,0,0,3,67,1,111,0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27],[0,0,0,0,3,5,4,51,0,0,0,1,4,48,0,140,0,0,4,25,0,0,33,61,0,0,5,16,4,0,0,65],[0,0,0,0,2,66,1,111,0,0,0,8,3,48,2,16,0,0,255,0,3,48,1,143,0,0,0,0,2,35,1,159],[0,0,0,0,0,33,4,27,0,0,0,64,1,0,4,61,0,0,0,8,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,4,244,2,0,0,65,0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,4,244,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,5,49,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,2,3,0,0,57],[0,0,5,50,4,0,0,65,0,0,0,201,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,7,102,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,4,245,1,0,0,65,0,0,19,202,0,1,4,46,0,0,5,0,5,64,0,156,0,0,1,35,0,0,33,61],[0,0,5,4,5,64,0,156,0,0,2,240,0,0,97,61,0,0,5,5,5,64,0,156,0,0,3,125,0,0,97,61],[0,0,5,6,4,64,0,156,0,0,7,102,0,0,193,61,0,0,0,0,4,0,4,22,0,0,0,0,4,4,0,75],[0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138,0,0,0,32,2,32,0,140,0,0,7,102,0,0,65,61],[0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,11,0,0,0,1,0,29,0,0,0,1,1,16,0,140],[0,0,7,102,0,0,33,61,0,0,0,0,2,0,4,17,0,0,0,2,1,48,1,144,0,0,0,166,0,0,193,61],[0,0,255,255,1,32,0,140,0,0,3,170,0,0,33,61,0,10,0,0,0,2,0,29,0,0,0,0,0,32,4,53],[0,0,0,32,0,0,4,63,0,0,4,244,3,0,0,65,0,0,0,0,1,0,4,20,0,0,4,244,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,5,15,1,16,1,199,0,0,128,16,2,0,0,57],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,7,102,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,2,1,4,26,0,0,1,0,3,0,0,138,0,0,0,0,2,50,1,111,0,0,0,11,3,0,0,41],[0,0,0,0,2,50,1,159,0,0,0,0,0,33,4,27,0,0,0,64,1,0,4,61,0,0,0,0,0,49,4,53],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,4,244,4,0,0,65,0,0,0,0,2,4,128,25],[0,0,4,244,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,49,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,2,3,0,0,57],[0,0,5,67,4,0,0,65,0,0,0,10,5,0,0,41,19,201,19,180,0,0,4,15,0,0,0,1,1,32,1,144],[0,0,7,102,0,0,97,61,0,0,0,0,1,0,0,25,0,0,19,202,0,1,4,46,0,0,4,253,5,64,0,156],[0,0,2,81,0,0,97,61,0,0,4,254,3,64,0,156,0,0,2,188,0,0,97,61,0,0,4,255,3,64,0,156],[0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138,0,0,0,32,2,32,0,140,0,0,7,102,0,0,65,61],[0,0,0,4,1,16,3,112,0,0,0,0,2,1,4,59,0,0,0,0,1,0,4,17,0,0,128,7,1,16,0,140],[0,0,3,215,0,0,193,61,0,0,5,13,1,0,0,65,0,0,0,128,0,16,4,63,0,11,0,0,0,2,0,29],[0,0,0,132,0,32,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199,0,0,128,4,2,0,0,57],[19,201,19,185,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,6,64,2,114,0,0,0,251,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,129,3,79,0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,0,243,0,0,65,61,0,0,0,0,7,5,0,75],[0,0,1,10,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16],[0,0,0,128,6,96,0,57,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47],[0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207],[0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,3,225,0,0,97,61],[0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,128,1,32,1,191,0,0,0,64,0,16,4,63],[0,0,0,32,3,48,0,140,0,0,7,102,0,0,65,61,0,0,0,128,3,0,4,61,0,0,0,0,3,3,0,75],[0,0,4,119,0,0,193,61,0,0,5,10,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,132,3,32,1,191],[0,0,0,32,4,0,0,57,0,0,0,0,0,67,4,53,0,0,0,196,3,32,0,57,0,0,5,41,4,0,0,65],[0,0,0,0,0,67,4,53,0,0,0,164,2,32,0,57,0,0,0,26,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,64,1,16,2,16,0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48,0,0,5,1,5,64,0,156],[0,0,3,7,0,0,97,61,0,0,5,2,3,64,0,156,0,0,3,182,0,0,97,61,0,0,5,3,3,64,0,156],[0,0,7,102,0,0,193,61,0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75,0,0,7,102,0,0,193,61],[0,0,0,4,3,32,0,138,0,0,0,128,3,48,0,140,0,0,7,102,0,0,65,61,0,0,0,4,3,16,3,112],[0,0,0,0,3,3,4,59,0,11,0,0,0,3,0,29,0,0,5,9,3,48,0,156,0,0,7,102,0,0,33,61],[0,0,0,100,1,16,3,112,0,0,0,0,1,1,4,59,0,0,5,7,3,16,0,156,0,0,7,102,0,0,33,61],[0,0,0,4,1,16,0,57,19,201,10,44,0,0,4,15,0,0,0,1,4,0,3,103,0,0,0,68,3,64,3,112],[0,0,0,0,3,3,4,59,0,0,0,36,4,64,3,112,0,0,0,0,4,4,4,59,0,0,0,0,5,1,0,25],[0,0,0,0,6,2,0,25,0,0,0,11,1,0,0,41,0,0,0,0,2,4,0,25,0,0,0,0,4,5,0,25],[0,0,0,0,5,6,0,25,19,201,10,70,0,0,4,15,0,0,2,254,0,0,1,61,0,0,4,249,5,64,0,156],[0,0,1,224,0,0,97,61,0,0,4,250,3,64,0,156,0,0,7,102,0,0,193,61,0,0,0,4,3,32,0,138],[0,0,0,64,3,48,0,140,0,0,7,102,0,0,65,61,0,0,0,4,3,16,3,112,0,0,0,0,3,3,4,59],[0,10,0,0,0,3,0,29,0,0,5,7,3,48,0,156,0,0,7,102,0,0,33,61,0,0,0,10,4,32,0,106],[0,0,5,8,2,0,0,65,0,0,0,164,3,64,0,140,0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25],[0,9,0,0,0,4,0,29,0,0,5,8,4,64,1,151,0,0,0,0,5,4,0,75,0,0,0,0,2,0,160,25],[0,0,5,8,4,64,0,156,0,0,0,0,2,3,192,25,0,0,0,0,2,2,0,75,0,0,7,102,0,0,193,61],[0,0,0,36,2,16,3,112,0,0,0,0,2,2,4,59,0,8,0,0,0,2,0,29,0,0,5,9,2,32,0,156],[0,0,7,102,0,0,33,61,0,0,0,0,2,0,4,17,0,0,0,11,2,32,0,108,0,0,4,43,0,0,193,61],[0,0,0,10,2,0,0,41,0,7,0,4,0,32,0,61,0,0,0,7,1,16,3,96,0,0,0,0,2,1,4,59],[0,0,5,13,1,0,0,65,0,0,0,128,0,16,4,63,0,6,0,0,0,2,0,29,0,0,0,132,0,32,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199,0,0,128,4,2,0,0,57,19,201,19,185,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,1,138,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,1,130,0,0,65,61,0,0,0,0,7,5,0,75,0,0,1,153,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,5,174,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,128,2,16,1,191,0,5,0,0,0,2,0,29,0,0,0,64,0,32,4,63],[0,0,0,32,2,48,0,140,0,0,7,102,0,0,65,61,0,0,0,128,2,0,4,61,0,0,0,0,2,2,0,75],[0,0,6,118,0,0,193,61,0,0,5,10,2,0,0,65,0,0,0,5,4,0,0,41,0,0,0,0,0,36,4,53],[0,0,0,132,2,16,1,191,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,196,2,16,0,57],[0,0,5,41,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,164,1,16,0,57,0,0,0,26,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,0,64,1,64,2,16,0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48],[0,0,0,4,3,32,0,138,0,0,0,32,3,48,0,140,0,0,7,102,0,0,65,61,0,0,0,4,3,16,3,112],[0,0,0,0,3,3,4,59,0,5,0,0,0,3,0,29,0,0,5,7,3,48,0,156,0,0,7,102,0,0,33,61],[0,0,0,5,3,0,0,41,0,0,0,35,3,48,0,57,0,0,5,8,4,0,0,65,0,0,0,0,5,35,0,75],[0,0,0,0,5,0,0,25,0,0,0,0,5,4,128,25,0,0,5,8,3,48,1,151,0,0,0,0,6,3,0,75],[0,0,0,0,4,0,128,25,0,0,5,8,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75],[0,0,7,102,0,0,193,61,0,0,0,5,3,0,0,41,0,0,0,4,3,48,0,57,0,0,0,0,3,49,3,79],[0,0,0,0,13,3,4,59,0,0,5,7,3,208,0,156,0,0,7,102,0,0,33,61,0,0,0,5,3,0,0,41],[0,0,0,36,14,48,0,57,0,0,0,5,3,208,2,16,0,0,0,0,3,227,0,25,0,0,0,0,3,35,0,75],[0,0,7,102,0,0,33,61,0,0,0,9,4,0,0,138,0,0,0,0,3,0,4,17,0,0,0,0,4,67,1,111],[0,0,128,7,4,64,0,140,0,0,4,31,0,0,193,61,0,0,0,0,4,13,0,75,0,0,4,180,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,0,205,0,0,97,61,0,0,6,22,0,0,1,61],[0,0,0,4,4,32,0,138,0,0,0,128,4,64,0,140,0,0,7,102,0,0,65,61,0,0,0,36,4,16,3,112],[0,0,0,0,4,4,4,59,0,11,0,0,0,4,0,29,0,0,0,68,4,16,3,112,0,0,0,0,4,4,4,59],[0,0,5,7,5,64,0,156,0,0,7,102,0,0,33,61,0,0,0,35,5,64,0,57,0,0,5,8,6,0,0,65],[0,0,0,0,7,37,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,6,128,25,0,0,5,8,5,80,1,151],[0,0,0,0,8,5,0,75,0,0,0,0,6,0,128,25,0,0,5,8,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,7,102,0,0,193,61,0,0,0,4,5,64,0,57,0,0,0,0,5,81,3,79],[0,0,0,0,5,5,4,59,0,10,0,0,0,5,0,29,0,0,5,7,5,80,0,156,0,0,7,102,0,0,33,61],[0,0,0,36,5,64,0,57,0,9,0,0,0,5,0,29,0,0,0,10,4,80,0,41,0,0,0,0,2,36,0,75],[0,0,7,102,0,0,33,61,0,0,0,100,1,16,3,112,0,0,0,0,1,1,4,59,0,8,0,0,0,1,0,29],[0,0,0,1,1,16,0,140,0,0,7,102,0,0,33,61,0,0,0,2,1,48,1,144,0,0,0,1,1,16,2,112],[0,0,2,13,0,0,193,61,0,0,0,0,1,0,4,17,0,0,5,42,1,16,0,156,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,64,57,0,0,0,0,1,1,0,75,0,0,3,170,0,0,97,61,0,0,5,43,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,0,1,0,4,17,0,7,0,0,0,1,0,29,0,0,0,132,0,16,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199,0,0,128,3,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,2,46,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,2,38,0,0,65,61,0,0,0,0,7,5,0,75,0,0,2,61,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,6,36,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,128,1,16,1,191,0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140],[0,0,7,102,0,0,65,61,0,0,0,128,2,0,4,61,0,0,0,7,1,0,0,41,19,201,11,13,0,0,4,15],[0,0,0,0,2,1,0,25,0,7,0,0,0,2,0,29,0,0,0,11,1,0,0,41,0,0,0,8,3,0,0,41],[0,0,0,9,4,0,0,41,0,0,0,10,5,0,0,41,19,201,15,118,0,0,4,15,0,0,0,7,1,0,0,41],[0,0,2,254,0,0,1,61,0,0,0,4,4,32,0,138,0,0,0,96,4,64,0,140,0,0,7,102,0,0,65,61],[0,0,0,36,4,16,3,112,0,0,0,0,4,4,4,59,0,11,0,0,0,4,0,29,0,0,0,68,4,16,3,112],[0,0,0,0,4,4,4,59,0,0,5,7,5,64,0,156,0,0,7,102,0,0,33,61,0,0,0,35,5,64,0,57],[0,0,5,8,6,0,0,65,0,0,0,0,7,37,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,6,128,25],[0,0,5,8,5,80,1,151,0,0,0,0,8,5,0,75,0,0,0,0,6,0,128,25,0,0,5,8,5,80,0,156],[0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,7,102,0,0,193,61,0,0,0,4,5,64,0,57],[0,0,0,0,1,81,3,79,0,0,0,0,1,1,4,59,0,10,0,0,0,1,0,29,0,0,5,7,1,16,0,156],[0,0,7,102,0,0,33,61,0,0,0,36,4,64,0,57,0,9,0,0,0,4,0,29,0,0,0,10,1,64,0,41],[0,0,0,0,1,33,0,75,0,0,7,102,0,0,33,61,0,0,0,2,1,48,1,144,0,0,0,1,1,16,2,112],[0,0,2,121,0,0,193,61,0,0,0,0,1,0,4,17,0,0,5,42,1,16,0,156,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,64,57,0,0,0,0,1,1,0,75,0,0,3,170,0,0,97,61,0,0,5,43,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,0,1,0,4,17,0,8,0,0,0,1,0,29,0,0,0,132,0,16,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199,0,0,128,3,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,2,154,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,2,146,0,0,65,61,0,0,0,0,7,5,0,75,0,0,2,169,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,5,203,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,128,1,16,1,191,0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140],[0,0,7,102,0,0,65,61,0,0,0,128,2,0,4,61,0,0,0,8,1,0,0,41,19,201,11,13,0,0,4,15],[0,0,0,0,2,1,0,25,0,8,0,0,0,2,0,29,0,0,0,11,1,0,0,41,0,0,0,9,3,0,0,41],[0,0,0,10,4,0,0,41,19,201,11,57,0,0,4,15,0,0,0,8,1,0,0,41,0,0,2,254,0,0,1,61],[0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75,0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138],[0,0,0,32,2,32,0,140,0,0,7,102,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59],[0,11,0,0,0,1,0,29,0,0,5,9,1,16,0,156,0,0,7,102,0,0,33,61,0,0,0,11,1,0,0,41],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,15,1,16,1,199],[0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,7,102,0,0,97,61],[0,0,0,64,2,0,4,61,0,0,5,32,3,32,0,156,0,0,3,211,0,0,33,61,0,0,0,0,1,1,4,59],[0,0,0,64,3,32,0,57,0,0,0,64,0,48,4,63,0,0,0,0,1,1,4,26,0,0,0,255,3,16,1,143],[0,0,0,1,4,48,0,140,0,0,4,25,0,0,33,61,0,0,0,0,3,50,4,54,0,0,0,8,1,16,2,112],[0,0,0,255,1,16,1,143,0,0,0,1,4,16,0,140,0,0,4,25,0,0,33,61,0,0,0,0,0,19,4,53],[0,0,0,0,2,2,4,51,0,0,0,1,1,32,0,140,0,0,4,25,0,0,33,61,0,0,0,1,1,0,0,57],[0,0,0,0,2,2,0,75,0,0,2,255,0,0,193,61,0,0,0,11,1,0,0,41,0,0,5,63,1,16,1,152],[0,0,0,0,1,0,0,25,0,0,7,33,0,0,193,61,0,0,0,1,1,16,1,143,0,0,2,255,0,0,1,61],[0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75,0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138],[0,0,0,64,2,32,0,140,0,0,7,102,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,3,2,4,59],[0,0,5,9,2,48,0,156,0,0,7,102,0,0,33,61,0,0,0,36,1,16,3,112,0,0,0,0,2,1,4,59],[0,0,0,0,1,3,0,25,19,201,11,13,0,0,4,15,0,0,5,9,1,16,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,64,1,32,2,16,0,0,5,44,1,16,1,199,0,0,19,202,0,1,4,46,0,0,0,4,4,32,0,138],[0,0,0,128,4,64,0,140,0,0,7,102,0,0,65,61,0,0,0,36,4,16,3,112,0,0,0,0,4,4,4,59],[0,11,0,0,0,4,0,29,0,0,0,4,4,16,3,112,0,0,0,0,4,4,4,59,0,10,0,0,0,4,0,29],[0,0,0,68,4,16,3,112,0,0,0,0,4,4,4,59,0,0,5,7,5,64,0,156,0,0,7,102,0,0,33,61],[0,0,0,35,5,64,0,57,0,0,5,8,6,0,0,65,0,0,0,0,7,37,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,128,25,0,0,5,8,5,80,1,151,0,0,0,0,8,5,0,75,0,0,0,0,6,0,128,25],[0,0,5,8,5,80,0,156,0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,7,102,0,0,193,61],[0,0,0,4,5,64,0,57,0,0,0,0,5,81,3,79,0,0,0,0,5,5,4,59,0,9,0,0,0,5,0,29],[0,0,5,7,5,80,0,156,0,0,7,102,0,0,33,61,0,0,0,36,5,64,0,57,0,8,0,0,0,5,0,29],[0,0,0,9,4,80,0,41,0,0,0,0,2,36,0,75,0,0,7,102,0,0,33,61,0,0,0,100,1,16,3,112],[0,0,0,0,1,1,4,59,0,7,0,0,0,1,0,29,0,0,0,1,1,16,0,140,0,0,7,102,0,0,33,61],[0,0,0,2,1,48,1,144,0,0,0,1,1,16,2,112,0,0,3,55,0,0,193,61,0,0,0,0,1,0,4,17],[0,0,5,42,1,16,0,156,0,0,0,0,1,0,0,25,0,0,0,1,1,0,64,57,0,0,0,0,1,1,0,75],[0,0,3,170,0,0,97,61,0,0,5,43,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,0,1,0,4,17],[0,6,0,0,0,1,0,29,0,0,0,132,0,16,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199],[0,0,128,3,2,0,0,57,19,201,19,180,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,3,88,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79,0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57],[0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,3,80,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,3,103,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,6,65,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,128,1,16,1,191],[0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140,0,0,7,102,0,0,65,61,0,0,0,6,1,0,0,41],[0,0,0,11,2,0,0,41,0,0,0,10,3,0,0,41,0,0,0,8,4,0,0,41,0,0,0,9,5,0,0,41],[19,201,10,70,0,0,4,15,0,0,0,0,2,1,0,25,0,10,0,0,0,2,0,29,0,0,0,11,1,0,0,41],[0,0,0,7,3,0,0,41,0,0,0,8,4,0,0,41,0,0,0,9,5,0,0,41,19,201,15,118,0,0,4,15],[0,0,4,117,0,0,1,61,0,0,0,4,4,32,0,138,0,0,0,96,4,64,0,140,0,0,7,102,0,0,65,61],[0,0,0,36,4,16,3,112,0,0,0,0,4,4,4,59,0,11,0,0,0,4,0,29,0,0,0,4,4,16,3,112],[0,0,0,0,4,4,4,59,0,10,0,0,0,4,0,29,0,0,0,68,4,16,3,112,0,0,0,0,4,4,4,59],[0,0,5,7,5,64,0,156,0,0,7,102,0,0,33,61,0,0,0,35,5,64,0,57,0,0,5,8,6,0,0,65],[0,0,0,0,7,37,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,6,128,25,0,0,5,8,5,80,1,151],[0,0,0,0,8,5,0,75,0,0,0,0,6,0,128,25,0,0,5,8,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,7,102,0,0,193,61,0,0,0,4,5,64,0,57,0,0,0,0,1,81,3,79],[0,0,0,0,1,1,4,59,0,9,0,0,0,1,0,29,0,0,5,7,1,16,0,156,0,0,7,102,0,0,33,61],[0,0,0,36,4,64,0,57,0,8,0,0,0,4,0,29,0,0,0,9,1,64,0,41,0,0,0,0,1,33,0,75],[0,0,7,102,0,0,33,61,0,0,0,2,1,48,1,144,0,0,0,1,1,16,2,112,0,0,3,168,0,0,193,61],[0,0,0,0,1,0,4,17,0,0,5,42,1,16,0,156,0,0,0,0,1,0,0,25,0,0,0,1,1,0,64,57],[0,0,0,0,1,1,0,75,0,0,4,51,0,0,193,61,0,0,5,10,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,36,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,5,68,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,69,1,0,0,65,0,0,0,228,0,16,4,63],[0,0,5,70,1,0,0,65,0,0,19,203,0,1,4,48,0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75],[0,0,7,102,0,0,193,61,0,0,0,4,2,32,0,138,0,0,0,32,2,32,0,140,0,0,7,102,0,0,65,61],[0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,0,5,9,2,16,0,156,0,0,7,102,0,0,33,61],[0,0,0,192,2,0,0,57,0,0,0,64,0,32,4,63,0,0,0,128,0,0,4,63,0,0,0,160,0,0,4,63],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,15,1,16,1,199],[0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,7,102,0,0,97,61],[0,0,0,64,2,0,4,61,0,0,5,65,3,32,0,156,0,0,4,4,0,0,65,61,0,0,5,58,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,4,28,0,0,1,61,0,0,5,10,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,20,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,5,62,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,12,1,0,0,65],[0,0,19,203,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,3,238,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,3,230,0,0,65,61,0,0,0,0,6,4,0,75,0,0,3,253,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,4,244,1,0,0,65,0,0,4,244,4,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,19,203,0,1,4,48],[0,0,0,0,1,1,4,59,0,0,0,64,3,32,0,57,0,0,0,64,0,48,4,63,0,0,0,0,3,1,4,26],[0,0,0,255,1,48,1,143,0,0,0,2,4,16,0,140,0,0,4,25,0,0,129,61,0,0,0,0,1,18,4,54],[0,0,0,8,3,48,2,112,0,0,0,255,3,48,1,143,0,0,0,1,4,48,0,140,0,0,4,25,0,0,33,61],[0,0,0,0,0,49,4,53,0,0,0,0,3,2,4,51,0,0,0,1,2,48,0,140,0,0,4,25,0,0,33,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,50,4,54,0,0,0,0,1,1,4,51,0,0,0,1,4,16,0,140],[0,0,7,26,0,0,161,61,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,33,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,5,31,1,0,0,65,0,0,19,203,0,1,4,48,0,0,5,10,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,65,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,5,51,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,52,1,0,0,65],[0,0,0,228,0,16,4,63,0,0,5,53,1,0,0,65,0,0,6,33,0,0,1,61,0,0,5,10,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,21,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,5,11,1,0,0,65,0,0,3,222,0,0,1,61,0,0,5,43,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,0,1,0,4,17,0,7,0,0,0,1,0,29,0,0,0,132,0,16,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,14,1,16,1,199,0,0,128,3,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,4,82,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,4,74,0,0,65,61,0,0,0,0,7,5,0,75,0,0,4,97,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,5,232,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,128,1,16,1,191,0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140],[0,0,7,102,0,0,65,61,0,0,0,7,1,0,0,41,0,0,0,11,2,0,0,41,0,0,0,10,3,0,0,41],[0,0,0,8,4,0,0,41,0,0,0,9,5,0,0,41,19,201,10,70,0,0,4,15,0,0,0,0,2,1,0,25],[0,10,0,0,0,2,0,29,0,0,0,11,1,0,0,41,0,0,0,8,3,0,0,41,0,0,0,9,4,0,0,41],[19,201,11,57,0,0,4,15,0,0,0,10,1,0,0,41,0,0,2,254,0,0,1,61,0,0,0,0,3,0,4,22],[0,0,0,0,3,3,0,75,0,0,6,5,0,0,193,61,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,128,2,2,0,0,57,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65,0,0,0,0,3,0,4,20],[0,0,4,244,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,5,18,1,16,1,199],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,7,102,0,0,97,61,0,0,0,64,4,0,4,61,0,0,0,36,1,64,0,57],[0,0,0,11,2,0,0,41,0,0,0,0,0,33,4,53,0,0,5,38,1,0,0,65,0,0,0,0,0,20,4,53],[0,0,0,4,1,64,0,57,0,0,128,16,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156],[0,10,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,24,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,7,104,0,0,97,61,0,0,0,10,1,0,0,41,0,0,5,7,1,16,0,156],[0,0,3,211,0,0,33,61,0,0,0,10,1,0,0,41,0,0,0,64,0,16,4,63,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,39,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,4,3,0,0,57,0,0,128,7,5,0,0,57],[0,0,128,16,7,0,0,57,0,0,5,40,4,0,0,65,0,0,0,11,6,0,0,41,0,0,0,202,0,0,1,61],[0,0,0,5,5,0,0,41,0,0,0,0,4,82,0,73,0,0,0,132,2,80,0,57,0,0,0,195,4,64,0,138],[0,0,5,8,6,0,0,65,0,0,0,0,7,0,0,25,0,0,0,0,5,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,8,232,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,9,72,0,75],[0,0,0,0,9,0,0,25,0,0,0,0,9,6,128,25,0,0,5,8,10,64,1,151,0,0,5,8,11,128,1,151],[0,0,0,0,12,171,0,75,0,0,0,0,12,0,0,25,0,0,0,0,12,6,64,25,0,0,0,0,10,171,1,63],[0,0,5,8,10,160,0,156,0,0,0,0,12,9,192,25,0,0,0,0,9,12,0,75,0,0,7,102,0,0,193,61],[0,0,0,0,8,130,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,5,88,0,25],[0,0,0,0,8,133,0,75,0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,0,1,8,128,1,144],[0,0,8,11,0,0,193,61,0,0,0,1,7,112,0,57,0,0,0,0,8,215,0,75,0,0,4,187,0,0,65,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,81,0,75,0,0,6,22,0,0,193,61,0,4,5,9,0,48,1,155],[0,0,5,8,8,0,0,65,0,0,0,0,9,0,0,25,0,8,0,0,0,13,0,29,0,7,0,0,0,14,0,29],[0,0,0,5,1,144,2,16,0,0,0,0,2,225,0,25,0,0,0,1,1,0,3,103,0,0,0,0,2,33,3,79],[0,0,0,0,2,2,4,59,0,0,0,5,3,0,0,41,0,0,0,0,3,48,0,121,0,0,0,195,3,48,0,138],[0,0,0,0,4,50,0,75,0,0,0,0,4,0,0,25,0,0,0,0,4,8,128,25,0,0,5,8,3,48,1,151],[0,0,5,8,5,32,1,151,0,0,0,0,6,53,0,75,0,0,0,0,6,0,0,25,0,0,0,0,6,8,64,25],[0,0,0,0,3,53,1,63,0,0,5,8,3,48,0,156,0,0,0,0,6,4,192,25,0,0,0,0,3,6,0,75],[0,0,7,102,0,0,193,61,0,10,0,0,0,9,0,29,0,0,0,0,2,226,0,25,0,9,0,0,0,2,0,29],[0,0,0,96,2,32,0,57,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,6,0,0,0,1,0,29],[0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,11,1,0,0,41,0,0,0,4,0,16,4,67],[0,0,0,0,1,0,4,20,0,0,4,244,2,16,0,156,0,0,4,244,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,5,18,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,0,8,13,0,0,41],[0,0,0,7,14,0,0,41,0,0,5,8,8,0,0,65,0,0,0,10,9,0,0,41,0,0,0,9,11,0,0,41],[0,0,7,102,0,0,97,61,0,0,0,64,10,0,4,61,0,0,5,55,1,0,0,65,0,0,0,0,0,26,4,53],[0,0,0,4,1,160,0,57,0,0,0,64,2,0,0,57,0,0,0,0,0,33,4,53,0,0,0,1,1,0,3,103],[0,0,0,0,2,177,3,79,0,0,0,0,2,2,4,59,0,0,0,68,3,160,0,57,0,0,0,0,0,35,4,53],[0,0,0,32,2,176,0,57,0,0,0,0,3,33,3,79,0,0,0,0,3,3,4,59,0,0,5,9,4,48,0,156],[0,0,7,102,0,0,33,61,0,0,0,100,4,160,0,57,0,0,0,0,0,52,4,53,0,0,0,32,2,32,0,57],[0,0,0,0,3,33,3,79,0,0,0,0,3,3,4,59,0,0,0,0,4,3,0,75,0,0,0,0,4,0,0,25],[0,0,0,1,4,0,192,57,0,0,0,0,4,67,0,75,0,0,7,102,0,0,193,61,0,0,0,132,4,160,0,57],[0,0,0,0,0,52,4,53,0,0,0,32,3,32,0,57,0,0,0,0,3,49,3,79,0,0,0,0,3,3,4,59],[0,0,0,164,4,160,0,57,0,0,0,0,0,52,4,53,0,0,0,64,2,32,0,57,0,0,0,0,2,33,3,79],[0,0,0,0,2,2,4,59,0,0,0,0,3,0,0,49,0,0,0,0,4,179,0,73,0,0,0,31,4,64,0,138],[0,0,0,0,5,66,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,8,128,25,0,0,5,8,4,64,1,151],[0,0,5,8,6,32,1,151,0,0,0,0,7,70,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,8,64,25],[0,0,0,0,4,70,1,63,0,0,5,8,4,64,0,156,0,0,0,0,7,5,192,25,0,0,0,0,4,7,0,75],[0,0,7,102,0,0,193,61,0,0,0,0,4,178,0,25,0,0,0,0,2,65,3,79,0,0,0,0,2,2,4,59],[0,0,5,7,5,32,0,156,0,0,7,102,0,0,33,61,0,0,0,32,4,64,0,57,0,0,0,0,3,35,0,73],[0,0,0,0,5,52,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,8,32,25,0,0,5,8,3,48,1,151],[0,0,5,8,6,64,1,151,0,0,0,0,7,54,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,8,64,25],[0,0,0,0,3,54,1,63,0,0,5,8,3,48,0,156,0,0,0,0,7,5,192,25,0,0,0,0,3,7,0,75],[0,0,7,102,0,0,193,61,0,0,0,196,3,160,0,57,0,0,0,160,5,0,0,57,0,0,0,0,0,83,4,53],[0,0,0,228,3,160,0,57,0,0,0,0,0,35,4,53,0,0,0,0,3,65,3,79,0,0,1,4,1,160,0,57],[0,0,0,5,4,32,2,114,0,0,5,107,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,97,0,25,0,0,0,0,6,99,3,79,0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75,0,0,5,99,0,0,65,61,0,0,0,31,5,32,1,144],[0,0,5,122,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,3,67,3,79,0,0,0,0,4,65,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,6,4,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,3,3,4,59,0,0,1,0,5,80,0,137,0,0,0,0,3,83,2,47,0,0,0,0,3,83,1,207],[0,0,0,0,3,99,1,159,0,0,0,0,0,52,4,53,0,0,0,0,1,18,0,25,0,0,0,0,0,1,4,53],[0,0,0,36,1,160,0,57,0,0,0,4,3,0,0,41,0,0,0,0,0,49,4,53,0,0,0,0,1,0,4,20],[0,0,0,11,3,0,0,41,0,0,0,4,3,48,0,140,0,0,5,167,0,0,97,61,0,0,0,31,2,32,0,57],[0,0,0,32,3,0,0,138,0,0,0,0,2,50,1,111,0,0,5,56,3,32,0,156,0,0,5,56,2,0,128,65],[0,0,4,244,3,160,0,156,0,0,4,244,4,0,0,65,0,9,0,0,0,10,0,29,0,0,0,0,3,4,0,25],[0,0,0,0,3,10,64,25,0,0,0,64,3,48,2,16,0,0,0,96,2,32,2,16,0,0,0,0,2,50,1,159],[0,0,4,244,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,192,1,16,2,16,0,0,0,0,1,18,1,159],[0,0,5,57,1,16,0,65,0,0,0,6,3,0,0,41,0,0,0,0,2,3,0,75,0,0,5,158,0,0,97,61],[0,0,5,39,1,16,1,199,0,0,128,9,2,0,0,57,0,0,0,11,4,0,0,41,0,0,0,0,5,0,0,25],[19,201,19,180,0,0,4,15,0,0,5,160,0,0,1,61,0,0,0,11,2,0,0,41,19,201,19,180,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,0,8,13,0,0,41,0,0,0,7,14,0,0,41,0,0,5,8,8,0,0,65],[0,0,0,10,9,0,0,41,0,0,0,9,10,0,0,41,0,0,7,170,0,0,97,61,0,0,5,7,1,160,0,156],[0,0,3,211,0,0,33,61,0,0,0,64,0,160,4,63,0,0,0,1,9,144,0,57,0,0,0,0,1,217,0,75],[0,0,4,224,0,0,65,61,0,0,0,205,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,5,187,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,5,179,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,5,202,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,5,216,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,5,208,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,5,231,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,5,245,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,5,237,0,0,65,61,0,0,0,0,6,4,0,75,0,0,3,253,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,5,10,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,132,3,32,1,191],[0,0,0,32,4,0,0,57,0,0,0,0,0,67,4,53,0,0,0,228,3,32,0,57,0,0,5,35,4,0,0,65],[0,0,0,0,0,67,4,53,0,0,0,196,3,32,0,57,0,0,5,36,4,0,0,65,0,0,0,0,0,67,4,53],[0,0,0,164,2,32,0,57,0,0,0,56,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,64,1,16,2,16],[0,0,5,37,1,16,1,199,0,0,19,203,0,1,4,48,0,0,5,10,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,69,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,5,59,1,0,0,65,0,0,0,196,0,16,4,63,0,0,5,60,1,0,0,65,0,0,0,228,0,16,4,63],[0,0,5,61,1,0,0,65,0,0,1,4,0,16,4,63,0,0,5,54,1,0,0,65,0,0,19,203,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,6,49,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,6,41,0,0,65,61,0,0,0,0,6,4,0,75,0,0,6,64,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,6,78,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,6,70,0,0,65,61,0,0,0,0,6,4,0,75,0,0,6,93,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,132,2,16,0,57],[0,0,5,45,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,100,2,16,0,57,0,0,5,46,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,5,47,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,67,3,0,0,57,0,0,0,0,0,50,4,53,0,0,5,10,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,4,244,2,0,0,65,0,0,4,244,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,5,48,1,16,1,199,0,0,19,203,0,1,4,48,0,0,0,192,2,16,0,57,0,0,0,64,0,32,4,63],[0,0,0,5,2,0,0,41,0,0,0,0,0,2,4,53,0,0,0,160,1,16,0,57,0,4,0,0,0,1,0,29],[0,0,0,0,0,1,4,53,0,0,0,7,1,0,0,41,0,0,0,32,1,16,0,57,0,3,0,0,0,1,0,29],[0,0,0,1,1,16,3,103,0,0,0,0,1,1,4,59,0,7,0,0,0,1,0,29,0,0,5,9,1,16,0,156],[0,0,7,102,0,0,33,61,0,0,0,7,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,15,1,16,1,199,0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,7,102,0,0,97,61,0,0,0,5,2,0,0,41,0,0,0,0,2,2,4,51],[0,0,0,1,3,32,0,140,0,0,4,25,0,0,33,61,0,0,0,0,1,1,4,59,0,0,0,0,3,1,4,26],[0,0,1,0,4,0,0,138,0,0,0,0,3,67,1,111,0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27],[0,0,0,4,3,0,0,41,0,0,0,0,3,3,4,51,0,0,0,1,4,48,0,140,0,0,4,25,0,0,33,61],[0,0,5,16,4,0,0,65,0,0,0,0,2,66,1,111,0,0,0,8,3,48,2,16,0,0,255,0,3,48,1,143],[0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27,0,0,0,3,1,0,0,41,0,0,0,96,2,16,0,57],[0,0,0,1,1,0,3,103,0,0,0,0,3,33,3,79,0,0,0,0,3,3,4,59,0,0,0,9,4,0,0,41],[0,0,0,35,4,64,0,138,0,0,5,8,5,0,0,65,0,0,0,0,6,67,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,5,8,4,64,1,151,0,0,5,8,7,48,1,151,0,0,0,0,8,71,0,75],[0,0,0,0,5,0,128,25,0,0,0,0,4,71,1,63,0,0,5,8,4,64,0,156,0,0,0,0,5,6,192,25],[0,0,0,0,4,5,0,75,0,0,7,102,0,0,193,61,0,0,0,10,3,48,0,41,0,0,0,4,4,48,0,57],[0,0,0,0,4,65,3,79,0,0,0,0,4,4,4,59,0,10,0,0,0,4,0,29,0,0,5,7,4,64,0,156],[0,0,7,102,0,0,33,61,0,0,0,10,4,0,0,41,0,0,0,0,4,64,0,121,0,0,0,36,6,48,0,57],[0,0,5,8,3,0,0,65,0,0,0,0,5,70,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,3,32,25],[0,0,5,8,4,64,1,151,0,9,0,0,0,6,0,29,0,0,5,8,6,96,1,151,0,0,0,0,7,70,0,75],[0,0,0,0,3,0,128,25,0,0,0,0,4,70,1,63,0,0,5,8,4,64,0,156,0,0,0,0,3,5,192,25],[0,0,0,0,3,3,0,75,0,0,7,102,0,0,193,61,0,0,0,64,2,32,0,138,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,0,0,2,1,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,192,57],[0,0,0,0,2,33,0,75,0,0,7,102,0,0,193,61,0,0,0,0,2,0,4,22,0,5,0,0,0,2,0,29],[0,0,0,0,1,1,0,75,0,0,7,202,0,0,193,61,0,0,0,5,1,0,0,107,0,0,8,15,0,0,193,61],[0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57,0,0,128,2,2,0,0,57,0,0,0,4,0,32,4,67],[0,0,4,244,1,0,0,65,0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,192,1,48,2,16,0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,7,102,0,0,97,61],[0,0,0,64,4,0,4,61,0,0,0,36,1,64,0,57,0,0,0,6,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,5,38,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,7,2,0,0,41],[0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,11,0,0,0,4,0,29,0,0,0,0,1,4,64,25],[0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,24,1,16,1,199],[0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,117,0,0,97,61],[0,0,0,11,1,0,0,41,0,0,5,7,1,16,0,156,0,0,3,211,0,0,33,61,0,0,0,11,1,0,0,41],[0,0,0,64,0,16,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,39,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,4,3,0,0,57,0,0,5,40,4,0,0,65,0,0,0,8,5,0,0,41,0,0,0,6,6,0,0,41],[0,0,0,7,7,0,0,41,0,0,0,202,0,0,1,61,0,0,0,0,0,19,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,5,66,1,16,1,199],[0,0,19,202,0,1,4,46,0,0,0,64,4,0,4,61,0,10,0,0,0,4,0,29,0,0,5,64,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,11,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15],[0,0,0,10,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,6,64,2,114,0,0,7,71,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,7,63,0,0,65,61,0,0,0,0,9,10,0,25],[0,0,0,0,7,5,0,75,0,0,7,87,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,6,105,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,7,136,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143,0,0,0,0,1,146,0,25],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,5,7,4,16,0,156],[0,0,3,211,0,0,33,61,0,0,0,1,2,32,1,144,0,0,3,211,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,32,1,48,0,140,0,0,7,165,0,0,129,61,0,0,0,0,1,0,0,25,0,0,19,203,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,7,120,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,7,112,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,7,135,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,7,149,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,7,141,0,0,65,61,0,0,0,0,6,4,0,75,0,0,7,164,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,0,0,1,9,4,51,0,0,0,0,1,1,0,75,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,96,57,0,0,2,238,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114],[0,0,7,186,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,7,178,0,0,65,61,0,0,0,0,6,4,0,75,0,0,7,201,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61,0,0,0,5,1,0,0,107,0,0,8,34,0,0,193,61],[0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57,0,0,128,2,2,0,0,57,0,0,0,4,0,32,4,67],[0,0,4,244,1,0,0,65,0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,192,1,48,2,16,0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,7,102,0,0,97,61],[0,0,0,64,4,0,4,61,0,0,5,21,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,2,64,0,57],[0,0,0,7,1,0,0,41,0,4,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,0,6,1,0,0,41],[0,0,5,22,1,16,1,151,0,0,5,23,1,16,1,199,0,0,0,36,2,64,0,57,0,3,0,0,0,2,0,29],[0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,11,0,0,0,4,0,29,0,0,0,0,1,4,64,25],[0,2,0,64,0,16,2,24,0,0,0,192,1,32,2,16,0,0,0,2,1,16,1,175,0,0,5,24,1,16,1,199],[0,0,128,2,2,0,0,57,0,1,0,0,0,2,0,29,19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,8,85,0,0,97,61,0,0,0,11,1,0,0,41,0,0,5,7,1,16,0,156,0,0,3,211,0,0,33,61],[0,0,0,11,1,0,0,41,0,0,0,64,0,16,4,63,0,0,0,5,1,0,0,107,0,0,8,3,0,0,97,61],[0,0,0,0,1,0,4,22,0,0,5,25,1,16,1,151,0,0,0,0,0,1,4,23,0,0,0,0,1,0,4,20],[0,0,0,9,3,0,0,41,0,0,0,10,2,48,0,42,0,0,4,244,4,48,1,151,0,0,8,11,0,0,65,61],[0,0,0,0,3,0,0,49,0,0,0,0,5,35,0,75,0,0,8,181,0,0,129,61,0,0,5,58,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,4,28,0,0,1,61,0,0,0,64,1,0,4,61],[0,0,0,100,2,16,0,57,0,0,5,35,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57],[0,0,5,36,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,56,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,5,10,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,4,244,2,0,0,65,0,0,4,244,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,6,19,0,0,1,61,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,128,10,1,0,0,57,0,0,0,4,0,16,4,67,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,18,1,16,1,199],[0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,9,208,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,7,102,0,0,97,61,0,0,0,64,4,0,4,61],[0,0,5,19,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,68,1,64,0,57,0,0,0,0,2,0,4,22],[0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57,0,0,0,7,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,0,11,1,0,0,41,0,0,5,9,1,16,1,151,0,0,0,4,2,64,0,57,0,0,0,0,0,18,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,11,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,20,1,16,1,199,0,0,128,10,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,8,149,0,0,97,61,0,0,0,11,1,0,0,41],[0,0,5,7,1,16,0,156,0,0,3,211,0,0,33,61,0,0,0,11,1,0,0,41,0,0,0,64,0,16,4,63],[0,0,7,204,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,8,101,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,8,93,0,0,65,61,0,0,0,0,6,4,0,75,0,0,8,116,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,8,133,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,8,125,0,0,65,61,0,0,0,0,6,4,0,75,0,0,8,148,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,8,165,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,8,157,0,0,65,61,0,0,0,0,6,4,0,75,0,0,8,180,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,3,253,0,0,1,61,0,0,0,1,4,64,3,103,0,0,5,26,5,16,0,156,0,0,8,199,0,0,65,61],[0,0,5,10,1,0,0,65,0,0,0,11,2,0,0,41,0,0,0,0,0,18,4,53,0,0,0,32,1,0,0,57],[0,0,0,4,3,0,0,41,0,0,0,0,0,19,4,53,0,0,0,8,1,0,0,57,0,0,0,3,3,0,0,41],[0,0,0,0,0,19,4,53,0,0,0,68,1,32,0,57,0,0,5,34,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,2,1,0,0,41,0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48,0,0,0,0,2,35,0,73],[0,0,4,244,2,32,1,151,0,0,0,0,2,36,3,223,0,0,0,192,1,16,2,16,0,0,5,27,1,16,1,151],[0,0,5,28,1,16,1,199,0,0,0,0,1,18,3,175,0,0,0,7,2,0,0,41,0,0,0,8,13,0,0,41],[19,201,19,195,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,9,209,0,0,97,61,0,0,0,63,2,48,0,57,0,0,5,29,2,32,1,151],[0,0,0,64,4,0,4,61,0,0,0,0,2,36,0,25,0,11,0,0,0,4,0,29,0,0,0,0,4,66,0,75],[0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,7,5,32,0,156,0,0,3,211,0,0,33,61],[0,0,0,1,4,64,1,144,0,0,3,211,0,0,193,61,0,0,0,64,0,32,4,63,0,0,0,11,2,0,0,41],[0,0,0,0,8,50,4,54,0,0,0,31,2,48,0,57,0,0,0,5,2,32,2,114,0,0,8,243,0,0,97,61],[0,0,0,0,4,0,0,49,0,0,0,1,4,64,3,103,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,104,0,25,0,0,0,0,6,100,3,79,0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,8,235,0,0,65,61,0,9,0,0,0,8,0,29],[0,0,0,0,2,0,0,75,0,0,8,246,0,0,97,61,0,0,0,31,2,48,1,143,0,0,0,5,3,48,2,114],[0,0,0,9,7,0,0,41,0,0,9,3,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,5,5,64,2,16],[0,0,0,0,6,87,0,25,0,0,0,0,5,81,3,79,0,0,0,0,5,5,4,59,0,0,0,0,0,86,4,53],[0,0,0,1,4,64,0,57,0,0,0,0,5,52,0,75,0,0,8,251,0,0,65,61,0,0,0,0,4,2,0,75],[0,0,9,18,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,9,3,48,0,41],[0,0,0,3,2,32,2,16,0,0,0,0,4,3,4,51,0,0,0,0,4,36,1,207,0,0,0,0,4,36,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47,0,0,0,0,1,33,1,207],[0,0,0,0,1,65,1,159,0,0,0,0,0,19,4,53,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,1,2,0,0,41,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65,0,0,0,0,4,0,4,20],[0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16,0,0,5,18,1,16,1,199],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,7,102,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,30,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,7,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,10,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,2,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,9,236,0,0,97,61,0,0,0,10,1,0,0,41],[0,0,5,7,1,16,0,156,0,0,3,211,0,0,33,61,0,0,0,10,1,0,0,41,0,0,0,64,0,16,4,63],[0,0,0,11,1,0,0,41,0,0,0,0,1,1,4,51,0,0,5,8,2,0,0,65,0,0,0,32,3,16,0,140],[0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25,0,0,5,8,4,16,1,151,0,0,0,0,5,4,0,75],[0,0,0,0,2,0,160,25,0,0,5,8,4,64,0,156,0,0,0,0,2,3,192,25,0,0,0,0,2,2,0,75],[0,0,7,102,0,0,193,61,0,0,0,9,2,0,0,41,0,0,0,0,2,2,4,51,0,0,5,7,3,32,0,156],[0,0,7,102,0,0,33,61,0,0,0,9,1,16,0,41,0,0,0,9,2,32,0,41,0,0,0,31,3,32,0,57],[0,0,5,8,4,0,0,65,0,0,0,0,5,19,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,4,128,25],[0,0,5,8,3,48,1,151,0,0,5,8,6,16,1,151,0,0,0,0,7,99,0,75,0,0,0,0,4,0,128,25],[0,0,0,0,3,99,1,63,0,0,5,8,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75],[0,0,7,102,0,0,193,61,0,0,0,0,35,2,4,52,0,0,5,7,4,48,0,156,0,0,3,211,0,0,33,61],[0,0,0,5,4,48,2,16,0,0,0,63,4,64,0,57,0,0,0,32,5,0,0,138,0,0,0,0,4,84,1,111],[0,0,0,10,4,64,0,41,0,0,5,7,5,64,0,156,0,0,3,211,0,0,33,61,0,0,0,64,0,64,4,63],[0,0,0,10,4,0,0,41,0,0,0,0,0,52,4,53,0,0,0,6,3,48,2,16,0,0,0,0,3,35,0,25],[0,0,0,0,4,19,0,75,0,0,7,102,0,0,33,61,0,0,0,0,4,50,0,75,0,0,9,140,0,0,129,61],[0,0,5,8,4,0,0,65,0,0,0,10,5,0,0,41,0,0,0,0,6,33,0,73,0,0,0,64,7,96,0,140],[0,0,0,0,7,0,0,25,0,0,0,0,7,4,64,25,0,0,5,8,6,96,1,151,0,0,0,0,8,6,0,75],[0,0,0,0,8,0,0,25,0,0,0,0,8,4,32,25,0,0,5,8,6,96,0,156,0,0,0,0,8,7,192,25],[0,0,0,0,6,8,0,75,0,0,7,102,0,0,193,61,0,0,0,64,6,0,4,61,0,0,5,32,7,96,0,156],[0,0,3,211,0,0,33,61,0,0,0,32,5,80,0,57,0,0,0,64,7,96,0,57,0,0,0,64,0,112,4,63],[0,0,0,0,135,2,4,52,0,0,0,0,7,118,4,54,0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53],[0,0,0,0,0,101,4,53,0,0,0,64,2,32,0,57,0,0,0,0,6,50,0,75,0,0,9,114,0,0,65,61],[0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57,0,0,128,5,1,0,0,57,0,0,0,4,0,16,4,67],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,18,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,9,208,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,7,102,0,0,97,61,0,0,0,64,3,0,4,61,0,0,0,36,1,48,0,57,0,0,0,64,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,5,33,1,0,0,65,0,0,0,0,0,19,4,53,0,0,0,4,1,48,0,57],[0,0,0,7,2,0,0,41,0,0,0,0,0,33,4,53,0,0,0,10,1,0,0,41,0,0,0,0,1,1,4,51],[0,0,0,68,2,48,0,57,0,0,0,0,0,18,4,53,0,11,0,0,0,3,0,29,0,0,0,100,2,48,0,57],[0,0,0,0,3,1,0,75,0,0,9,187,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,10,4,0,0,41],[0,0,0,32,4,64,0,57,0,10,0,0,0,4,0,29,0,0,0,0,4,4,4,51,0,0,0,0,84,4,4,52],[0,0,0,0,4,66,4,54,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53,0,0,0,64,2,32,0,57],[0,0,0,1,3,48,0,57,0,0,0,0,4,19,0,75,0,0,9,175,0,0,65,61,0,0,0,11,4,0,0,41],[0,0,0,0,1,66,0,73,0,0,4,244,2,0,0,65,0,0,4,244,3,64,0,156,0,0,0,0,3,2,0,25],[0,0,0,0,3,4,64,25,0,0,0,64,3,48,2,16,0,0,4,244,4,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16,0,0,0,0,1,33,1,159,0,0,128,5,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,10,12,0,0,97,61,0,0,7,8,0,0,1,61],[0,0,0,0,0,1,4,47,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,9,220,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,9,213,0,0,65,61],[0,0,0,0,5,4,0,75,0,0,9,234,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16],[0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,19,203,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,9,252,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,9,244,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,10,11,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,10,28,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,10,20,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,10,43,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,3,253,0,0,1,61],[0,0,0,31,3,16,0,57,0,0,5,8,4,0,0,65,0,0,0,0,5,35,0,75,0,0,0,0,5,0,0,25],[0,0,0,0,5,4,64,25,0,0,5,8,6,32,1,151,0,0,5,8,3,48,1,151,0,0,0,0,7,99,0,75],[0,0,0,0,4,0,160,25,0,0,0,0,3,99,1,63,0,0,5,8,3,48,0,156,0,0,0,0,4,5,192,25],[0,0,0,0,3,4,0,75,0,0,10,68,0,0,97,61,0,0,0,1,3,16,3,103,0,0,0,0,3,3,4,59],[0,0,5,7,4,48,0,156,0,0,10,68,0,0,33,61,0,0,0,32,1,16,0,57,0,0,0,0,4,49,0,25],[0,0,0,0,2,36,0,75,0,0,10,68,0,0,33,61,0,0,0,0,2,3,0,25,0,0,0,0,0,1,4,45],[0,0,0,0,1,0,0,25,0,0,19,203,0,1,4,48,0,3,0,0,0,0,0,2,0,0,0,0,7,0,4,20],[0,0,0,0,8,69,0,25,0,0,0,0,5,88,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,4,244,4,64,1,151,0,0,0,1,5,80,1,144,0,0,10,206,0,0,193,61,0,0,0,0,6,0,0,49],[0,0,0,0,5,134,0,75,0,0,10,206,0,0,65,61,0,2,0,0,0,2,0,29,0,3,0,0,0,1,0,29],[0,1,0,0,0,3,0,29,0,0,0,1,4,64,3,103,0,0,5,26,5,112,0,156,0,0,10,216,0,0,129,61],[0,0,0,0,2,134,0,73,0,0,4,244,2,32,1,151,0,0,0,0,2,36,3,223,0,0,0,192,1,112,2,16],[0,0,5,27,1,16,1,151,0,0,5,71,1,16,1,199,0,0,0,0,1,18,3,175,0,0,128,16,2,0,0,57],[19,201,19,190,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,10,223,0,0,97,61,0,0,0,63,2,48,0,57,0,0,5,29,4,32,1,151],[0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,5,7,6,64,0,156,0,0,10,210,0,0,33,61,0,0,0,1,5,80,1,144],[0,0,10,210,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57],[0,0,0,5,5,80,2,114,0,0,10,129,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75],[0,0,10,121,0,0,65,61,0,0,0,0,5,0,0,75,0,0,10,131,0,0,97,61,0,0,0,31,5,48,1,143],[0,0,0,5,3,48,2,114,0,0,10,143,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,54,0,75,0,0,10,135,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,10,158,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,6,3,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,5,80,0,137,0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,19,4,53,0,0,0,64,1,0,4,61,0,0,0,0,2,2,4,51],[0,0,0,32,2,32,0,140,0,0,0,3,5,0,0,41,0,0,0,2,6,0,0,41,0,0,10,250,0,0,193,61],[0,0,0,0,2,4,4,51,0,0,0,160,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,128,2,16,0,57],[0,0,0,0,0,98,4,53,0,0,0,96,2,16,0,57,0,0,0,1,3,0,0,41,0,0,0,0,0,50,4,53],[0,0,5,9,2,80,1,151,0,0,0,64,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,32,2,16,0,57],[0,0,5,73,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,160,3,0,0,57,0,0,0,0,0,49,4,53],[0,0,5,74,3,16,0,156,0,0,10,210,0,0,33,61,0,0,0,192,3,16,0,57,0,0,0,64,0,48,4,63],[0,0,4,244,3,0,0,65,0,0,4,244,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,64,2,32,2,16],[0,0,0,0,1,1,4,51,0,0,4,244,4,16,0,156,0,0,0,0,1,3,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,4,244,4,32,0,156,0,0,0,0,2,3,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,39,1,16,1,199,0,0,128,16,2,0,0,57],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,11,11,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,5,9,1,16,1,151,0,0,0,0,0,1,4,45,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,17,1,0,0,57,0,0,10,213,0,0,1,61,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,5,31,1,0,0,65,0,0,19,203,0,1,4,48],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,5,34,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,8,3,0,0,57,0,0,10,255,0,0,1,61,0,0,0,31,4,48,1,143],[0,0,0,5,2,48,2,114,0,0,10,234,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57],[0,0,0,0,6,37,0,75,0,0,10,227,0,0,65,61,0,0,0,0,5,4,0,75,0,0,10,248,0,0,97,61],[0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207],[0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53],[0,0,0,96,1,48,2,16,0,0,19,203,0,1,4,48,0,0,0,68,2,16,0,57,0,0,5,72,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,5,10,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,4,244,2,0,0,65,0,0,4,244,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48,0,0,0,0,1,0,0,25],[0,0,19,203,0,1,4,48,0,0,0,64,3,0,4,61,0,0,0,96,4,48,0,57,0,0,0,0,0,36,4,53],[0,0,5,9,1,16,1,151,0,0,0,64,2,48,0,57,0,0,0,0,0,18,4,53,0,0,0,96,1,0,0,57],[0,0,0,0,1,19,4,54,0,0,5,75,2,0,0,65,0,0,0,0,0,33,4,53,0,0,5,76,2,48,0,156],[0,0,11,49,0,0,129,61,0,0,0,128,2,48,0,57,0,0,0,64,0,32,4,63,0,0,4,244,2,0,0,65],[0,0,4,244,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,0,3,3,4,51],[0,0,4,244,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,96,3,48,2,16,0,0,0,0,1,19,1,159],[0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,5,39,1,16,1,199,0,0,128,16,2,0,0,57,19,201,19,185,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,11,55,0,0,97,61,0,0,0,0,1,1,4,59,0,0,5,9,1,16,1,151],[0,0,0,0,0,1,4,45,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,5,31,1,0,0,65,0,0,19,203,0,1,4,48,0,0,0,0,1,0,0,25],[0,0,19,203,0,1,4,48,0,9,0,0,0,0,0,2,0,5,0,0,0,3,0,29,0,0,0,64,5,0,4,61],[0,0,0,4,3,80,0,57,0,8,0,0,0,1,0,29,0,0,0,0,1,1,0,75,0,0,14,5,0,0,97,61],[0,4,0,0,0,4,0,29,0,3,0,0,0,2,0,29,0,0,5,9,1,32,1,151,0,0,255,255,2,16,0,140],[0,0,14,21,0,0,161,61,0,0,5,77,2,0,0,65,0,0,0,0,0,37,4,53,0,9,0,0,0,1,0,29],[0,0,0,0,0,19,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,80,0,156,0,0,0,0,1,5,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,2,2,0,0,57],[0,6,0,0,0,2,0,29,0,7,0,0,0,5,0,29,19,201,19,185,0,0,4,15,0,0,0,7,10,0,0,41],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,11,106,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,11,98,0,0,65,61,0,0,0,0,7,5,0,75,0,0,11,121,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,14,40,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,0,4,161,0,25,0,0,0,0,1,20,0,75,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,64,57,0,0,5,7,2,64,0,156,0,0,13,246,0,0,33,61,0,0,0,1,1,16,1,144],[0,0,13,246,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,31,1,48,0,140,0,0,13,244,0,0,161,61],[0,0,0,4,1,64,0,57,0,0,0,0,2,10,4,51,0,0,0,0,2,2,0,75,0,0,14,69,0,0,193,61],[0,0,5,79,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,3,2,0,0,57,0,7,0,0,0,4,0,29],[19,201,19,185,0,0,4,15,0,0,0,7,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,11,176,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,11,168,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,11,191,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,14,79,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,0,4,161,0,25],[0,0,5,7,1,64,0,156,0,0,13,246,0,0,33,61,0,0,0,64,0,64,4,63,0,0,0,32,1,48,0,140],[0,0,13,244,0,0,65,61,0,0,0,4,1,64,0,57,0,0,0,0,2,10,4,51,0,0,0,0,2,2,0,75],[0,0,14,108,0,0,193,61,0,0,5,13,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,8,2,0,0,41],[0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,4,2,0,0,57],[0,7,0,0,0,4,0,29,19,201,19,185,0,0,4,15,0,0,0,7,10,0,0,41,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,11,241,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75],[0,0,11,233,0,0,65,61,0,0,0,0,7,5,0,75,0,0,12,0,0,0,97,61,0,0,0,5,6,96,2,16],[0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51],[0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53],[0,0,0,1,2,32,1,144,0,0,14,118,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143],[0,0,0,0,4,161,0,25,0,0,5,7,1,64,0,156,0,0,13,246,0,0,33,61,0,0,0,64,0,64,4,63],[0,0,0,32,1,48,0,140,0,0,13,244,0,0,65,61,0,0,0,0,1,10,4,51,0,0,0,0,1,1,0,75],[0,0,14,147,0,0,97,61,0,0,5,32,1,64,0,156,0,0,13,246,0,0,33,61,0,0,0,64,1,64,0,57],[0,0,0,64,0,16,4,63,0,0,0,0,1,4,4,54,0,2,0,0,0,1,0,29,0,0,0,0,0,1,4,53],[0,0,0,9,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,15,1,16,1,199,0,0,128,16,2,0,0,57,0,7,0,0,0,4,0,29,19,201,19,185,0,0,4,15],[0,0,0,7,3,0,0,41,0,0,0,1,2,32,1,144,0,0,13,244,0,0,97,61,0,0,0,0,2,3,4,51],[0,0,0,2,3,32,0,140,0,0,13,253,0,0,129,61,0,0,0,0,1,1,4,59,0,0,0,0,3,1,4,26],[0,0,1,0,4,0,0,138,0,0,0,0,3,67,1,111,0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27],[0,0,0,2,3,0,0,41,0,0,0,0,3,3,4,51,0,0,0,1,4,48,0,140,0,0,13,253,0,0,33,61],[0,0,5,16,4,0,0,65,0,0,0,0,2,66,1,111,0,0,0,8,3,48,2,16,0,0,255,0,3,48,1,143],[0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27,0,0,0,0,1,0,4,22,0,0,5,17,2,0,0,65],[0,0,0,0,0,32,4,57,0,0,0,0,1,1,0,75,0,0,12,159,0,0,97,61,0,0,128,10,1,0,0,57],[0,0,0,4,0,16,4,67,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,18,1,16,1,199,0,0,128,2,2,0,0,57],[0,7,0,0,0,2,0,29,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,13,252,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,13,244,0,0,97,61,0,0,0,64,4,0,4,61],[0,0,5,19,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,68,1,64,0,57,0,0,0,0,2,0,4,22],[0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57,0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,0,0,1,0,4,16,0,0,5,9,1,16,1,151,0,0,0,4,2,64,0,57,0,0,0,0,0,18,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,2,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,20,1,16,1,199,0,0,128,10,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,15,16,0,0,97,61,0,0,0,2,2,0,0,41],[0,0,5,7,1,32,0,156,0,0,13,246,0,0,33,61,0,0,0,64,0,32,4,63,0,0,5,17,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,7,2,0,0,41,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65],[0,0,0,0,4,0,4,20,0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16],[0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,13,252,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,13,244,0,0,97,61,0,0,0,64,4,0,4,61],[0,0,5,21,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,2,64,0,57,0,0,0,9,1,0,0,41],[0,2,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,0,8,1,0,0,41,0,0,5,22,1,16,1,151],[0,0,5,23,1,16,1,199,0,0,0,36,2,64,0,57,0,1,0,0,0,2,0,29,0,0,0,0,0,18,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,7,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,24,1,16,1,199,0,0,128,2,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,15,48,0,0,97,61,0,0,0,7,6,0,0,41],[0,0,5,7,1,96,0,156,0,0,13,246,0,0,33,61,0,0,0,64,0,96,4,63,0,0,0,0,1,0,4,22],[0,0,5,25,1,16,1,151,0,0,0,0,0,1,4,23,0,0,12,205,0,0,1,61,0,0,0,6,2,0,0,41],[0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65,0,0,0,0,4,0,4,20,0,0,4,244,3,64,0,156],[0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16,0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,13,252,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,13,244,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,21,1,0,0,65,0,0,0,0,0,20,4,53],[0,0,0,4,2,64,0,57,0,0,0,9,1,0,0,41,0,2,0,0,0,2,0,29,0,0,0,0,0,18,4,53],[0,0,0,8,1,0,0,41,0,0,5,22,1,16,1,151,0,0,5,23,1,16,1,199,0,0,0,36,2,64,0,57],[0,1,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,7,0,0,0,4,0,29],[0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,5,24,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,15,80,0,0,97,61,0,0,0,7,6,0,0,41,0,0,5,7,1,96,0,156,0,0,13,246,0,0,33,61],[0,0,0,64,0,96,4,63,0,0,0,0,1,0,4,20,0,0,0,5,4,0,0,41,0,0,0,4,2,64,0,41],[0,0,0,4,3,32,0,108,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,4,244,4,64,1,151],[0,0,0,1,3,48,1,144,0,0,14,1,0,0,193,61,0,0,0,0,3,0,0,49,0,0,0,0,5,35,0,75],[0,0,14,1,0,0,65,61,0,0,0,1,4,64,3,103,0,0,5,26,5,16,0,156,0,0,14,164,0,0,129,61],[0,0,0,0,5,0,4,17,0,0,0,0,2,35,0,73,0,0,4,244,2,32,1,151,0,0,0,0,2,36,3,223],[0,0,0,192,1,16,2,16,0,0,5,27,1,16,1,151,0,0,5,28,1,16,1,199,0,0,0,0,1,18,3,175],[0,4,0,0,0,5,0,29,0,0,5,9,13,80,1,151,0,0,0,3,2,0,0,41,19,201,19,195,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,1,2,32,1,144],[0,0,14,181,0,0,97,61,0,0,0,63,2,48,0,57,0,0,5,29,2,32,1,151,0,0,0,64,6,0,4,61],[0,0,0,0,2,38,0,25,0,0,0,0,4,98,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57],[0,0,5,7,5,32,0,156,0,0,13,246,0,0,33,61,0,0,0,1,4,64,1,144,0,0,13,246,0,0,193,61],[0,0,0,64,0,32,4,63,0,5,0,0,0,6,0,29,0,0,0,0,8,54,4,54,0,0,0,31,2,48,0,57],[0,0,0,5,2,32,2,114,0,0,13,9,0,0,97,61,0,0,0,0,4,0,0,49,0,0,0,1,4,64,3,103],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,104,0,25,0,0,0,0,6,100,3,79],[0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,13,1,0,0,65,61,0,0,0,0,2,0,0,75,0,0,13,11,0,0,97,61,0,0,0,31,2,48,1,143],[0,0,0,5,3,48,2,114,0,0,13,23,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,5,5,64,2,16],[0,0,0,0,6,88,0,25,0,0,0,0,5,81,3,79,0,0,0,0,5,5,4,59,0,0,0,0,0,86,4,53],[0,0,0,1,4,64,0,57,0,0,0,0,5,52,0,75,0,0,13,15,0,0,65,61,0,0,0,0,4,2,0,75],[0,0,13,38,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,56,0,25],[0,0,0,3,2,32,2,16,0,0,0,0,4,3,4,51,0,0,0,0,4,36,1,207,0,0,0,0,4,36,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47,0,0,0,0,1,33,1,207],[0,0,0,0,1,65,1,159,0,0,0,0,0,19,4,53,0,7,0,0,0,8,0,29,0,0,5,17,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,0,6,2,0,0,41,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65],[0,0,0,0,4,0,4,20,0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16],[0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,13,252,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,13,244,0,0,97,61,0,0,0,64,4,0,4,61],[0,0,5,30,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,9,2,0,0,41],[0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,6,0,0,0,4,0,29,0,0,0,0,1,4,64,25],[0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199],[0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,14,208,0,0,97,61],[0,0,0,6,9,0,0,41,0,0,5,7,1,144,0,156,0,0,0,5,1,0,0,41,0,0,13,246,0,0,33,61],[0,0,0,64,0,144,4,63,0,0,0,0,1,1,4,51,0,0,5,8,2,0,0,65,0,0,0,32,3,16,0,140],[0,0,0,0,3,0,0,25,0,0,0,0,3,2,64,25,0,0,5,8,4,16,1,151,0,0,0,0,5,4,0,75],[0,0,0,0,2,0,160,25,0,0,5,8,4,64,0,156,0,0,0,0,2,3,192,25,0,0,0,0,2,2,0,75],[0,0,13,244,0,0,193,61,0,0,0,7,2,0,0,41,0,0,0,0,2,2,4,51,0,0,5,7,3,32,0,156],[0,0,13,244,0,0,33,61,0,0,0,7,1,16,0,41,0,0,0,7,2,32,0,41,0,0,0,31,3,32,0,57],[0,0,5,8,4,0,0,65,0,0,0,0,5,19,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,4,128,25],[0,0,5,8,3,48,1,151,0,0,5,8,6,16,1,151,0,0,0,0,7,99,0,75,0,0,0,0,4,0,128,25],[0,0,0,0,3,99,1,63,0,0,5,8,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75],[0,0,13,244,0,0,193,61,0,0,0,0,35,2,4,52,0,0,5,7,4,48,0,156,0,0,13,246,0,0,33,61],[0,0,0,5,4,48,2,16,0,0,0,63,4,64,0,57,0,0,0,32,5,0,0,138,0,0,0,0,4,84,1,111],[0,0,0,0,4,148,0,25,0,0,5,7,5,64,0,156,0,0,13,246,0,0,33,61,0,0,0,64,0,64,4,63],[0,0,0,0,0,57,4,53,0,0,0,6,3,48,2,16,0,0,0,0,3,35,0,25,0,0,0,0,4,19,0,75],[0,0,13,244,0,0,33,61,0,0,0,0,4,50,0,75,0,0,13,159,0,0,129,61,0,0,5,8,4,0,0,65],[0,0,0,0,5,9,0,25,0,0,0,0,6,33,0,73,0,0,0,64,7,96,0,140,0,0,0,0,7,0,0,25],[0,0,0,0,7,4,64,25,0,0,5,8,6,96,1,151,0,0,0,0,8,6,0,75,0,0,0,0,8,0,0,25],[0,0,0,0,8,4,32,25,0,0,5,8,6,96,0,156,0,0,0,0,8,7,192,25,0,0,0,0,6,8,0,75],[0,0,13,244,0,0,193,61,0,0,0,64,6,0,4,61,0,0,5,32,7,96,0,156,0,0,13,246,0,0,33,61],[0,0,0,32,5,80,0,57,0,0,0,64,7,96,0,57,0,0,0,64,0,112,4,63,0,0,0,0,135,2,4,52],[0,0,0,0,7,118,4,54,0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53,0,0,0,0,0,101,4,53],[0,0,0,64,2,32,0,57,0,0,0,0,6,50,0,75,0,0,13,133,0,0,65,61,0,0,5,17,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,128,5,1,0,0,57,0,0,0,4,0,16,4,67,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,18,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,13,252,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,0,6,6,0,0,41],[0,0,13,244,0,0,97,61,0,0,0,64,7,0,4,61,0,0,0,36,1,112,0,57,0,0,0,64,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,5,33,1,0,0,65,0,0,0,0,0,23,4,53,0,0,0,4,1,112,0,57],[0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53,0,0,0,0,1,6,4,51,0,0,0,68,2,112,0,57],[0,0,0,0,0,18,4,53,0,0,0,100,2,112,0,57,0,0,0,0,3,1,0,75,0,0,13,203,0,0,97,61],[0,0,0,0,3,0,0,25,0,0,0,32,6,96,0,57,0,0,0,0,4,6,4,51,0,0,0,0,84,4,4,52],[0,0,0,0,4,66,4,54,0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53,0,0,0,64,2,32,0,57],[0,0,0,1,3,48,0,57,0,0,0,0,4,19,0,75,0,0,13,193,0,0,65,61,0,0,0,0,1,114,0,73],[0,0,4,244,2,0,0,65,0,0,4,244,3,112,0,156,0,0,0,0,3,2,0,25,0,0,0,0,3,7,64,25],[0,0,0,64,3,48,2,16,0,0,4,244,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,49,1,159,0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,0,192,2,48,2,16,0,0,0,0,1,33,1,159,0,0,128,5,2,0,0,57,0,7,0,0,0,7,0,29],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,14,240,0,0,97,61,0,0,0,7,2,0,0,41],[0,0,5,7,1,32,0,156,0,0,0,0,1,2,0,25,0,0,13,246,0,0,33,61,0,0,0,64,0,16,4,63],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,39,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,4,3,0,0,57],[0,0,5,40,4,0,0,65,0,0,0,4,5,0,0,41,0,0,0,8,6,0,0,41,0,0,0,9,7,0,0,41],[19,201,19,180,0,0,4,15,0,0,0,1,1,32,1,144,0,0,13,244,0,0,97,61,0,0,0,0,0,1,4,45],[0,0,0,0,1,0,0,25,0,0,19,203,0,1,4,48,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,5,31,1,0,0,65,0,0,19,203,0,1,4,48],[0,0,0,0,0,1,4,47,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,33,1,0,0,57],[0,0,13,249,0,0,1,61,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57],[0,0,13,249,0,0,1,61,0,0,5,10,2,0,0,65,0,0,0,0,0,37,4,53,0,0,0,32,2,0,0,57],[0,0,0,0,0,35,4,53,0,0,0,68,1,80,0,57,0,0,5,83,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,80,0,57,0,0,0,27,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,2,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,5,20,1,16,1,199],[0,0,19,203,0,1,4,48,0,0,5,10,2,0,0,65,0,0,0,0,0,37,4,53,0,0,0,32,2,0,0,57],[0,0,0,0,0,35,4,53,0,0,0,100,1,80,0,57,0,0,5,81,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,68,1,80,0,57,0,0,5,82,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,80,0,57],[0,0,0,40,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,4,244,2,80,0,156],[0,0,0,0,5,1,128,25,0,0,0,64,1,80,2,16,0,0,5,37,1,16,1,199,0,0,19,203,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,14,53,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,14,45,0,0,65,61,0,0,0,0,6,4,0,75,0,0,15,111,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,15,111,0,0,1,61,0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,32,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,0,68,1,64,0,57,0,0,5,78,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,64,0,57,0,0,0,21,2,0,0,57,0,0,14,157,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,14,92,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,14,84,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,14,107,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61],[0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53],[0,0,0,68,1,64,0,57,0,0,5,80,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57],[0,0,0,19,2,0,0,57,0,0,14,157,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,14,131,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,14,123,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,14,146,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61,0,0,0,68,1,64,0,57],[0,0,5,41,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57,0,0,0,26,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,5,10,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57],[0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,4,244,2,64,0,156],[0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16,0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48],[0,0,5,10,1,0,0,65,0,0,0,0,0,22,4,53,0,0,0,32,1,0,0,57,0,0,0,2,2,0,0,41],[0,0,0,0,0,18,4,53,0,0,0,8,1,0,0,57,0,0,0,1,2,0,0,41,0,0,0,0,0,18,4,53],[0,0,0,68,1,96,0,57,0,0,5,34,2,0,0,65,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,2,96,0,156,0,0,0,0,6,1,128,25,0,0,0,64,1,96,2,16,0,0,5,20,1,16,1,199],[0,0,19,203,0,1,4,48,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,14,192,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,14,185,0,0,65,61],[0,0,0,0,5,4,0,75,0,0,14,206,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16],[0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,19,203,0,1,4,48],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,14,224,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,14,216,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,14,239,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,15,0,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,14,248,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,15,15,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,15,32,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,15,24,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,15,47,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,15,64,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,15,56,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,15,79,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,15,111,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143],[0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,15,96,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,15,88,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,15,111,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,19,203,0,1,4,48,0,9,0,0,0,0,0,2,0,3,0,0,0,5,0,29],[0,4,0,0,0,4,0,29,0,5,0,0,0,3,0,29,0,0,0,64,4,0,4,61,0,0,0,4,3,64,0,57],[0,8,0,0,0,1,0,29,0,0,0,0,1,1,0,75,0,0,18,72,0,0,97,61,0,2,0,0,0,2,0,29],[0,0,5,9,1,32,1,151,0,0,255,255,2,16,0,140,0,0,18,82,0,0,161,61,0,0,5,77,2,0,0,65],[0,0,0,0,0,36,4,53,0,9,0,0,0,1,0,29,0,0,0,0,0,19,4,53,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156],[0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,5,31,1,16,1,199,0,0,128,2,2,0,0,57,0,6,0,0,0,2,0,29,0,7,0,0,0,4,0,29],[19,201,19,185,0,0,4,15,0,0,0,7,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,15,168,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,15,160,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,15,183,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,18,101,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,0,4,161,0,25],[0,0,0,0,1,20,0,75,0,0,0,0,1,0,0,25,0,0,0,1,1,0,64,57,0,0,5,7,2,64,0,156],[0,0,18,57,0,0,33,61,0,0,0,1,1,16,1,144,0,0,18,57,0,0,193,61,0,0,0,64,0,64,4,63],[0,0,0,31,1,48,0,140,0,0,18,55,0,0,161,61,0,0,0,4,1,64,0,57,0,0,0,0,2,10,4,51],[0,0,0,0,2,2,0,75,0,0,18,130,0,0,193,61,0,0,5,79,2,0,0,65,0,0,0,0,0,36,4,53],[0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,0,0,0,1,4,64,25],[0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199],[0,0,128,3,2,0,0,57,0,7,0,0,0,4,0,29,19,201,19,185,0,0,4,15,0,0,0,7,10,0,0,41],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,15,238,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,138,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,15,230,0,0,65,61,0,0,0,0,7,5,0,75,0,0,15,253,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25,0,0,0,3,5,80,2,16],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,18,140,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,1,16,1,143,0,0,0,0,4,161,0,25,0,0,5,7,1,64,0,156,0,0,18,57,0,0,33,61],[0,0,0,64,0,64,4,63,0,0,0,32,1,48,0,140,0,0,18,55,0,0,65,61,0,0,0,4,1,64,0,57],[0,0,0,0,2,10,4,51,0,0,0,0,2,2,0,75,0,0,18,169,0,0,193,61,0,0,5,13,2,0,0,65],[0,0,0,0,0,36,4,53,0,0,0,8,2,0,0,41,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156],[0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,5,31,1,16,1,199,0,0,128,4,2,0,0,57,0,7,0,0,0,4,0,29,19,201,19,185,0,0,4,15],[0,0,0,7,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,6,64,2,114,0,0,16,47,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,16,39,0,0,65,61,0,0,0,0,7,5,0,75],[0,0,16,62,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,0,6,106,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47],[0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207],[0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,18,179,0,0,97,61],[0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,0,4,161,0,25,0,0,5,7,1,64,0,156],[0,0,18,57,0,0,33,61,0,0,0,64,0,64,4,63,0,0,0,32,1,48,0,140,0,0,18,55,0,0,65,61],[0,0,0,0,1,10,4,51,0,0,0,0,1,1,0,75,0,0,18,208,0,0,97,61,0,0,5,32,1,64,0,156],[0,0,18,57,0,0,33,61,0,0,0,64,1,64,0,57,0,0,0,64,0,16,4,63,0,0,0,0,3,4,4,54],[0,0,0,0,0,3,4,53,0,0,0,5,2,0,0,41,0,0,0,2,1,32,0,140,0,0,18,64,0,0,129,61],[0,0,0,0,0,36,4,53,0,5,0,0,0,3,0,29,0,0,0,0,0,3,4,53,0,0,0,9,1,0,0,41],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,15,1,16,1,199],[0,0,128,16,2,0,0,57,0,7,0,0,0,4,0,29,19,201,19,185,0,0,4,15,0,0,0,7,3,0,0,41],[0,0,0,1,2,32,1,144,0,0,18,55,0,0,97,61,0,0,0,0,2,3,4,51,0,0,0,1,3,32,0,140],[0,0,0,5,5,0,0,41,0,0,18,64,0,0,33,61,0,0,0,0,1,1,4,59,0,0,0,0,3,1,4,26],[0,0,1,0,4,0,0,138,0,0,0,0,3,67,1,111,0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27],[0,0,0,0,3,5,4,51,0,0,0,1,4,48,0,140,0,0,18,64,0,0,33,61,0,0,5,16,4,0,0,65],[0,0,0,0,2,66,1,111,0,0,0,8,3,48,2,16,0,0,255,0,3,48,1,143,0,0,0,0,2,35,1,159],[0,0,0,0,0,33,4,27,0,0,0,0,1,0,4,22,0,0,5,17,2,0,0,65,0,0,0,0,0,32,4,57],[0,0,0,0,1,1,0,75,0,0,16,226,0,0,97,61,0,0,128,10,1,0,0,57,0,0,0,4,0,16,4,67],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,5,18,1,16,1,199,0,0,128,2,2,0,0,57,0,7,0,0,0,2,0,29],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,18,63,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,18,55,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,19,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,68,1,64,0,57,0,0,0,0,2,0,4,22,0,0,0,0,0,33,4,53],[0,0,0,36,1,64,0,57,0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53,0,0,0,0,1,0,4,16],[0,0,5,9,1,16,1,151,0,0,0,4,2,64,0,57,0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156],[0,5,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,20,1,16,1,199,0,0,128,10,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,19,77,0,0,97,61,0,0,0,5,2,0,0,41,0,0,5,7,1,32,0,156],[0,0,18,57,0,0,33,61,0,0,0,64,0,32,4,63,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,7,2,0,0,41,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65,0,0,0,0,4,0,4,20],[0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16,0,0,5,18,1,16,1,199],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,18,63,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,18,55,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,21,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,2,64,0,57,0,0,0,9,1,0,0,41,0,5,0,0,0,2,0,29],[0,0,0,0,0,18,4,53,0,0,0,8,1,0,0,41,0,0,5,22,1,16,1,151,0,0,5,23,1,16,1,199],[0,0,0,36,2,64,0,57,0,1,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156],[0,7,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16],[0,0,0,0,1,18,1,159,0,0,5,24,1,16,1,199,0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,19,109,0,0,97,61,0,0,0,7,6,0,0,41,0,0,5,7,1,96,0,156],[0,0,18,57,0,0,33,61,0,0,0,64,0,96,4,63,0,0,0,0,1,0,4,22,0,0,5,25,1,16,1,151],[0,0,0,0,0,1,4,23,0,0,17,16,0,0,1,61,0,0,0,6,2,0,0,41,0,0,0,4,0,32,4,67],[0,0,4,244,1,0,0,65,0,0,0,0,4,0,4,20,0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25],[0,0,0,192,1,64,2,16,0,0,5,18,1,16,1,199,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,18,63,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,18,55,0,0,97,61],[0,0,0,64,4,0,4,61,0,0,5,21,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,2,64,0,57],[0,0,0,9,1,0,0,41,0,5,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,0,8,1,0,0,41],[0,0,5,22,1,16,1,151,0,0,5,23,1,16,1,199,0,0,0,36,2,64,0,57,0,1,0,0,0,2,0,29],[0,0,0,0,0,18,4,53,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,4,244,3,64,0,156,0,7,0,0,0,4,0,29,0,0,0,0,1,4,64,25],[0,0,0,64,1,16,2,16,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,24,1,16,1,199],[0,0,128,2,2,0,0,57,19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,19,141,0,0,97,61],[0,0,0,7,6,0,0,41,0,0,5,7,1,96,0,156,0,0,18,57,0,0,33,61,0,0,0,64,0,96,4,63],[0,0,0,0,1,0,4,20,0,0,0,4,4,0,0,41,0,0,0,3,2,64,0,41,0,0,0,3,3,32,0,108],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,4,244,4,64,1,151,0,0,0,1,3,48,1,144],[0,0,18,68,0,0,193,61,0,0,0,0,3,0,0,49,0,0,0,0,5,35,0,75,0,0,18,68,0,0,65,61],[0,0,0,1,4,64,3,103,0,0,5,26,5,16,0,156,0,0,18,225,0,0,129,61,0,0,0,0,5,0,4,17],[0,0,0,0,2,35,0,73,0,0,4,244,2,32,1,151,0,0,0,0,2,36,3,223,0,0,0,192,1,16,2,16],[0,0,5,27,1,16,1,151,0,0,5,28,1,16,1,199,0,0,0,0,1,18,3,175,0,4,0,0,0,5,0,29],[0,0,5,9,13,80,1,151,0,0,0,2,2,0,0,41,19,201,19,195,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,4,244,3,48,1,151,0,0,0,1,2,32,1,144,0,0,18,242,0,0,97,61],[0,0,0,63,2,48,0,57,0,0,5,29,2,32,1,151,0,0,0,64,6,0,4,61,0,0,0,0,2,38,0,25],[0,0,0,0,4,98,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,5,7,5,32,0,156],[0,0,18,57,0,0,33,61,0,0,0,1,4,64,1,144,0,0,18,57,0,0,193,61,0,0,0,64,0,32,4,63],[0,5,0,0,0,6,0,29,0,0,0,0,8,54,4,54,0,0,0,31,2,48,0,57,0,0,0,5,2,32,2,114],[0,0,17,76,0,0,97,61,0,0,0,0,4,0,0,49,0,0,0,1,4,64,3,103,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,104,0,25,0,0,0,0,6,100,3,79,0,0,0,0,6,6,4,59],[0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,17,68,0,0,65,61],[0,0,0,0,2,0,0,75,0,0,17,78,0,0,97,61,0,0,0,31,2,48,1,143,0,0,0,5,3,48,2,114],[0,0,17,90,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,5,5,64,2,16,0,0,0,0,6,88,0,25],[0,0,0,0,5,81,3,79,0,0,0,0,5,5,4,59,0,0,0,0,0,86,4,53,0,0,0,1,4,64,0,57],[0,0,0,0,5,52,0,75,0,0,17,82,0,0,65,61,0,0,0,0,4,2,0,75,0,0,17,105,0,0,97,61],[0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,56,0,25,0,0,0,3,2,32,2,16],[0,0,0,0,4,3,4,51,0,0,0,0,4,36,1,207,0,0,0,0,4,36,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,2,32,0,137,0,0,0,0,1,33,2,47,0,0,0,0,1,33,1,207,0,0,0,0,1,65,1,159],[0,0,0,0,0,19,4,53,0,7,0,0,0,8,0,29,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,0,6,2,0,0,41,0,0,0,4,0,32,4,67,0,0,4,244,1,0,0,65,0,0,0,0,4,0,4,20],[0,0,4,244,3,64,0,156,0,0,0,0,4,1,128,25,0,0,0,192,1,64,2,16,0,0,5,18,1,16,1,199],[19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,18,63,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,1,1,0,75,0,0,18,55,0,0,97,61,0,0,0,64,4,0,4,61,0,0,5,30,1,0,0,65],[0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,9,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,4,244,3,64,0,156,0,6,0,0,0,4,0,29,0,0,0,0,1,4,64,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,5,31,1,16,1,199,0,0,128,2,2,0,0,57],[19,201,19,180,0,0,4,15,0,0,0,1,2,32,1,144,0,0,19,13,0,0,97,61,0,0,0,6,9,0,0,41],[0,0,5,7,1,144,0,156,0,0,0,5,1,0,0,41,0,0,18,57,0,0,33,61,0,0,0,64,0,144,4,63],[0,0,0,0,1,1,4,51,0,0,5,8,2,0,0,65,0,0,0,32,3,16,0,140,0,0,0,0,3,0,0,25],[0,0,0,0,3,2,64,25,0,0,5,8,4,16,1,151,0,0,0,0,5,4,0,75,0,0,0,0,2,0,160,25],[0,0,5,8,4,64,0,156,0,0,0,0,2,3,192,25,0,0,0,0,2,2,0,75,0,0,18,55,0,0,193,61],[0,0,0,7,2,0,0,41,0,0,0,0,2,2,4,51,0,0,5,7,3,32,0,156,0,0,18,55,0,0,33,61],[0,0,0,7,1,16,0,41,0,0,0,7,2,32,0,41,0,0,0,31,3,32,0,57,0,0,5,8,4,0,0,65],[0,0,0,0,5,19,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,4,128,25,0,0,5,8,3,48,1,151],[0,0,5,8,6,16,1,151,0,0,0,0,7,99,0,75,0,0,0,0,4,0,128,25,0,0,0,0,3,99,1,63],[0,0,5,8,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75,0,0,18,55,0,0,193,61],[0,0,0,0,35,2,4,52,0,0,5,7,4,48,0,156,0,0,18,57,0,0,33,61,0,0,0,5,4,48,2,16],[0,0,0,63,4,64,0,57,0,0,0,32,5,0,0,138,0,0,0,0,4,84,1,111,0,0,0,0,4,148,0,25],[0,0,5,7,5,64,0,156,0,0,18,57,0,0,33,61,0,0,0,64,0,64,4,63,0,0,0,0,0,57,4,53],[0,0,0,6,3,48,2,16,0,0,0,0,3,35,0,25,0,0,0,0,4,19,0,75,0,0,18,55,0,0,33,61],[0,0,0,0,4,50,0,75,0,0,17,226,0,0,129,61,0,0,5,8,4,0,0,65,0,0,0,0,5,9,0,25],[0,0,0,0,6,33,0,73,0,0,0,64,7,96,0,140,0,0,0,0,7,0,0,25,0,0,0,0,7,4,64,25],[0,0,5,8,6,96,1,151,0,0,0,0,8,6,0,75,0,0,0,0,8,0,0,25,0,0,0,0,8,4,32,25],[0,0,5,8,6,96,0,156,0,0,0,0,8,7,192,25,0,0,0,0,6,8,0,75,0,0,18,55,0,0,193,61],[0,0,0,64,6,0,4,61,0,0,5,32,7,96,0,156,0,0,18,57,0,0,33,61,0,0,0,32,5,80,0,57],[0,0,0,64,7,96,0,57,0,0,0,64,0,112,4,63,0,0,0,0,135,2,4,52,0,0,0,0,7,118,4,54],[0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53,0,0,0,0,0,101,4,53,0,0,0,64,2,32,0,57],[0,0,0,0,6,50,0,75,0,0,17,200,0,0,65,61,0,0,5,17,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,128,5,1,0,0,57,0,0,0,4,0,16,4,67,0,0,4,244,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,5,18,1,16,1,199],[0,0,128,2,2,0,0,57,19,201,19,185,0,0,4,15,0,0,0,1,2,32,1,144,0,0,18,63,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,0,6,6,0,0,41,0,0,18,55,0,0,97,61],[0,0,0,64,7,0,4,61,0,0,0,36,1,112,0,57,0,0,0,64,2,0,0,57,0,0,0,0,0,33,4,53],[0,0,5,33,1,0,0,65,0,0,0,0,0,23,4,53,0,0,0,4,1,112,0,57,0,0,0,9,2,0,0,41],[0,0,0,0,0,33,4,53,0,0,0,0,1,6,4,51,0,0,0,68,2,112,0,57,0,0,0,0,0,18,4,53],[0,0,0,100,2,112,0,57,0,0,0,0,3,1,0,75,0,0,18,14,0,0,97,61,0,0,0,0,3,0,0,25],[0,0,0,32,6,96,0,57,0,0,0,0,4,6,4,51,0,0,0,0,84,4,4,52,0,0,0,0,4,66,4,54],[0,0,0,0,5,5,4,51,0,0,0,0,0,84,4,53,0,0,0,64,2,32,0,57,0,0,0,1,3,48,0,57],[0,0,0,0,4,19,0,75,0,0,18,4,0,0,65,61,0,0,0,0,1,114,0,73,0,0,4,244,2,0,0,65],[0,0,4,244,3,112,0,156,0,0,0,0,3,2,0,25,0,0,0,0,3,7,64,25,0,0,0,64,3,48,2,16],[0,0,4,244,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159],[0,0,0,0,3,0,4,20,0,0,4,244,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,128,5,2,0,0,57,0,7,0,0,0,7,0,29,19,201,19,180,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,19,45,0,0,97,61,0,0,0,7,2,0,0,41,0,0,5,7,1,32,0,156],[0,0,0,0,1,2,0,25,0,0,18,57,0,0,33,61,0,0,0,64,0,16,4,63,0,0,4,244,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,4,244,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,5,39,1,16,1,199,0,0,128,13,2,0,0,57,0,0,0,4,3,0,0,57,0,0,5,40,4,0,0,65],[0,0,0,4,5,0,0,41,0,0,0,8,6,0,0,41,0,0,0,9,7,0,0,41,19,201,19,180,0,0,4,15],[0,0,0,1,1,32,1,144,0,0,18,55,0,0,97,61,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25],[0,0,19,203,0,1,4,48,0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,5,31,1,0,0,65,0,0,19,203,0,1,4,48,0,0,0,0,0,1,4,47],[0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,33,1,0,0,57,0,0,18,60,0,0,1,61],[0,0,5,58,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,18,60,0,0,1,61],[0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,32,2,0,0,57,0,0,0,0,0,35,4,53],[0,0,0,68,1,64,0,57,0,0,5,83,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57],[0,0,0,27,2,0,0,57,0,0,18,218,0,0,1,61,0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53],[0,0,0,32,2,0,0,57,0,0,0,0,0,35,4,53,0,0,0,100,1,64,0,57,0,0,5,81,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,68,1,64,0,57,0,0,5,82,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,64,0,57,0,0,0,40,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,2,64,0,156,0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16,0,0,5,37,1,16,1,199],[0,0,19,203,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,18,114,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,18,106,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,172,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,19,172,0,0,1,61,0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53],[0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53,0,0,0,68,1,64,0,57,0,0,5,78,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57,0,0,0,21,2,0,0,57,0,0,18,218,0,0,1,61],[0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,18,153,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,18,145,0,0,65,61,0,0,0,0,6,4,0,75,0,0,18,168,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,19,172,0,0,1,61,0,0,5,10,2,0,0,65,0,0,0,0,0,36,4,53,0,0,0,32,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,0,68,1,64,0,57,0,0,5,80,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,36,1,64,0,57,0,0,0,19,2,0,0,57,0,0,18,218,0,0,1,61,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,18,192,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,18,184,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,18,207,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,19,172,0,0,1,61],[0,0,0,68,1,64,0,57,0,0,5,41,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57],[0,0,0,26,2,0,0,57,0,0,0,0,0,33,4,53,0,0,5,10,1,0,0,65,0,0,0,0,0,20,4,53],[0,0,0,4,1,64,0,57,0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53,0,0,4,244,1,0,0,65],[0,0,4,244,2,64,0,156,0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16,0,0,5,20,1,16,1,199],[0,0,19,203,0,1,4,48,0,0,5,10,1,0,0,65,0,0,0,0,0,22,4,53,0,0,0,32,1,0,0,57],[0,0,0,5,2,0,0,41,0,0,0,0,0,18,4,53,0,0,0,8,1,0,0,57,0,0,0,1,2,0,0,41],[0,0,0,0,0,18,4,53,0,0,0,68,1,96,0,57,0,0,5,34,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,4,244,1,0,0,65,0,0,4,244,2,96,0,156,0,0,0,0,6,1,128,25,0,0,0,64,1,96,2,16],[0,0,5,20,1,16,1,199,0,0,19,203,0,1,4,48,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,18,253,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,18,246,0,0,65,61,0,0,0,0,5,4,0,75,0,0,19,11,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,19,203,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,19,29,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,19,21,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,44,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,19,172,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,19,61,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,19,53,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,76,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,19,172,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,19,93,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,19,85,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,108,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,19,172,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,19,125,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,19,117,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,140,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,19,172,0,0,1,61,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,31,4,48,1,143,0,0,4,244,3,48,1,151,0,0,0,5,5,48,2,114,0,0,19,157,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,19,149,0,0,65,61,0,0,0,0,6,4,0,75,0,0,19,172,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137],[0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53],[0,0,4,244,1,0,0,65,0,0,4,244,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16],[0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,19,203,0,1,4,48,0,0,0,0,0,1,4,47],[0,0,19,183,0,33,4,33,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,19,188,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,19,193,0,33,4,35,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,0,0,15,13,0,25],[0,0,19,199,0,33,4,41,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,19,201,0,0,4,50,0,0,19,202,0,1,4,46,0,0,19,203,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,156,77,83,90],[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,233,241,140,22],[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,236,249,91,137],[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,236,249,91,138],[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,243,56,95,182],[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,233,241,140,23],[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,236,128,103,199],[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,156,77,83,91],[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,187,15,214,16],[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,218,55,240,127],[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,93,56,38,255],[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,93,56,39,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,123,81,15,232],[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,132,218,31,180],[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,24,117,152,165],[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,60,218,51,81],[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,87,24,9,129],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[8,195,121,160,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,115,101,108,102,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,100,0,0,0,128,0,0,0,0,0,0,0,0],[76,99,20,240,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,36,0,0,0,128,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0],[87,153,82,252,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,100,0,0,0,0,0,0,0,0,0,0,0,0],[79,30,27,224,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],[255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,1,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,68,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[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,0,0,0,0],[0,0,0,0,255,255,255,255,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,0,1,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,0,0,0,0,1,255,255,255,224],[194,228,255,151,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,36,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,255,255,255,255,255,255,255,191],[173,126,35,46,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],[79,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[110,111,116,32,99,97,108,108,32,116,104,101,32,99,111,110,115,116,114,117,99,116,111,114,0,0,0,0,0,0,0,0],[84,104,101,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,122,101,114,111,32,105,102,32,119,101,32,100,111,32],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0],[13,70,81,170,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],[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],[41,10,253,174,35,26,63,192,187,174,139,26,246,54,152,176,161,215,155,33,173,23,223,3,66,223,185,82,254,116,248,229],[84,104,101,32,99,111,100,101,32,104,97,115,104,32,105,115,32,110,111,116,32,107,110,111,119,110,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,0,0],[48,99,149,198,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[105,110,103,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],[111,109,32,115,101,113,117,101,110,116,105,97,108,32,116,111,32,97,114,98,105,116,114,97,114,121,32,111,114,100,101,114],[73,116,32,105,115,32,111,110,108,121,32,112,111,115,115,105,98,108,101,32,116,111,32,99,104,97,110,103,101,32,102,114],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,0,0,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[199,84,65,148,218,179,139,22,82,243,84,57,185,180,128,109,139,113,225,19,242,207,92,19,81,203,46,207,124,131,149,154],[67,97,110,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,98,121,32,70,79,82,67,69,95,68,69,80,76],[79,89,69,82,32,111,114,32,67,79,77,80,76,69,88,95,85,80,71,82,65,68,69,82,95,67,79,78,84,82,65,67],[84,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,164,0,0,0,128,0,0,0,0,0,0,0,0],[243,56,95,182,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,0,0,0,0,0,255,255,254,251],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0],[78,72,123,113,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],[96,118,97,108,117,101,96,32,112,114,111,118,105,100,101,100,32,105,115,32,110,111,116,32,101,113,117,97,108,32,116,111],[32,116,104,101,32,99,111,109,98,105,110,101,100,32,96,118,97,108,117,101,96,115,32,111,102,32,100,101,112,108,111,121],[109,101,110,116,115,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],[73,110,97,112,112,114,111,112,114,105,97,116,101,32,99,97,108,108,101,114,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0],[77,226,228,104,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,0,255,255,255,255,255,255,255,192],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[63,182,244,241,93,221,74,117,88,140,169,52,137,74,210,205,202,178,90,80,18,226,81,94,23,131,67,61,1,40,97,26],[84,104,105,115,32,109,101,116,104,111,100,32,114,101,113,117,105,114,101,32,115,121,115,116,101,109,32,99,97,108,108,32],[102,108,97,103,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[0,0,0,1,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],[107,101,99,99,97,107,50,53,54,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0],[32,32,219,169,27,48,204,0,6,24,138,247,148,194,251,48,221,133,32,219,126,44,8,139,127,199,193,3,192,12,164,148],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,63],[99,186,227,169,149,29,56,232,163,251,183,183,9,9,175,193,32,6,16,252,91,197,90,222,36,47,129,89,116,103,79,35],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,128],[224,63,225,119,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],[67,111,100,101,32,104,97,115,104,32,105,115,32,110,111,110,45,122,101,114,111,0,0,0,0,0,0,0,0,0,0,0],[90,169,182,181,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],[65,99,99,111,117,110,116,32,105,115,32,111,99,99,117,112,105,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0],[101,108,32,115,112,97,99,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,110,32,110,111,116,32,100,101,112,108,111,121,32,99,111,110,116,114,97,99,116,115,32,105,110,32,107,101,114,110],[66,121,116,101,99,111,100,101,72,97,115,104,32,99,97,110,110,111,116,32,98,101,32,122,101,114,111,0,0,0,0,0],[240,216,92,27,130,178,83,239,156,199,86,153,75,62,76,240,236,53,132,231,151,139,5,161,93,133,7,213,47,126,122,185]],"0x0000000000000000000000000000000000000007":[[0,1,0,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,0,0,1,3,85,0,0,0,1,2,32,1,144],[0,0,0,74,0,0,193,61,0,0,0,32,2,16,3,112,0,0,0,0,3,2,4,59,0,0,0,0,4,1,4,59],[0,0,0,201,2,64,0,156,0,0,0,12,0,0,33,61,0,0,0,202,2,48,0,156,0,0,0,15,0,0,65,61],[0,0,0,0,1,0,4,20,0,0,0,0,1,16,4,32,0,0,0,0,1,0,3,103,0,0,0,0,2,67,1,160],[0,0,0,64,1,16,3,112,0,0,0,0,6,1,4,59,0,0,0,72,0,0,97,61,0,0,0,0,1,4,0,75],[0,0,0,203,33,64,0,209,0,0,0,1,2,32,192,57,0,0,0,204,81,64,0,209,0,0,0,202,81,16,0,209],[0,0,0,0,2,82,0,25,0,0,0,205,1,32,0,65,0,0,0,201,5,32,0,156,0,0,0,0,1,2,160,25],[0,0,0,0,82,17,0,170,0,0,0,1,5,80,192,57,0,0,0,206,114,32,0,209,0,0,0,202,114,32,0,209],[0,0,0,0,2,117,0,25,0,0,0,205,5,32,0,65,0,0,0,201,7,32,0,156,0,0,0,0,5,2,160,25],[0,0,0,0,117,21,0,170,0,0,0,1,7,112,192,57,0,0,0,0,2,3,0,75,0,0,0,203,130,48,0,209],[0,0,0,1,8,128,192,57,0,0,0,204,146,48,0,209,0,0,0,202,146,32,0,209,0,0,0,0,8,152,0,25],[0,0,0,205,2,128,0,65,0,0,0,201,9,128,0,156,0,0,0,0,2,8,160,25,0,0,0,0,152,34,0,170],[0,0,0,1,9,144,192,57,0,0,0,206,165,80,0,209,0,0,0,206,168,128,0,209,0,0,0,202,165,80,0,209],[0,0,0,0,5,167,0,25,0,0,0,202,135,128,0,209,0,0,0,0,7,137,0,25,0,0,0,205,8,80,0,65],[0,0,0,201,9,80,0,156,0,0,0,0,8,5,160,25,0,0,0,205,5,112,0,65,0,0,0,201,9,112,0,156],[0,0,0,0,5,7,160,25,0,0,0,207,7,0,0,65,0,0,0,208,9,0,0,65,0,0,0,209,10,128,0,156],[0,0,0,0,9,7,160,25,0,0,0,0,7,137,0,25,0,0,0,0,5,117,0,75,0,0,0,70,0,0,97,61],[0,0,0,0,5,0,4,20,0,0,0,0,5,80,4,32,0,0,0,0,5,6,0,75,0,0,0,79,0,0,193,61],[0,0,0,214,1,0,0,65,0,0,3,27,0,1,4,46,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67],[0,0,1,32,0,0,4,67,0,0,0,200,1,0,0,65,0,0,3,27,0,1,4,46,0,0,0,1,5,96,0,140],[0,0,0,85,0,0,193,61,0,0,0,0,0,64,4,53,0,0,0,32,0,48,4,63,0,0,0,214,1,0,0,65],[0,0,3,27,0,1,4,46,0,0,0,2,3,96,0,140,0,0,0,90,0,0,193,61,0,0,0,210,3,0,0,65],[3,26,2,172,0,0,4,15,0,0,2,89,0,0,1,61,0,0,0,210,8,0,0,65,0,0,0,0,3,0,0,25],[0,0,0,210,4,0,0,65,0,0,0,0,15,0,0,25,0,0,0,211,0,0,1,61,0,0,0,0,10,0,0,25],[0,0,0,0,152,34,0,170,0,0,0,206,184,128,0,209,0,0,0,202,184,128,0,209,0,0,0,1,11,176,192,57],[0,0,0,0,9,155,0,25,0,0,0,205,8,144,0,65,0,0,0,201,11,144,0,156,0,0,0,0,8,9,160,25],[0,0,0,1,9,128,2,16,0,0,0,2,11,128,2,16,0,0,0,211,12,176,0,65,0,0,0,201,9,144,0,156],[0,0,0,0,12,11,160,25,0,0,0,0,185,119,0,170,0,0,0,206,217,144,0,209,0,0,0,202,217,144,0,209],[0,0,0,1,13,208,192,57,0,0,0,0,11,189,0,25,0,0,0,0,151,39,0,170,0,0,0,206,215,112,0,209],[0,0,0,202,215,112,0,209,0,0,0,1,13,208,192,57,0,0,0,0,7,157,0,25,0,0,0,1,13,192,2,16],[0,0,0,211,9,208,0,65,0,0,0,201,12,192,0,156,0,0,0,0,9,13,160,25,0,0,0,205,12,176,0,65],[0,0,0,201,13,176,0,156,0,0,0,0,12,11,160,25,0,0,0,0,186,162,0,169,0,0,0,0,219,18,0,169],[0,0,0,0,10,173,0,25,0,0,0,0,33,33,0,170,0,0,0,206,33,16,0,209,0,0,0,202,33,16,0,209],[0,0,0,1,2,32,192,57,0,0,0,0,2,162,0,25,0,0,0,0,1,12,0,75,0,0,0,212,161,192,0,209],[0,0,0,1,10,160,192,57,0,0,0,47,177,192,0,201,0,0,0,202,177,16,0,209,0,0,0,0,10,186,0,25],[0,0,0,205,1,160,0,65,0,0,0,201,11,160,0,156,0,0,0,0,1,10,160,25,0,0,0,205,10,32,0,65],[0,0,0,201,11,32,0,156,0,0,0,0,10,2,160,25,0,0,0,1,2,16,2,16,0,0,0,205,11,32,0,65],[0,0,0,213,12,16,0,156,0,0,0,0,11,2,160,25,0,0,0,0,2,27,0,25,0,0,0,205,11,32,0,65],[0,0,0,201,12,32,0,156,0,0,0,0,11,2,160,25,0,0,0,0,2,184,0,73,0,0,0,202,11,32,0,65],[0,0,0,205,12,32,0,156,0,0,0,0,2,11,128,25,0,0,0,0,186,162,0,170,0,0,0,1,11,176,192,57],[0,0,0,0,8,129,0,25,0,0,0,205,12,128,0,65,0,0,0,201,13,128,0,156,0,0,0,0,12,8,160,25],[0,0,0,0,130,194,0,170,0,0,0,1,8,128,192,57,0,0,0,205,12,144,0,65,0,0,0,201,13,144,0,156],[0,0,0,0,12,9,160,25,0,0,0,0,145,28,0,170,0,0,0,1,9,144,192,57,0,0,0,205,13,112,0,65],[0,0,0,201,14,112,0,156,0,0,0,0,13,7,160,25,0,0,0,0,199,220,0,170,0,0,0,1,12,192,192,57],[0,0,0,206,218,160,0,209,0,0,0,202,218,160,0,209,0,0,0,0,10,219,0,25,0,0,0,1,11,160,2,16],[0,0,0,211,13,176,0,65,0,0,0,201,10,160,0,156,0,0,0,0,13,11,160,25,0,0,0,206,162,32,0,209],[0,0,0,206,161,16,0,209,0,0,0,206,167,112,0,209,0,0,0,202,162,32,0,209,0,0,0,0,2,168,0,25],[0,0,0,202,135,112,0,209,0,0,0,0,7,140,0,25,0,0,0,205,8,112,0,65,0,0,0,201,10,112,0,156],[0,0,0,0,8,7,160,25,0,0,0,202,113,16,0,209,0,0,0,0,7,121,0,25,0,0,0,205,1,208,0,65],[0,0,0,201,9,208,0,156,0,0,0,0,1,13,160,25,0,0,0,205,9,32,0,65,0,0,0,201,10,32,0,156],[0,0,0,0,9,2,160,25,0,0,0,205,2,112,0,65,0,0,0,201,10,112,0,156,0,0,0,0,2,7,160,25],[0,0,0,0,7,41,0,25,0,0,0,205,2,112,0,65,0,0,0,201,9,112,0,156,0,0,0,0,2,7,160,25],[0,0,0,1,7,96,0,140,0,0,0,1,6,96,2,112,0,0,2,87,0,0,161,61,0,0,0,0,7,8,0,25],[0,0,0,1,8,96,1,144,0,0,0,95,0,0,97,61,0,0,0,0,8,3,0,75,0,0,1,114,0,0,97,61],[0,2,0,0,0,1,0,29,0,0,0,0,168,49,0,170,0,0,0,1,10,160,192,57,0,0,0,0,203,127,0,170],[0,0,0,1,12,192,192,57,0,0,0,0,237,116,0,170,0,0,0,1,14,224,192,57,0,0,0,0,1,15,0,25],[0,0,0,0,159,50,0,170,0,0,0,1,9,144,192,57,0,0,0,206,91,176,0,209,0,0,0,202,181,176,0,209],[0,0,0,0,5,188,0,25,0,0,0,206,184,128,0,209,0,0,0,205,12,80,0,65,0,0,0,201,11,80,0,156],[0,0,0,0,12,5,160,25,0,0,0,202,133,128,0,209,0,0,0,0,5,138,0,25,0,0,0,205,11,80,0,65],[0,0,0,201,8,80,0,156,0,0,0,0,11,5,160,25,0,0,0,206,133,208,0,209,0,0,0,202,133,80,0,209],[0,0,0,0,5,142,0,25,0,0,0,0,8,203,0,73,0,0,0,202,10,128,0,65,0,0,0,205,13,128,0,156],[0,0,0,0,8,10,128,25,0,0,0,205,10,80,0,65,0,0,0,201,13,80,0,156,0,0,0,0,10,5,160,25],[0,0,0,206,213,240,0,209,0,0,0,202,213,80,0,209,0,0,0,0,5,217,0,25,0,0,0,205,9,80,0,65],[0,0,0,201,13,80,0,156,0,0,0,0,9,5,160,25,0,0,0,0,10,169,0,73,0,0,0,202,5,160,0,65],[0,0,0,205,13,160,0,156,0,0,0,0,10,5,128,25,0,0,0,0,5,168,1,160,0,0,1,229,0,0,97,61],[0,0,0,0,67,55,0,170,0,0,0,1,4,64,192,57,0,0,0,0,213,170,0,170,0,0,0,1,13,208,192,57],[0,0,0,0,1,7,0,25,0,0,0,0,127,136,0,170,0,0,0,1,7,112,192,57,0,0,0,206,227,48,0,209],[0,0,0,202,227,48,0,209,0,0,0,0,4,228,0,25,0,0,0,205,3,64,0,65,0,0,0,201,14,64,0,156],[0,0,0,0,3,4,160,25,0,0,0,206,84,80,0,209,0,0,0,202,84,64,0,209,0,0,0,0,4,93,0,25],[0,0,0,205,5,64,0,65,0,0,0,201,13,64,0,156,0,0,0,0,5,4,160,25,0,0,0,0,222,53,0,170],[0,0,0,1,13,208,192,57,0,0,0,0,4,188,0,25,0,0,0,205,5,64,0,65,0,0,0,201,12,64,0,156],[0,0,0,0,5,4,160,25,0,0,0,206,196,240,0,209,0,0,0,202,196,64,0,209,0,0,0,0,4,199,0,25],[0,0,0,205,7,64,0,65,0,0,0,201,12,64,0,156,0,0,0,0,7,4,160,25,0,0,0,0,252,87,0,170],[0,0,0,1,15,240,192,57,0,0,0,0,91,183,0,170,0,0,0,1,5,80,192,57,0,1,0,0,64,135,0,174],[0,0,0,1,4,64,192,57,0,0,0,206,124,192,0,209,0,0,0,202,199,192,0,209,0,0,0,0,7,207,0,25],[0,0,0,205,12,112,0,65,0,0,0,201,15,112,0,156,0,0,0,0,12,7,160,25,0,0,0,206,231,224,0,209],[0,0,0,202,231,112,0,209,0,0,0,0,7,237,0,25,0,0,0,205,13,112,0,65,0,0,0,201,14,112,0,156],[0,0,0,0,13,7,160,25,0,0,0,0,7,205,0,73,0,0,0,206,203,176,0,209,0,0,0,202,12,112,0,65],[0,0,0,205,13,112,0,156,0,0,0,0,7,12,128,25,0,0,0,202,203,176,0,209,0,0,0,0,5,197,0,25],[0,0,0,205,11,80,0,65,0,0,0,201,12,80,0,156,0,0,0,0,11,5,160,25,0,0,0,0,5,123,0,73],[0,0,0,202,11,80,0,65,0,0,0,205,12,80,0,156,0,0,0,0,5,11,128,25,0,0,0,0,165,165,0,170],[0,0,0,1,10,160,192,57,0,0,0,0,135,135,0,170,0,0,0,1,8,128,192,57,0,0,0,1,11,0,0,41],[0,0,0,206,203,176,0,209,0,0,0,202,203,176,0,209,0,0,0,0,4,196,0,25,0,0,0,205,11,64,0,65],[0,0,0,201,12,64,0,156,0,0,0,0,11,4,160,25,0,0,0,0,148,155,0,170,0,0,0,1,9,144,192,57],[0,0,0,0,179,59,0,170,0,0,0,1,11,176,192,57,0,0,0,206,197,80,0,209,0,0,0,202,197,80,0,209],[0,0,0,0,5,202,0,25,0,0,0,206,167,112,0,209,0,0,0,206,164,64,0,209,0,0,0,202,164,64,0,209],[0,0,0,0,4,169,0,25,0,0,0,205,9,80,0,65,0,0,0,201,10,80,0,156,0,0,0,0,9,5,160,25],[0,0,0,202,117,112,0,209,0,0,0,0,5,120,0,25,0,0,0,205,7,64,0,65,0,0,0,201,8,64,0,156],[0,0,0,0,7,4,160,25,0,0,0,206,67,48,0,209,0,0,0,202,67,48,0,209,0,0,0,0,4,75,0,25],[0,0,0,205,3,64,0,65,0,0,0,201,8,64,0,156,0,0,0,0,3,4,160,25,0,0,0,0,4,121,0,73],[0,0,0,202,7,64,0,65,0,0,0,205,8,64,0,156,0,0,0,0,4,7,128,25,0,0,0,205,15,80,0,65],[0,0,0,201,7,80,0,156,0,0,0,0,7,1,0,25,0,0,0,0,15,5,160,25,0,0,0,0,10,0,0,25],[0,0,0,2,1,0,0,41,0,0,0,96,0,0,1,61,0,0,0,0,67,34,0,170,0,0,0,1,4,64,192,57],[0,0,0,206,83,48,0,209,0,0,0,202,83,48,0,209,0,0,0,0,3,84,0,25,0,0,0,205,4,48,0,65],[0,0,0,201,5,48,0,156,0,0,0,0,4,3,160,25,0,0,0,1,3,64,2,16,0,0,0,2,5,64,2,16],[0,0,0,211,9,80,0,65,0,0,0,201,3,48,0,156,0,0,0,0,9,5,160,25,0,0,0,0,186,119,0,170],[0,0,0,1,11,176,192,57,0,0,0,0,220,33,0,170,0,0,0,1,13,208,192,57,0,0,0,0,53,39,0,170],[0,0,0,1,3,48,192,57,0,0,0,1,14,144,2,16,0,0,0,211,8,224,0,65,0,0,0,201,9,144,0,156],[0,0,0,0,8,14,160,25,0,0,0,206,169,160,0,209,0,0,0,202,169,144,0,209,0,0,0,0,9,171,0,25],[0,0,0,205,10,144,0,65,0,0,0,201,11,144,0,156,0,0,0,0,10,9,160,25,0,0,0,0,9,10,0,75],[0,0,0,212,185,160,0,209,0,0,0,1,11,176,192,57,0,0,0,206,201,192,0,209,0,0,0,47,202,160,0,201],[0,0,0,202,202,160,0,209,0,0,0,0,10,203,0,25,0,0,0,202,185,144,0,209,0,0,0,0,11,189,0,25],[0,0,0,205,9,160,0,65,0,0,0,201,12,160,0,156,0,0,0,0,9,10,160,25,0,0,0,205,10,176,0,65],[0,0,0,201,12,176,0,156,0,0,0,0,10,11,160,25,0,0,0,1,11,144,2,16,0,0,0,205,12,176,0,65],[0,0,0,213,13,144,0,156,0,0,0,0,12,11,160,25,0,0,0,0,11,156,0,25,0,0,0,205,12,176,0,65],[0,0,0,201,13,176,0,156,0,0,0,0,12,11,160,25,0,0,0,0,11,196,0,73,0,0,0,202,12,176,0,65],[0,0,0,205,13,176,0,156,0,0,0,0,11,12,128,25,0,0,0,0,220,171,0,170,0,0,0,1,13,208,192,57],[0,0,0,0,4,73,0,25,0,0,0,205,10,64,0,65,0,0,0,201,14,64,0,156,0,0,0,0,10,4,160,25],[0,0,0,0,171,171,0,170,0,0,0,1,10,160,192,57,0,0,0,205,14,128,0,65,0,0,0,201,4,128,0,156],[0,0,0,0,14,8,160,25,0,0,0,0,72,233,0,170,0,0,0,1,4,64,192,57,0,0,0,206,149,80,0,209],[0,0,0,202,149,80,0,209,0,0,0,0,3,147,0,25,0,0,0,205,5,48,0,65,0,0,0,201,9,48,0,156],[0,0,0,0,5,3,160,25,0,0,0,0,83,94,0,170,0,0,0,1,5,80,192,57,0,0,0,206,201,192,0,209],[0,0,0,202,201,144,0,209,0,0,0,0,9,205,0,25,0,0,0,1,12,144,2,16,0,0,0,211,13,192,0,65],[0,0,0,201,9,144,0,156,0,0,0,0,13,12,160,25,0,0,0,206,185,176,0,209,0,0,0,206,139,128,0,209],[0,0,0,206,131,48,0,209,0,0,0,202,152,144,0,209,0,0,0,0,9,154,0,25,0,0,0,202,131,48,0,209],[0,0,0,0,3,133,0,25,0,0,0,205,8,48,0,65,0,0,0,201,5,48,0,156,0,0,0,0,8,3,160,25],[0,0,0,202,83,176,0,209,0,0,0,0,3,84,0,25,0,0,0,205,4,208,0,65,0,0,0,201,5,208,0,156],[0,0,0,0,4,13,160,25,0,0,0,205,5,144,0,65,0,0,0,201,10,144,0,156,0,0,0,0,5,9,160,25],[0,0,0,205,9,48,0,65,0,0,0,201,10,48,0,156,0,0,0,0,9,3,160,25,0,0,0,0,3,149,0,25],[0,0,0,205,9,48,0,65,0,0,0,201,5,48,0,156,0,0,0,0,9,3,160,25,0,0,0,0,15,1,0,25],[0,0,0,0,1,4,0,25,0,0,0,0,4,2,0,25,0,0,0,0,2,9,0,25,0,0,0,0,3,7,0,25],[0,0,0,208,0,0,1,61,0,0,0,0,9,1,0,25,0,0,0,0,33,68,0,170,0,0,0,1,2,32,192,57],[0,0,0,206,81,16,0,209,0,0,0,202,81,16,0,209,0,0,0,0,1,82,0,25,0,0,0,205,2,16,0,65],[0,0,0,201,5,16,0,156,0,0,0,0,2,1,160,25,0,0,0,1,1,32,2,16,0,0,0,2,5,32,2,16],[0,0,0,211,7,80,0,65,0,0,0,201,1,16,0,156,0,0,0,0,7,5,160,25,0,0,0,0,133,51,0,170],[0,0,0,1,8,128,192,57,0,0,0,0,169,73,0,170,0,0,0,1,10,160,192,57,0,0,0,0,19,52,0,170],[0,0,0,1,1,16,192,57,0,0,0,1,11,112,2,16,0,0,0,211,4,176,0,65,0,0,0,201,7,112,0,156],[0,0,0,0,4,11,160,25,0,0,0,206,117,80,0,209,0,0,0,202,117,80,0,209,0,0,0,0,5,120,0,25],[0,0,0,205,7,80,0,65,0,0,0,201,8,80,0,156,0,0,0,0,7,5,160,25,0,0,0,0,5,7,0,75],[0,0,0,212,133,112,0,209,0,0,0,1,8,128,192,57,0,0,0,206,149,144,0,209,0,0,0,47,151,112,0,201],[0,0,0,202,151,112,0,209,0,0,0,0,7,152,0,25,0,0,0,202,133,80,0,209,0,0,0,0,8,138,0,25],[0,0,0,205,5,112,0,65,0,0,0,201,9,112,0,156,0,0,0,0,5,7,160,25,0,0,0,205,7,128,0,65],[0,0,0,201,9,128,0,156,0,0,0,0,7,8,160,25,0,0,0,1,8,80,2,16,0,0,0,205,9,128,0,65],[0,0,0,213,10,80,0,156,0,0,0,0,9,8,160,25,0,0,0,0,8,89,0,25,0,0,0,205,9,128,0,65],[0,0,0,201,10,128,0,156,0,0,0,0,9,8,160,25,0,0,0,0,8,146,0,73,0,0,0,202,9,128,0,65],[0,0,0,205,10,128,0,156,0,0,0,0,8,9,128,25,0,0,0,0,169,120,0,170,0,0,0,1,10,160,192,57],[0,0,0,0,2,37,0,25,0,0,0,205,7,32,0,65,0,0,0,201,11,32,0,156,0,0,0,0,7,2,160,25],[0,0,0,0,120,120,0,170,0,0,0,1,7,112,192,57,0,0,0,205,11,64,0,65,0,0,0,201,2,64,0,156],[0,0,0,0,11,4,160,25,0,0,0,0,36,91,0,170,0,0,0,1,2,32,192,57,0,0,0,206,83,48,0,209],[0,0,0,202,83,48,0,209,0,0,0,0,1,81,0,25,0,0,0,205,3,16,0,65,0,0,0,201,5,16,0,156],[0,0,0,0,3,1,160,25,0,0,0,0,49,59,0,170,0,0,0,1,3,48,192,57,0,0,0,206,149,144,0,209],[0,0,0,202,149,80,0,209,0,0,0,0,5,154,0,25,0,0,0,1,9,80,2,16,0,0,0,211,10,144,0,65],[0,0,0,201,5,80,0,156,0,0,0,0,10,9,160,25,0,0,0,206,133,128,0,209,0,0,0,206,132,64,0,209],[0,0,0,206,129,16,0,209,0,0,0,202,133,80,0,209,0,0,0,0,5,135,0,25,0,0,0,202,113,16,0,209],[0,0,0,0,1,115,0,25,0,0,0,205,8,16,0,65,0,0,0,201,3,16,0,156,0,0,0,0,8,1,160,25],[0,0,0,202,49,64,0,209,0,0,0,0,1,50,0,25,0,0,0,205,15,160,0,65,0,0,0,201,2,160,0,156],[0,0,0,0,15,10,160,25,0,0,0,205,2,80,0,65,0,0,0,201,3,80,0,156,0,0,0,0,2,5,160,25],[0,0,0,205,3,16,0,65,0,0,0,201,4,16,0,156,0,0,0,0,3,1,160,25,0,0,0,0,1,50,0,25],[0,0,0,205,4,16,0,65,0,0,0,201,2,16,0,156,0,0,0,0,4,1,160,25,0,0,0,0,1,15,0,25],[0,0,0,0,2,4,0,25,0,0,0,0,3,8,0,25,0,0,0,208,0,0,1,61,0,0,0,0,1,15,0,25],[0,0,0,0,2,4,0,25,3,26,2,108,0,0,4,15,0,2,0,0,0,2,0,29,3,26,2,100,0,0,4,15],[0,1,0,0,0,1,0,29,0,0,0,2,1,0,0,41,3,26,2,100,0,0,4,15,0,0,0,1,2,0,0,41],[0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,214,1,0,0,65,0,0,3,27,0,1,4,46],[0,0,0,0,2,1,0,75,0,0,0,206,33,16,0,209,0,0,0,202,33,16,0,209,0,0,0,1,2,32,192,57],[0,0,0,205,1,32,0,65,0,0,0,201,3,32,0,156,0,0,0,0,1,2,160,25,0,0,0,0,0,1,4,45],[0,0,0,0,4,3,0,75,0,0,0,0,5,0,0,25,0,0,0,0,4,0,0,25,0,0,2,169,0,0,97,61],[0,0,0,203,4,0,0,65,0,0,0,1,5,48,0,140,0,0,2,153,0,0,97,61,0,0,0,202,5,0,0,65],[0,0,0,203,4,0,0,65,0,0,0,0,6,0,0,25,0,0,0,1,7,48,1,144,0,0,2,126,0,0,193,61],[0,0,0,1,7,64,1,144,0,0,0,202,4,64,192,65,0,0,0,2,7,48,1,144,0,0,0,1,3,48,2,112],[0,0,0,1,4,64,2,112,0,0,2,120,0,0,97,61,0,0,0,1,7,80,1,144,0,0,2,134,0,0,193,61],[0,0,0,1,7,96,1,144,0,0,0,202,6,96,192,65,0,0,0,2,7,80,1,144,0,0,0,1,5,80,2,112],[0,0,0,1,6,96,2,112,0,0,2,128,0,0,97,61,0,0,0,0,7,53,0,75,0,0,2,142,0,0,161,61],[0,0,0,202,7,96,0,65,0,0,0,0,8,70,0,75,0,0,0,0,7,6,128,25,0,0,0,0,6,71,0,73],[0,0,0,0,5,53,0,73,0,0,2,147,0,0,1,61,0,0,0,202,7,64,0,65,0,0,0,0,8,100,0,75],[0,0,0,0,7,4,128,25,0,0,0,0,4,103,0,73,0,0,0,0,3,83,0,73,0,0,0,1,7,48,0,140],[0,0,2,151,0,0,97,61,0,0,0,1,7,80,0,140,0,0,2,118,0,0,193,61,0,0,0,1,3,48,0,140],[0,0,0,0,4,6,192,25,0,0,0,0,49,20,0,170,0,0,0,1,3,48,192,57,0,0,0,0,66,36,0,170],[0,0,0,1,4,64,192,57,0,0,0,206,82,32,0,209,0,0,0,202,82,32,0,209,0,0,0,0,2,84,0,25],[0,0,0,205,4,32,0,65,0,0,0,201,5,32,0,156,0,0,0,0,4,2,160,25,0,0,0,206,33,16,0,209],[0,0,0,202,33,16,0,209,0,0,0,0,1,35,0,25,0,0,0,205,5,16,0,65,0,0,0,201,2,16,0,156],[0,0,0,0,5,1,160,25,0,0,0,0,1,5,0,25,0,0,0,0,2,4,0,25,0,0,0,0,0,1,4,45],[0,0,0,0,84,34,0,170,0,0,0,1,5,80,192,57,0,0,0,206,100,64,0,209,0,0,0,202,100,64,0,209],[0,0,0,0,5,101,0,25,0,0,0,205,4,80,0,65,0,0,0,201,6,80,0,156,0,0,0,0,4,5,160,25],[0,0,0,1,5,64,2,16,0,0,0,2,6,64,2,16,0,0,0,211,7,96,0,65,0,0,0,201,5,80,0,156],[0,0,0,0,7,6,160,25,0,0,0,0,101,51,0,170,0,0,0,1,6,96,192,57,0,0,0,0,152,18,0,170],[0,0,0,1,9,144,192,57,0,0,0,0,18,35,0,170,0,0,0,1,1,16,192,57,0,0,0,1,10,112,2,16],[0,0,0,211,3,160,0,65,0,0,0,201,7,112,0,156,0,0,0,0,3,10,160,25,0,0,0,206,117,80,0,209],[0,0,0,202,117,80,0,209,0,0,0,0,5,118,0,25,0,0,0,205,6,80,0,65,0,0,0,201,7,80,0,156],[0,0,0,0,6,5,160,25,0,0,0,0,5,6,0,75,0,0,0,212,117,96,0,209,0,0,0,1,7,112,192,57],[0,0,0,206,133,128,0,209,0,0,0,47,134,96,0,201,0,0,0,202,134,96,0,209,0,0,0,0,6,135,0,25],[0,0,0,202,117,80,0,209,0,0,0,0,7,121,0,25,0,0,0,205,5,96,0,65,0,0,0,201,8,96,0,156],[0,0,0,0,5,6,160,25,0,0,0,205,6,112,0,65,0,0,0,201,8,112,0,156,0,0,0,0,6,7,160,25],[0,0,0,1,7,80,2,16,0,0,0,205,8,112,0,65,0,0,0,213,9,80,0,156,0,0,0,0,8,7,160,25],[0,0,0,0,7,88,0,25,0,0,0,205,8,112,0,65,0,0,0,201,9,112,0,156,0,0,0,0,8,7,160,25],[0,0,0,0,7,132,0,73,0,0,0,202,8,112,0,65,0,0,0,205,9,112,0,156,0,0,0,0,7,8,128,25],[0,0,0,0,152,103,0,170,0,0,0,1,9,144,192,57,0,0,0,0,4,69,0,25,0,0,0,205,6,64,0,65],[0,0,0,201,10,64,0,156,0,0,0,0,6,4,160,25,0,0,0,0,103,103,0,170,0,0,0,1,6,96,192,57],[0,0,0,205,10,48,0,65,0,0,0,201,4,48,0,156,0,0,0,0,10,3,160,25,0,0,0,0,67,165,0,170],[0,0,0,1,4,64,192,57,0,0,0,206,82,32,0,209,0,0,0,202,82,32,0,209,0,0,0,0,1,81,0,25],[0,0,0,205,2,16,0,65,0,0,0,201,5,16,0,156,0,0,0,0,2,1,160,25,0,0,0,0,33,42,0,170],[0,0,0,1,2,32,192,57,0,0,0,206,133,128,0,209,0,0,0,202,133,80,0,209,0,0,0,0,5,137,0,25],[0,0,0,1,8,80,2,16,0,0,0,211,9,128,0,65,0,0,0,201,5,80,0,156,0,0,0,0,9,8,160,25],[0,0,0,206,117,112,0,209,0,0,0,206,55,48,0,209,0,0,0,206,49,16,0,209,0,0,0,202,83,80,0,209],[0,0,0,0,5,86,0,25,0,0,0,202,49,16,0,209,0,0,0,0,1,50,0,25,0,0,0,205,3,16,0,65],[0,0,0,201,2,16,0,156,0,0,0,0,3,1,160,25,0,0,0,202,33,112,0,209,0,0,0,0,2,36,0,25],[0,0,0,205,1,144,0,65,0,0,0,201,4,144,0,156,0,0,0,0,1,9,160,25,0,0,0,205,4,80,0,65],[0,0,0,201,6,80,0,156,0,0,0,0,4,5,160,25,0,0,0,205,5,32,0,65,0,0,0,201,6,32,0,156],[0,0,0,0,5,2,160,25,0,0,0,0,4,84,0,25,0,0,0,205,2,64,0,65,0,0,0,201,5,64,0,156],[0,0,0,0,2,4,160,25,0,0,0,0,0,1,4,45,0,0,3,26,0,0,4,50,0,0,3,27,0,1,4,46],[0,0,3,28,0,1,4,48,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,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[48,100,78,114,225,49,160,41,184,80,69,182,129,129,88,93,151,129,106,145,104,113,202,141,60,32,140,22,216,124,253,70],[48,100,78,114,225,49,160,41,184,80,69,182,129,129,88,93,151,129,106,145,104,113,202,141,60,32,140,22,216,124,253,71],[6,216,159,113,202,184,53,31,71,171,30,255,10,65,127,246,181,231,25,17,212,69,1,251,243,44,252,91,83,138,250,137],[74,71,70,38,35,160,74,122,176,116,165,134,128,115,1,58,233,101,225,118,124,212,192,134,243,174,216,161,155,249,14,81],[207,155,177,141,30,206,95,214,71,175,186,73,126,126,167,162,104,126,149,110,151,142,53,114,195,223,115,233,39,131,2,185],[245,122,34,183,145,136,140,107,216,175,203,208,24,51,218,128,158,222,125,101,30,202,106,201,135,210,7,130,228,134,99,137],[42,31,103,68,206,23,157,142,51,75,234,78,105,107,210,132,31,106,193,122,225,85,33,185,122,23,202,169,80,173,40,215],[249,187,24,209,236,229,253,100,122,251,164,151,231,234,122,38,135,233,86,233,120,227,87,44,61,247,62,146,120,48,43,144],[6,68,231,46,19,26,2,155,133,4,91,104,24,21,133,217,120,22,169,22,135,28,168,211,194,8,193,109,135,207,212,111],[14,10,119,193,154,7,223,47,102,110,163,111,120,121,70,44,10,120,235,40,245,199,11,61,211,93,67,141,197,143,13,157],[159,55,99,26,61,156,191,172,143,95,116,146,252,253,79,68,208,253,42,221,47,28,106,229,135,190,231,210,79,6,5,114],[29,149,152,232,167,227,152,87,41,67,51,126,57,64,198,209,47,61,111,77,211,27,208,17,246,6,71,206,65,13,127,247],[24,50,39,57,112,152,208,20,220,40,34,219,64,192,172,46,203,192,181,72,180,56,229,70,158,16,70,11,108,62,126,163],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,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],[136,210,215,145,1,9,72,102,245,6,226,206,231,74,222,121,140,90,74,182,159,125,137,7,252,66,94,207,167,28,22,58]],"0x0000000000000000000000000000000000000002":[[0,0,0,1,2,32,1,144,0,0,0,51,0,0,193,61,0,0,0,0,2,1,0,25,0,0,0,96,3,32,2,112],[0,0,0,31,4,48,1,143,0,0,0,17,2,48,1,151,0,0,0,5,5,32,2,114,0,0,0,16,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,135,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,0,9,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,0,30,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,5,80,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,81,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,18,1,0,0,65,0,0,0,0,0,18,4,53],[0,0,0,8,1,48,0,57,0,0,0,63,1,16,1,143,0,0,0,0,1,18,0,73,0,0,0,195,2,32,2,16],[0,0,0,64,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,72,1,16,0,57,0,0,0,27,2,16,2,16],[0,0,0,19,2,32,1,151,0,0,0,6,1,16,2,112,0,0,0,192,3,16,2,16,0,0,0,0,2,50,1,159],[0,0,0,20,2,32,1,199,0,0,0,7,49,16,0,201,0,0,0,0,1,18,4,32,0,0,0,0,1,1,0,75],[0,0,0,56,0,0,193,61,0,0,0,0,1,0,0,25,0,0,0,60,0,1,4,48,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,16,1,0,0,65,0,0,0,59,0,1,4,46],[0,0,0,21,1,0,0,65,0,0,0,59,0,1,4,46,0,0,0,58,0,0,4,50,0,0,0,59,0,1,4,46],[0,0,0,60,0,1,4,48,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,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,255,255,255,255],[128,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],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[163,6,139,9,248,74,233,86,156,89,18,239,176,49,25,58,139,131,161,16,140,157,193,139,157,74,170,24,136,162,125,123]],"0x0000000000000000000000000000000000008009":[[0,2,0,0,0,0,0,2,0,6,0,0,0,0,0,2,0,1,0,0,0,1,3,85,0,0,0,0,6,1,0,25],[0,0,0,96,6,96,2,112,0,0,0,75,0,96,1,157,0,0,0,128,7,0,0,57,0,0,0,64,0,112,4,63],[0,0,0,75,9,96,1,151,0,0,0,0,8,0,4,22,0,0,0,1,7,32,1,144,0,0,0,31,0,0,193,61],[0,0,0,0,7,8,0,75,0,0,0,105,0,0,193,61,0,0,0,2,2,32,1,144,0,0,0,38,0,0,193,61],[0,0,0,0,2,0,4,17,0,0,0,77,2,32,0,156,0,0,0,38,0,0,65,61,0,0,0,90,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,36,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,0,94,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,95,1,0,0,65],[0,0,0,228,0,16,4,63,0,0,0,96,1,0,0,65,0,0,1,42,0,1,4,48,0,0,0,0,1,8,0,75],[0,0,0,105,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,0,76,1,0,0,65,0,0,1,41,0,1,4,46,0,0,0,78,2,64,1,151,0,0,0,0,4,0,4,16],[0,0,0,0,4,66,0,75,0,0,0,52,0,0,193,61,0,0,0,90,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,30,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,0,92,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,93,1,0,0,65,0,0,1,42,0,1,4,48],[0,0,0,0,4,3,0,75,0,0,0,0,8,0,4,17,0,0,0,0,7,9,0,25,0,0,0,64,0,0,193,61],[0,0,0,0,0,3,4,23,0,0,0,0,3,0,4,20,0,0,0,0,4,151,0,75,0,0,0,107,0,0,129,61],[0,0,0,87,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,0,255,0,0,1,61],[0,3,0,0,0,9,0,29,0,5,0,0,0,5,0,29,0,6,0,0,0,6,0,29,0,0,0,79,1,0,0,65],[0,0,0,160,0,16,4,63,0,1,0,0,0,8,0,29,0,0,0,78,1,128,1,151,0,0,0,164,0,16,4,63],[0,2,0,0,0,2,0,29,0,0,0,196,0,32,4,63,0,4,0,0,0,3,0,29,0,0,0,228,0,48,4,63],[0,0,0,100,1,0,0,57,0,0,0,128,0,16,4,63,0,0,1,32,1,0,0,57,0,0,0,64,0,16,4,63],[0,0,0,75,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,75,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,0,80,1,16,1,199,0,0,128,10,2,0,0,57,1,40,1,29,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,75,5,48,1,152,0,0,0,127,0,0,193,61],[0,0,0,1,1,32,1,144,0,0,0,6,6,0,0,41,0,0,0,5,5,0,0,41,0,0,0,4,3,0,0,41],[0,0,0,3,9,0,0,41,0,0,0,105,0,0,97,61,0,0,0,83,1,48,0,156,0,0,0,2,2,0,0,41],[0,0,0,1,8,0,0,41,0,0,0,109,0,0,33,61,0,0,0,1,1,0,3,103,0,0,0,0,7,0,0,49],[0,0,0,56,0,0,1,61,0,0,0,0,1,0,0,25,0,0,1,42,0,1,4,48,0,0,0,75,4,48,0,156],[0,0,0,168,0,0,161,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,89,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,8,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,90,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,75,2,0,0,65,0,0,0,75,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,0,91,1,16,1,199,0,0,1,42,0,1,4,48,0,0,0,63,3,80,0,57],[0,0,0,81,3,48,1,151,0,0,0,64,4,0,4,61,0,0,0,0,3,52,0,25,0,0,0,0,6,67,0,75],[0,0,0,0,6,0,0,25,0,0,0,1,6,0,64,57,0,0,0,82,7,48,0,156,0,0,0,252,0,0,33,61],[0,0,0,1,6,96,1,144,0,0,0,252,0,0,193,61,0,0,0,64,0,48,4,63,0,0,0,31,3,80,1,143],[0,0,0,0,4,84,4,54,0,0,0,5,5,80,2,114,0,0,0,152,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,0,144,0,0,65,61],[0,0,0,0,6,3,0,75,0,0,0,92,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,4,84,0,25,0,0,0,3,3,48,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,53,1,207],[0,0,0,0,5,53,2,47,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47],[0,0,0,0,1,49,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,20,4,53,0,0,0,92,0,0,1,61],[0,0,0,1,4,80,1,144,0,0,0,84,4,0,0,65,0,0,0,85,5,0,0,65,0,0,0,0,5,4,192,25],[0,0,0,192,3,48,2,16,0,0,0,86,3,48,1,151,0,0,0,0,3,83,1,159,0,0,0,0,4,103,0,73],[0,0,0,75,4,64,1,151,0,0,0,0,1,65,3,223,0,0,0,0,1,49,3,175,0,0,0,78,13,128,1,151],[1,40,1,34,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,0,75,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,1,2,0,0,97,61,0,0,0,63,2,48,0,57,0,0,0,81,4,32,1,151],[0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,0,82,6,64,0,156,0,0,0,252,0,0,33,61,0,0,0,1,5,80,1,144],[0,0,0,252,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57],[0,0,0,5,5,80,2,114,0,0,0,213,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75],[0,0,0,205,0,0,65,61,0,0,0,0,5,0,0,75,0,0,0,215,0,0,97,61,0,0,0,31,5,48,1,143],[0,0,0,5,3,48,2,114,0,0,0,227,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,54,0,75,0,0,0,219,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,0,242,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,6,3,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,5,80,0,137,0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,19,4,53,0,0,0,0,1,2,4,51,0,0,0,75,2,0,0,65],[0,0,0,75,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,75,3,64,0,156,0,0,0,0,4,2,128,25],[0,0,0,64,2,64,2,16,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,1,41,0,1,4,46],[0,0,0,87,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63],[0,0,0,88,1,0,0,65,0,0,1,42,0,1,4,48,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,1,13,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,1,6,0,0,65,61,0,0,0,0,5,4,0,75,0,0,1,27,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,1,42,0,1,4,48,0,0,1,32,0,33,4,33,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,0,0,15,13,0,25,0,0,1,38,0,33,4,41],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,1,40,0,0,4,50,0,0,1,41,0,1,4,46,0,0,1,42,0,1,4,48,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,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[87,153,82,252,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,100,0,0,0,160,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,255,255,255,224],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[1,0,0,1,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,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[78,72,123,113,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,36,0,0,0,0,0,0,0,0,0,0,0,0],[79,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[8,195,121,160,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,100,0,0,0,0,0,0,0,0,0,0,0,0],[77,115,103,86,97,108,117,101,83,105,109,117,108,97,116,111,114,32,99,97,108,108,115,32,105,116,115,101,108,102,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,0,0,0,0,0,0,0,0],[84,104,105,115,32,109,101,116,104,111,100,32,114,101,113,117,105,114,101,32,115,121,115,116,101,109,32,99,97,108,108,32],[102,108,97,103,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,132,0,0,0,128,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],[104,86,206,249,159,64,233,200,187,185,162,103,175,77,178,97,168,231,132,34,191,2,15,56,177,244,203,85,226,83,209,29]],"0x000000000000000000000000000000000000800b":[[0,1,0,0,0,0,0,2,0,6,0,0,0,0,0,2,0,0,0,0,0,1,3,85,0,0,0,128,4,0,0,57],[0,0,0,64,0,64,4,63,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,1,24,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,0,33,0,0,193,61,0,0,0,4,2,48,0,140,0,0,3,150,0,0,65,61],[0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112,0,0,1,28,5,32,0,156,0,0,0,52,0,0,33,61],[0,0,1,46,5,32,0,156,0,0,0,67,0,0,161,61,0,0,1,47,4,32,0,156,0,0,0,123,0,0,161,61],[0,0,1,48,4,32,0,156,0,0,0,200,0,0,33,61,0,0,1,51,1,32,0,156,0,0,1,16,0,0,97,61],[0,0,1,52,1,32,0,156,0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,0,0,1,12,1,0,0,57,0,0,0,0,1,1,4,26,0,0,1,64,1,16,1,151],[0,0,1,241,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[0,0,1,24,1,0,0,65,0,0,0,3,2,0,0,57,0,0,0,0,0,18,4,27,0,0,0,4,1,0,0,57],[0,0,0,0,2,1,4,26,0,0,1,25,2,32,1,151,0,0,128,1,2,32,1,191,0,0,0,0,0,33,4,27],[0,0,1,26,1,0,0,65,0,0,0,5,2,0,0,57,0,0,0,0,0,18,4,27,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,1,27,1,0,0,65,0,0,4,90,0,1,4,46],[0,0,1,29,4,32,0,156,0,0,0,99,0,0,161,61,0,0,1,30,4,32,0,156,0,0,0,134,0,0,161,61],[0,0,1,31,4,32,0,156,0,0,0,248,0,0,33,61,0,0,1,34,1,32,0,156,0,0,0,62,0,0,97,61],[0,0,1,35,1,32,0,156,0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,4,89,4,24,0,0,4,15,0,0,0,111,0,0,1,61,0,0,1,56,5,32,0,156],[0,0,0,156,0,0,33,61,0,0,1,60,5,32,0,156,0,0,1,21,0,0,97,61,0,0,1,61,5,32,0,156],[0,0,1,87,0,0,97,61,0,0,1,62,2,32,0,156,0,0,3,150,0,0,193,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,3,150,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140],[0,0,3,150,0,0,65,61,0,0,0,0,2,0,4,17,0,0,128,1,2,32,0,140,0,0,2,22,0,0,193,61],[0,0,0,10,2,0,0,57,0,6,0,0,0,2,0,29,0,0,0,0,2,2,4,26,0,0,0,160,0,32,4,63],[0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,0,0,192,0,16,4,63,0,0,0,64,2,0,0,57],[0,0,0,128,0,32,4,63,0,0,0,224,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,160,1,0,0,57],[4,89,4,62,0,0,4,15,0,0,0,6,2,0,0,41,0,0,1,227,0,0,1,61,0,0,1,39,4,32,0,156],[0,0,0,179,0,0,33,61,0,0,1,43,4,32,0,156,0,0,1,1,0,0,97,61,0,0,1,44,1,32,0,156],[0,0,1,143,0,0,97,61,0,0,1,45,1,32,0,156,0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,4,89,4,43,0,0,4,15,0,0,1,64,2,32,1,151],[0,0,0,64,3,0,4,61,0,0,0,32,4,48,0,57,0,0,0,0,0,36,4,53,0,0,1,64,1,16,1,151],[0,0,0,0,0,19,4,53,0,0,1,24,1,0,0,65,0,0,1,24,2,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,64,1,48,2,16,0,0,1,65,1,16,1,199,0,0,4,90,0,1,4,46,0,0,1,53,1,32,0,156],[0,0,1,150,0,0,97,61,0,0,1,54,1,32,0,156,0,0,1,162,0,0,97,61,0,0,1,55,1,32,0,156],[0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[0,0,0,6,1,0,0,57,0,0,1,199,0,0,1,61,0,0,1,36,4,32,0,156,0,0,1,169,0,0,97,61],[0,0,1,37,4,32,0,156,0,0,1,174,0,0,97,61,0,0,1,38,1,32,0,156,0,0,3,150,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,0,4,1,48,0,138],[0,0,0,32,1,16,0,140,0,0,3,150,0,0,65,61,0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140],[0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57,4,89,3,248,0,0,4,15,0,0,0,4,1,0,0,57],[0,0,0,0,1,16,3,103,0,0,0,0,1,1,4,59,0,0,0,2,2,0,0,57,0,0,1,227,0,0,1,61],[0,0,1,57,1,32,0,156,0,0,1,195,0,0,97,61,0,0,1,58,1,32,0,156,0,0,1,201,0,0,97,61],[0,0,1,59,1,32,0,156,0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140,0,0,2,22,0,0,193,61],[0,0,1,14,1,0,0,57,0,0,0,0,2,1,4,26,0,0,255,255,3,32,1,143,0,0,255,255,4,48,0,140],[0,0,2,32,0,0,193,61,0,0,1,123,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,1,124,1,0,0,65,0,0,4,91,0,1,4,48,0,0,1,40,1,32,0,156],[0,0,1,230,0,0,97,61,0,0,1,41,1,32,0,156,0,0,1,237,0,0,97,61,0,0,1,42,1,32,0,156],[0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[4,89,4,24,0,0,4,15,0,0,1,64,2,32,1,151,0,0,0,128,1,16,2,16,0,0,0,0,1,33,1,159],[0,0,0,64,2,0,4,61,0,0,0,0,0,18,4,53,0,0,1,24,1,0,0,65,0,0,1,24,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,1,67,1,16,1,199,0,0,4,90,0,1,4,46],[0,0,1,49,4,32,0,156,0,0,1,244,0,0,97,61,0,0,1,50,2,32,0,156,0,0,3,150,0,0,193,61],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,3,150,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,32,2,32,0,140,0,0,3,150,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59],[0,0,1,12,2,0,0,57,0,0,0,0,2,2,4,26,0,0,0,192,3,0,0,57,0,0,0,64,0,48,4,63],[0,0,0,128,6,32,2,112,0,0,1,13,2,0,0,57,0,0,0,0,3,2,4,26,0,0,1,64,5,48,1,151],[0,0,0,128,0,80,4,63,0,0,0,128,2,48,2,112,0,0,0,160,0,32,4,63,0,0,0,0,4,22,0,75],[0,0,0,0,4,0,0,25,0,0,2,68,0,0,161,61,0,0,0,0,4,22,0,73,0,0,1,1,4,64,0,140],[0,0,0,0,4,0,0,25,0,0,2,68,0,0,129,61,0,0,0,0,4,81,0,75,0,0,2,38,0,0,129,61],[0,0,0,0,0,16,4,53,0,0,0,8,1,0,0,57,0,0,0,32,0,16,4,63,0,0,1,24,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,1,24,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,1,70,1,16,1,199,0,0,128,16,2,0,0,57,4,89,4,84,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,3,150,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,4,1,4,26,0,0,2,68,0,0,1,61],[0,0,1,32,4,32,0,156,0,0,1,1,0,0,97,61,0,0,1,33,1,32,0,156,0,0,3,150,0,0,193,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,0,2,1,0,0,57],[0,0,1,199,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,3,150,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,3,150,0,0,65,61,0,0,0,4,1,16,3,112],[0,0,0,0,1,1,4,59,0,0,0,0,0,16,4,53,0,0,0,8,1,0,0,57,0,0,0,32,0,16,4,63],[0,0,0,64,2,0,0,57,0,0,0,0,1,0,0,25,4,89,4,62,0,0,4,15,0,0,1,199,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,0,3,1,0,0,57],[0,0,1,199,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,3,150,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,128,2,32,0,140,0,0,3,150,0,0,65,61,0,0,0,4,2,16,3,112],[0,0,0,0,3,2,4,59,0,0,0,36,2,16,3,112,0,0,0,0,4,2,4,59,0,0,1,64,2,64,0,156],[0,0,3,150,0,0,33,61,0,0,0,68,1,16,3,112,0,0,0,0,5,1,4,59,0,0,1,64,1,80,0,156],[0,0,3,150,0,0,33,61,0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140,0,0,2,22,0,0,193,61],[0,0,0,192,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,7,6,0,0,57,0,0,0,0,1,6,4,26],[0,0,1,64,2,16,1,151,0,0,0,128,0,32,4,63,0,0,0,128,1,16,2,112,0,0,0,160,0,16,4,63],[0,0,0,0,2,36,0,75,0,0,2,76,0,0,161,61,0,0,1,64,2,16,0,156,0,0,0,173,0,0,97,61],[0,0,0,1,2,16,0,57,0,0,0,0,2,82,0,75,0,0,2,85,0,0,193,61,0,3,0,0,0,6,0,29],[0,4,0,0,0,5,0,29,0,6,0,0,0,3,0,29,0,0,0,9,2,0,0,57,0,0,0,0,2,2,4,26],[0,0,1,64,2,32,1,151,0,5,0,0,0,4,0,29,0,0,0,0,2,36,0,75,0,0,2,97,0,0,161,61],[0,0,0,0,0,16,4,53,0,0,0,8,1,0,0,57,0,0,0,32,0,16,4,63,0,0,1,24,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,1,24,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,1,70,1,16,1,199,0,0,128,16,2,0,0,57,4,89,4,84,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,6,2,0,0,41,0,0,3,150,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,0,33,4,27],[0,0,0,64,1,0,4,61,0,0,1,94,2,16,0,156,0,0,3,17,0,0,161,61,0,0,1,123,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,176,0,0,1,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,3,150,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,160,2,32,0,140],[0,0,3,150,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,6,2,4,59,0,0,1,64,2,96,0,156],[0,0,3,150,0,0,33,61,0,0,0,36,2,16,3,112,0,0,0,0,5,2,4,59,0,0,1,64,2,80,0,156],[0,0,3,150,0,0,33,61,0,0,0,68,2,16,3,112,0,0,0,0,7,2,4,59,0,0,0,100,2,16,3,112],[0,0,0,0,2,2,4,59,0,0,0,0,3,2,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,192,57],[0,0,0,0,3,50,0,75,0,0,3,150,0,0,193,61,0,0,0,132,1,16,3,112,0,0,0,0,3,1,4,59],[0,0,1,64,1,48,0,156,0,0,3,150,0,0,33,61,0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140],[0,0,2,22,0,0,193,61,0,0,0,0,1,2,0,75,0,6,0,0,0,3,0,29,0,4,0,0,0,7,0,29],[0,0,2,126,0,0,97,61,0,0,0,7,1,0,0,57,0,0,0,0,1,1,4,26,0,0,1,64,1,16,1,151],[0,0,0,0,3,5,0,25,0,0,0,0,1,21,0,75,0,0,2,111,0,0,129,61,0,0,1,71,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,97,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,1,79,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,80,1,0,0,65],[0,0,0,228,0,16,4,63,0,0,1,81,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,82,1,0,0,65],[0,0,1,36,0,16,4,63,0,0,1,83,1,0,0,65,0,0,4,91,0,1,4,48,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,1,14,1,0,0,57,0,0,0,0,1,1,4,26],[0,0,255,255,1,16,1,143,0,0,1,241,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,96,57,4,89,3,248,0,0,4,15,0,0,1,14,1,0,0,57,0,0,0,0,2,1,4,26],[0,0,1,75,2,32,1,151,0,0,2,35,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,0,0,1,12,1,0,0,57,0,0,0,0,1,1,4,26,0,0,0,128,1,16,2,112],[0,0,1,241,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[0,0,0,4,1,0,0,57,0,0,1,234,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75],[0,0,3,150,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,3,150,0,0,65,61],[0,0,0,4,1,16,3,112,0,0,0,0,2,1,4,59,0,0,1,66,1,32,0,156,0,0,3,150,0,0,33,61],[0,0,0,0,1,0,4,17,0,0,128,1,1,16,0,140,0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57],[0,6,0,0,0,2,0,29,4,89,3,248,0,0,4,15,0,0,0,1,1,0,0,57,0,0,0,0,2,1,4,26],[0,0,1,25,2,32,1,151,0,0,0,6,2,32,1,175,0,0,2,35,0,0,1,61,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,0,5,1,0,0,57,0,0,0,0,1,1,4,26],[0,0,1,241,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[0,0,0,4,1,48,0,138,0,0,0,96,1,16,0,140,0,0,3,150,0,0,65,61,0,0,0,0,1,0,4,17],[0,0,128,1,1,16,0,140,0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57,4,89,3,248,0,0,4,15],[0,0,0,64,1,0,4,61,4,89,4,13,0,0,4,15,0,0,0,0,1,0,3,103,0,0,0,36,2,16,3,112],[0,0,0,0,2,2,4,59,0,0,0,128,2,32,2,16,0,0,0,4,3,16,3,112,0,0,0,0,3,3,4,59],[0,0,1,64,3,48,1,151,0,0,0,0,2,35,1,159,0,0,0,7,3,0,0,57,0,0,0,0,0,35,4,27],[0,0,0,68,1,16,3,112,0,0,0,0,1,1,4,59,0,0,0,6,2,0,0,57,0,0,0,0,0,18,4,27],[0,0,0,0,1,0,0,25,0,0,4,90,0,1,4,46,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,3,150,0,0,193,61,0,0,0,1,1,0,0,57,0,0,0,0,1,1,4,26,0,0,1,66,1,16,1,151],[0,0,1,241,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61],[0,0,0,0,1,0,4,26,0,0,0,128,0,16,4,63,0,0,1,63,1,0,0,65,0,0,4,90,0,1,4,46],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,3,150,0,0,193,61,0,0,0,0,1,0,4,17],[0,0,128,1,1,16,0,140,0,0,2,22,0,0,193,61,0,0,0,7,1,0,0,57,0,0,0,0,3,1,4,26],[0,0,1,64,1,48,1,151,0,0,0,128,0,16,4,63,0,0,0,128,2,48,2,112,0,0,0,160,0,32,4,63],[0,0,1,0,2,0,0,57,0,0,0,64,0,32,4,63,0,0,0,9,2,0,0,57,0,0,0,0,4,2,4,26],[0,0,1,64,2,64,1,151,0,0,0,192,0,32,4,63,0,0,0,128,4,64,2,112,0,0,0,224,0,64,4,63],[0,0,1,64,3,48,0,156,0,0,2,46,0,0,33,61,0,0,1,71,1,0,0,65,0,0,1,0,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,1,4,0,16,4,63,0,0,0,47,1,0,0,57,0,0,1,36,0,16,4,63],[0,0,1,72,1,0,0,65,0,0,1,68,0,16,4,63,0,0,1,73,1,0,0,65,0,0,1,100,0,16,4,63],[0,0,1,74,1,0,0,65,0,0,4,91,0,1,4,48,0,0,1,71,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,31,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,114,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,115,1,0,0,65,0,0,4,91,0,1,4,48],[0,0,1,75,2,32,1,151,0,0,0,1,3,48,0,57,0,0,0,0,2,35,1,159,0,0,0,0,0,33,4,27],[0,0,0,0,1,0,0,25,0,0,4,90,0,1,4,46,0,0,1,68,3,48,0,156,0,0,2,52,0,0,65,61],[0,0,0,0,2,33,0,75,0,0,2,52,0,0,65,61,0,0,1,1,33,16,1,26,0,0,0,11,1,32,0,57],[0,0,0,0,4,1,4,26,0,0,2,68,0,0,1,61,0,0,0,128,1,16,2,16,0,0,0,0,1,18,1,159],[0,0,0,3,2,0,0,57,0,0,0,0,0,18,4,28,0,0,0,0,1,0,0,25,0,0,4,90,0,1,4,46],[0,0,0,224,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,192,0,16,4,63,0,0,1,0,1,0,0,57],[0,0,0,64,0,16,4,63,0,0,1,24,1,0,0,65,0,0,0,0,2,0,4,20,0,0,1,24,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,1,69,1,16,1,199,0,0,128,16,2,0,0,57],[4,89,4,84,0,0,4,15,0,0,0,1,2,32,1,144,0,0,3,150,0,0,97,61,0,0,0,0,4,1,4,59],[0,0,0,64,1,0,4,61,0,0,0,0,0,65,4,53,0,0,1,24,2,0,0,65,0,0,1,24,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,1,67,1,16,1,199,0,0,4,90,0,1,4,46],[0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63],[0,0,0,228,0,16,4,63,0,0,1,116,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,85,1,0,0,65],[0,0,4,91,0,1,4,48,0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,196,0,16,4,63,0,0,0,40,1,0,0,57,0,0,0,228,0,16,4,63,0,0,1,117,1,0,0,65],[0,0,1,4,0,16,4,63,0,0,1,118,1,0,0,65,0,0,1,36,0,16,4,63,0,0,1,97,1,0,0,65],[0,0,4,91,0,1,4,48,0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,196,0,16,4,63,0,0,0,83,1,0,0,57,0,0,0,228,0,16,4,63,0,0,1,119,1,0,0,65],[0,0,1,4,0,16,4,63,0,0,1,120,1,0,0,65,0,0,1,36,0,16,4,63,0,0,1,121,1,0,0,65],[0,0,1,68,0,16,4,63,0,0,1,122,1,0,0,65,0,0,4,91,0,1,4,48,0,0,0,6,1,0,0,107],[0,0,0,0,5,3,0,25,0,0,2,126,0,0,193,61,0,0,1,71,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,63,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,76,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,77,1,0,0,65,0,0,0,228,0,16,4,63],[0,0,1,78,1,0,0,65,0,0,4,91,0,1,4,48,0,2,0,0,0,5,0,29,0,0,0,192,1,0,0,57],[0,0,0,64,0,16,4,63,0,0,0,9,1,0,0,57,0,1,0,0,0,1,0,29,0,0,0,0,3,1,4,26],[0,0,1,64,5,48,1,151,0,0,0,128,0,80,4,63,0,0,0,128,1,48,2,112,0,0,0,160,0,16,4,63],[0,0,1,64,3,48,0,156,0,5,0,0,0,6,0,29,0,3,0,0,0,5,0,29,0,0,2,154,0,0,33,61],[0,0,0,0,3,5,0,75,0,0,2,159,0,0,193,61,0,0,0,0,1,2,0,75,0,0,2,253,0,0,193,61],[0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63],[0,0,0,33,1,0,0,57,0,0,0,228,0,16,4,63,0,0,1,112,1,0,0,65,0,0,1,4,0,16,4,63],[0,0,1,113,1,0,0,65,0,0,2,94,0,0,1,61,0,0,0,0,3,97,0,75,0,0,2,161,0,0,97,61],[0,0,1,64,2,16,0,156,0,0,0,173,0,0,97,61,0,0,2,188,0,0,1,61,0,0,0,5,3,16,0,108],[0,0,2,188,0,0,193,61,0,0,0,0,1,2,0,75,0,0,2,243,0,0,193,61,0,0,0,3,2,0,0,41],[0,0,0,2,1,32,0,108,0,0,3,39,0,0,193,61,0,0,0,5,1,0,0,41,0,0,0,1,1,16,0,138],[0,0,1,64,2,16,0,156,0,0,0,173,0,0,33,61,0,0,1,64,1,16,1,151,0,0,1,1,33,16,1,26],[0,0,0,11,1,32,0,57,0,0,0,0,1,1,4,26,0,0,0,4,1,16,0,107,0,0,3,152,0,0,193,61],[0,0,0,6,1,0,0,107,0,0,3,100,0,0,97,61,0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63,0,0,0,60,1,0,0,57,0,0,0,228,0,16,4,63],[0,0,1,102,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,103,1,0,0,65,0,0,2,94,0,0,1,61],[0,0,0,1,2,16,0,57,0,0,0,5,2,32,0,108,0,0,3,9,0,0,193,61,0,0,0,1,2,16,0,138],[0,0,1,64,3,32,0,156,0,0,0,173,0,0,33,61,0,0,0,10,3,0,0,57,0,0,0,0,3,3,4,26],[0,0,1,64,2,32,1,151,0,0,1,1,82,32,1,26,0,0,0,11,2,80,0,57,0,0,0,0,2,2,4,26],[0,0,0,224,0,16,4,63,0,0,0,3,1,0,0,41,0,0,1,0,0,16,4,63,0,0,1,32,0,32,4,63],[0,0,1,64,0,48,4,63,0,0,0,192,0,64,4,63,0,0,1,96,1,0,0,57,0,0,0,64,0,16,4,63],[0,0,1,24,1,0,0,65,0,0,0,0,2,0,4,20,0,0,1,24,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,1,86,1,16,1,199,0,0,128,16,2,0,0,57,4,89,4,84,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,0,4,3,0,0,41,0,0,3,150,0,0,97,61,0,0,0,64,2,0,4,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,19,0,75,0,0,3,162,0,0,193,61,0,0,0,3,3,0,0,41],[0,0,0,2,1,48,0,107,0,0,3,197,0,0,161,61,0,0,1,94,1,32,0,156,0,0,1,83,0,0,33,61],[0,0,0,64,1,32,0,57,0,0,0,64,0,16,4,63,0,0,0,32,1,32,0,57,0,0,0,5,4,0,0,41],[0,0,0,0,0,65,4,53,0,0,0,2,3,0,0,41,0,0,0,0,0,50,4,53,0,0,0,128,1,64,2,16],[0,0,0,0,1,19,1,159,0,0,0,1,2,0,0,41,0,0,0,0,0,18,4,27,0,0,0,1,1,64,0,138],[0,0,1,64,2,16,0,156,0,0,0,173,0,0,33,61,0,0,3,93,0,0,1,61,0,0,1,71,1,0,0,65],[0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63,0,0,0,53,1,0,0,57],[0,0,0,228,0,16,4,63,0,0,1,95,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,96,1,0,0,65],[0,0,2,94,0,0,1,61,0,0,0,5,1,0,0,107,0,0,3,49,0,0,193,61,0,0,1,71,1,0,0,65],[0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63,0,0,0,44,1,0,0,57],[0,0,0,228,0,16,4,63,0,0,1,110,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,111,1,0,0,65],[0,0,2,94,0,0,1,61,0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,196,0,16,4,63,0,0,0,27,1,0,0,57,0,0,0,228,0,16,4,63,0,0,1,84,1,0,0,65],[0,0,2,82,0,0,1,61,0,0,0,64,2,16,0,57,0,0,0,64,0,32,4,63,0,0,0,32,2,16,0,57],[0,0,0,4,3,0,0,41,0,0,0,0,0,50,4,53,0,0,0,5,2,0,0,41,0,0,0,0,0,33,4,53],[0,0,0,128,1,48,2,16,0,0,1,64,2,32,1,151,0,0,0,0,1,18,1,159,0,0,0,3,2,0,0,41],[0,0,0,0,0,18,4,27,0,0,0,100,1,0,0,57,0,0,0,0,1,16,3,103,0,0,0,0,1,1,4,59],[0,0,0,6,2,0,0,57,0,0,0,0,0,18,4,27,0,0,0,4,1,0,0,57,0,0,0,6,2,0,0,41],[0,0,0,0,0,33,4,28,0,0,0,0,1,0,0,25,0,0,4,90,0,1,4,46,0,0,1,71,1,0,0,65],[0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63,0,0,0,47,1,0,0,57],[0,0,0,228,0,16,4,63,0,0,1,98,1,0,0,65,0,0,1,4,0,16,4,63,0,0,1,99,1,0,0,65],[0,0,2,94,0,0,1,61,0,0,0,5,1,0,0,41,0,0,1,64,1,16,0,65,0,3,0,0,0,1,0,29],[0,0,0,224,1,16,2,16,0,0,0,224,0,16,4,63,0,0,0,4,1,0,0,57,0,0,0,192,0,16,4,63],[0,0,1,0,1,0,0,57,0,0,0,64,0,16,4,63,0,0,1,24,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,1,24,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,1,104,1,16,1,199],[0,0,128,16,2,0,0,57,4,89,4,84,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,4,3,0,0,41],[0,0,3,150,0,0,97,61,0,0,0,64,2,0,4,61,0,0,0,0,1,1,4,59,0,0,0,0,1,49,0,75],[0,0,3,171,0,0,193,61,0,0,0,3,1,0,0,41,0,0,1,64,1,16,1,151,0,0,1,1,49,16,1,26],[0,0,0,11,1,48,0,57,0,0,0,4,3,0,0,41,0,0,0,0,0,49,4,27,0,0,1,94,1,32,0,156],[0,0,1,83,0,0,33,61,0,0,0,64,1,32,0,57,0,0,0,64,0,16,4,63,0,0,0,32,1,32,0,57],[0,0,0,5,4,0,0,41,0,0,0,0,0,65,4,53,0,0,0,2,3,0,0,41,0,0,0,0,0,50,4,53],[0,0,0,128,1,64,2,16,0,0,0,0,1,19,1,159,0,0,0,1,2,0,0,41,0,0,0,0,0,18,4,27],[0,0,0,1,1,64,0,138,0,0,1,64,1,16,1,151,0,0,1,1,33,16,1,26,0,0,0,11,1,32,0,57],[0,0,0,4,2,0,0,41,0,0,0,0,0,33,4,27,0,0,0,10,1,0,0,57,0,0,0,0,0,1,4,27],[0,0,1,13,1,0,0,57,0,0,0,0,2,1,4,26,0,0,1,68,3,32,0,156,0,0,3,191,0,0,129,61],[0,0,0,64,3,0,4,61,0,0,1,94,4,48,0,156,0,0,1,83,0,0,33,61,0,0,0,64,4,48,0,57],[0,0,0,64,0,64,4,63,0,0,1,12,4,0,0,57,0,0,0,0,6,4,4,26,0,0,1,64,4,96,1,151],[0,0,0,0,4,67,4,54,0,0,0,128,5,96,2,112,0,0,0,0,0,84,4,53,0,0,1,64,6,96,0,156],[0,0,3,220,0,0,33,61,0,0,0,0,6,3,4,51,0,0,1,64,6,96,1,152,0,0,3,220,0,0,193,61],[0,0,0,7,5,0,0,57,0,0,0,0,5,5,4,26,0,0,0,128,5,80,2,112,0,0,0,0,0,84,4,53],[0,0,1,107,2,32,1,151,0,0,0,0,2,37,1,159,0,0,0,0,0,33,4,27,0,0,0,6,6,0,0,107],[0,0,3,223,0,0,193,61,0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57,0,0,1,108,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,1,109,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,40,3,0,0,57,0,0,0,0,0,50,4,53,0,0,1,71,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,1,24,2,0,0,65,0,0,1,24,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,1,89,1,16,1,199,0,0,4,91,0,1,4,48,0,0,0,0,1,0,0,25,0,0,4,91,0,1,4,48],[0,0,1,71,1,0,0,65,0,0,0,192,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,196,0,16,4,63],[0,0,0,51,1,0,0,57,0,0,0,228,0,16,4,63,0,0,1,100,1,0,0,65,0,0,1,4,0,16,4,63],[0,0,1,101,1,0,0,65,0,0,2,94,0,0,1,61,0,0,0,100,1,32,0,57,0,0,1,87,3,0,0,65],[0,0,0,0,0,49,4,53,0,0,0,68,1,32,0,57,0,0,1,88,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,36,1,32,0,57,0,0,0,38,3,0,0,57,0,0,3,179,0,0,1,61,0,0,0,100,1,32,0,57],[0,0,1,105,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,68,1,32,0,57,0,0,1,106,3,0,0,65],[0,0,0,0,0,49,4,53,0,0,0,36,1,32,0,57,0,0,0,39,3,0,0,57,0,0,0,0,0,49,4,53],[0,0,1,71,1,0,0,65,0,0,0,0,0,18,4,53,0,0,0,4,1,32,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,49,4,53,0,0,1,24,1,0,0,65,0,0,1,24,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,64,1,32,2,16,0,0,1,89,1,16,1,199,0,0,4,91,0,1,4,48,0,0,0,1,1,0,0,41],[0,0,0,0,1,1,4,26,0,0,1,12,2,0,0,57,0,0,0,0,0,18,4,27,0,0,0,0,1,0,0,25],[0,0,4,90,0,1,4,46,0,0,0,132,1,32,0,57,0,0,1,90,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,100,1,32,0,57,0,0,1,91,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,68,1,32,0,57],[0,0,1,92,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,36,1,32,0,57,0,0,0,93,3,0,0,57],[0,0,0,0,0,49,4,53,0,0,1,71,1,0,0,65,0,0,0,0,0,18,4,53,0,0,0,4,1,32,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,49,4,53,0,0,1,24,1,0,0,65,0,0,1,24,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,1,93,1,16,1,199,0,0,4,91,0,1,4,48],[0,0,0,6,6,0,0,107,0,0,3,225,0,0,193,61,0,0,3,195,0,0,1,61,0,0,0,6,6,0,0,41],[0,6,0,1,0,96,0,146,0,0,0,6,5,80,0,41,0,0,1,64,6,80,0,156,0,0,0,173,0,0,33,61],[0,0,0,0,0,84,4,53,0,0,0,2,5,0,0,41,0,0,0,0,0,83,4,53,0,0,0,0,5,4,4,51],[0,0,1,64,6,80,1,151,0,0,0,5,6,96,0,108,0,0,3,237,0,0,129,61,0,0,0,128,5,80,2,16],[0,0,3,244,0,0,1,61,0,0,0,5,6,0,0,41,0,0,0,128,5,96,2,16,0,0,0,0,2,82,1,159],[0,0,0,0,0,33,4,27,0,0,0,0,0,100,4,53,0,0,0,0,1,3,4,51,0,2,0,0,0,1,0,29],[0,0,0,2,1,0,0,41,0,0,1,64,1,16,1,151,0,0,0,0,1,81,1,159,0,0,3,193,0,0,1,61],[0,0,0,0,1,1,0,75,0,0,3,251,0,0,97,61,0,0,0,0,0,1,4,45,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,1,114,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53,0,0,1,71,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,1,24,2,0,0,65],[0,0,1,24,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,1,125,1,16,1,199],[0,0,4,91,0,1,4,48,0,0,1,126,2,16,0,156,0,0,4,18,0,0,129,61,0,0,0,64,1,16,0,57],[0,0,0,64,0,16,4,63,0,0,0,0,0,1,4,45,0,0,1,123,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,1,124,1,0,0,65,0,0,4,91,0,1,4,48],[0,0,0,64,3,0,4,61,0,0,1,126,1,48,0,156,0,0,4,37,0,0,129,61,0,0,0,64,1,48,0,57],[0,0,0,64,0,16,4,63,0,0,0,7,1,0,0,57,0,0,0,0,2,1,4,26,0,0,0,32,4,48,0,57],[0,0,0,128,1,32,2,112,0,0,0,0,0,20,4,53,0,0,1,64,2,32,1,151,0,0,0,0,0,35,4,53],[0,0,0,0,0,1,4,45,0,0,1,123,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,1,124,1,0,0,65,0,0,4,91,0,1,4,48,0,0,0,64,3,0,4,61],[0,0,1,126,1,48,0,156,0,0,4,56,0,0,129,61,0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63],[0,0,0,9,1,0,0,57,0,0,0,0,2,1,4,26,0,0,0,32,4,48,0,57,0,0,0,128,1,32,2,112],[0,0,0,0,0,20,4,53,0,0,1,64,2,32,1,151,0,0,0,0,0,35,4,53,0,0,0,0,0,1,4,45],[0,0,1,123,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63],[0,0,1,124,1,0,0,65,0,0,4,91,0,1,4,48,0,0,1,24,3,0,0,65,0,0,1,24,4,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,64,1,16,2,16,0,0,1,24,4,32,0,156,0,0,0,0,2,3,128,25],[0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159,0,0,0,0,2,0,4,20,0,0,1,24,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,1,127,1,16,1,199],[0,0,128,16,2,0,0,57,4,89,4,84,0,0,4,15,0,0,0,1,2,32,1,144,0,0,4,82,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25,0,0,4,91,0,1,4,48],[0,0,4,87,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,4,89,0,0,4,50,0,0,4,90,0,1,4,46,0,0,4,91,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255,255,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,8,225,188,155,240,64,0],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,133,223,81,252],[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,166,174,10,171],[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,208,242,198,98],[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,221,234,168,229],[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,221,234,168,230],[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,254,23,59,151],[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,208,242,198,99],[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,212,164,202,13],[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,166,174,10,172],[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,168,81,174,120],[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,191,31,228,32],[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,147,139,95,49],[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,147,139,95,50],[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,154,138,5,146],[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,160,128,62,247],[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,133,223,81,253],[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,138,200,76,14],[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,142,138,207,135],[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,54,53,243,229],[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,120,119,167,150],[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,124,155,209,242],[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,124,155,209,243],[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,128,180,18,70],[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,120,119,167,151],[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,121,107,137,185],[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,54,53,243,230],[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,66,203,177,92],[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,110,242,92,58],[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,25,202,228,97],[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,25,202,228,98],[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,41,241,114,173],[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,48,229,204,189],[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,2,250,87,121],[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,6,190,208,54],[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,6,231,81,123],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,128,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,224,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0],[8,195,121,160,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],[84,104,101,32,99,117,114,114,101,110,116,32,98,97,116,99,104,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101],[32,103,114,101,97,116,101,114,32,116,104,97,110,32,48,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,132,0,0,1,0,0,0,0,0,0,0,0,0],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0],[84,104,101,114,101,32,109,117,115,116,32,98,101,32,97,32,118,105,114,116,117,97,108,32,98,108,111,99,107,32,99,114],[101,97,116,101,100,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,98,97,116,99,104,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,128,0,0,0,0,0,0,0,0],[84,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,76,50,32,98,108,111,99,107,32,109,117],[115,116,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116],[104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,98,97,116,99],[104,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,196,0,0,0,128,0,0,0,0,0,0,0,0],[73,110,118,97,108,105,100,32,110,101,119,32,76,50,32,98,108,111,99,107,32,110,117,109,98,101,114,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,192,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,224,0,0,0,0,0,0,0,0],[111,114,114,101,99,116,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],[84,104,101,32,99,117,114,114,101,110,116,32,76,50,32,98,108,111,99,107,32,104,97,115,104,32,105,115,32,105,110,99],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0],[116,97,109,112,32,111,102,32,116,104,101,32,112,114,101,118,105,111,117,115,32,76,50,32,98,108,111,99,107,0,0,0],[107,32,109,117,115,116,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,116,105,109,101,115],[84,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,110,101,119,32,76,50,32,98,108,111,99],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,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,255,255,255,255,255,255,255,191],[67,97,110,32,110,111,116,32,114,101,117,115,101,32,76,50,32,98,108,111,99,107,32,110,117,109,98,101,114,32,102,114],[111,109,32,116,104,101,32,112,114,101,118,105,111,117,115,32,98,97,116,99,104,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,132,0,0,0,192,0,0,0,0,0,0,0,0],[84,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,115,97,109,101,32,76,50,32,98,108,111],[99,107,32,109,117,115,116,32,98,101,32,115,97,109,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[84,104,101,32,112,114,101,118,105,111,117,115,32,104,97,115,104,32,111,102,32,116,104,101,32,115,97,109,101,32,76,50],[32,98,108,111,99,107,32,109,117,115,116,32,98,101,32,115,97,109,101,0,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,110,32,110,111,116,32,99,114,101,97,116,101,32,118,105,114,116,117,97,108,32,98,108,111,99,107,115,32,105,110],[32,116,104,101,32,109,105,100,100,108,101,32,111,102,32,116,104,101,32,109,105,110,105,98,108,111,99,107,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,224,0,0,0,0,0,0,0,0],[99,111,114,114,101,99,116,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],[84,104,101,32,112,114,101,118,105,111,117,115,32,76,50,32,98,108,111,99,107,32,104,97,115,104,32,105,115,32,105,110],[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[97,108,32,98,108,111,99,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,110,39,116,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,102,105,114,115,116,32,118,105,114,116,117],[76,50,32,98,108,111,99,107,32,110,117,109,98,101,114,32,105,115,32,110,101,118,101,114,32,101,120,112,101,99,116,101],[100,32,116,111,32,98,101,32,122,101,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[85,112,103,114,97,100,101,32,116,114,97,110,115,97,99,116,105,111,110,32,109,117,115,116,32,98,101,32,102,105,114,115],[116,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,98,111,111,116,108,111,97,100,101,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,0,0,0,0,0,0,0,0],[84,105,109,101,115,116,97,109,112,115,32,115,104,111,117,108,100,32,98,101,32,105,110,99,114,101,109,101,110,116,97,108],[84,104,101,32,112,114,111,118,105,100,101,100,32,98,108,111,99,107,32,110,117,109,98,101,114,32,105,115,32,110,111,116],[32,99,111,114,114,101,99,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[84,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,98,97,116,99,104,32,109,117,115,116,32],[98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102],[32,116,104,101,32,112,114,101,118,105,111,117,115,32,98,108,111,99,107,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,164,0,0,0,192,0,0,0,0,0,0,0,0],[78,72,123,113,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,36,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,100,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,255,255,255,255,255,255,255,192],[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],[24,39,86,27,18,102,204,92,30,2,117,140,74,185,186,92,56,38,42,164,136,173,174,88,124,113,102,32,107,183,146,68]],"0x000000000000000000000000000000000000800c":[[0,2,0,0,0,0,0,2,0,17,0,0,0,0,0,2,0,1,0,0,0,1,3,85,0,0,0,0,3,1,0,25],[0,0,0,96,5,48,2,112,0,0,7,155,0,80,1,157,0,0,0,128,4,0,0,57,0,0,0,64,0,64,4,63],[0,0,7,155,3,80,1,151,0,0,0,1,2,32,1,144,0,0,0,111,0,0,193,61,0,0,0,4,2,48,0,140],[0,0,0,159,0,0,65,61,0,0,0,0,2,1,4,59,0,0,7,157,2,32,1,151,0,0,7,158,2,32,0,156],[0,0,0,159,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,159,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,32,6,32,0,140,0,0,0,159,0,0,65,61,0,0,0,4,6,16,3,112],[0,0,0,0,13,6,4,59,0,0,7,159,6,208,0,156,0,0,0,159,0,0,33,61,0,0,0,0,2,210,0,73],[0,0,7,160,6,0,0,65,0,0,2,96,7,32,0,140,0,0,0,0,7,0,0,25,0,0,0,0,7,6,64,25],[0,0,7,160,2,32,1,151,0,0,0,0,8,2,0,75,0,0,0,0,6,0,160,25,0,0,7,160,2,32,0,156],[0,0,0,0,6,7,192,25,0,0,0,0,2,6,0,75,0,0,0,159,0,0,193,61,0,0,0,4,12,208,0,57],[0,0,0,0,2,193,3,79,0,0,0,0,2,2,4,59,0,0,0,0,6,2,0,75,0,0,0,119,0,0,193,61],[0,0,0,0,2,49,3,79,0,0,1,0,5,192,0,57,0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59],[0,0,0,128,6,64,0,140,0,0,0,161,0,0,65,61,0,0,0,128,6,64,2,112,0,0,7,168,7,64,0,156],[0,0,0,0,6,4,160,25,0,0,7,168,7,64,0,156,0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57],[0,0,0,8,8,112,1,191,0,0,7,159,9,96,0,156,0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112],[0,0,7,159,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191,0,0,7,155,6,112,0,156],[0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,7,155,6,112,0,156,0,0,0,0,8,7,160,25],[0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112],[0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57,0,0,0,32,7,0,0,138],[0,0,0,193,8,96,0,57,0,0,0,0,7,120,1,111,0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57],[0,0,0,128,0,112,4,63,0,0,0,33,7,96,0,57,0,0,0,5,7,112,2,114,0,0,0,93,0,0,97,61],[0,0,0,0,8,0,0,25,0,0,0,5,9,128,2,16,0,0,0,0,10,146,3,79,0,0,0,0,10,10,4,59],[0,0,0,160,9,144,0,57,0,0,0,0,0,169,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,120,0,75],[0,0,0,85,0,0,65,61,0,0,0,0,7,0,0,75,0,0,0,95,0,0,97,61,0,0,0,128,7,0,4,61],[0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61,0,0,0,160,7,0,4,61,0,0,7,167,7,112,1,151],[0,0,0,248,8,96,2,16,0,0,0,0,7,120,1,159,0,0,7,169,7,112,0,65,0,0,0,160,0,112,4,63],[0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137,0,0,0,0,4,100,1,207,0,0,0,255,6,96,0,140],[0,0,0,0,4,0,32,25,0,0,0,161,0,64,4,63,0,0,0,174,0,0,1,61,0,0,0,0,1,0,4,22],[0,0,0,0,1,1,0,75,0,0,0,159,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67],[0,0,1,32,0,0,4,67,0,0,7,156,1,0,0,65,0,0,30,105,0,1,4,46,0,0,0,113,6,32,0,140],[0,0,0,251,0,0,193,61,0,0,1,196,2,208,0,57,0,0,0,0,2,33,3,79,0,0,0,0,6,211,0,73],[0,0,0,35,6,96,0,138,0,0,0,0,2,2,4,59,0,0,7,160,7,0,0,65,0,0,0,0,8,98,0,75],[0,0,0,0,8,0,0,25,0,0,0,0,8,7,128,25,0,0,7,160,6,96,1,151,0,0,7,160,9,32,1,151],[0,0,0,0,10,105,0,75,0,0,0,0,7,0,128,25,0,0,0,0,6,105,1,63,0,0,7,160,6,96,0,156],[0,0,0,0,7,8,192,25,0,0,0,0,6,7,0,75,0,0,0,159,0,0,193,61,0,0,0,0,2,194,0,25],[0,0,0,0,6,33,3,79,0,0,0,0,6,6,4,59,0,0,7,159,7,96,0,156,0,0,0,159,0,0,33,61],[0,0,0,0,7,99,0,73,0,0,0,32,2,32,0,57,0,0,7,160,8,0,0,65,0,0,0,0,9,114,0,75],[0,0,0,0,9,0,0,25,0,0,0,0,9,8,32,25,0,0,7,160,7,112,1,151,0,0,7,160,10,32,1,151],[0,0,0,0,11,122,0,75,0,0,0,0,8,0,128,25,0,0,0,0,7,122,1,63,0,0,7,160,7,112,0,156],[0,0,0,0,8,9,192,25,0,0,0,0,7,8,0,75,0,0,2,193,0,0,97,61,0,0,0,0,1,0,0,25],[0,0,30,106,0,1,4,48,0,0,0,248,6,64,2,16,0,0,7,160,7,0,0,65,0,0,0,0,4,4,0,75],[0,0,0,0,7,6,192,25,0,0,0,192,4,0,0,57,0,0,0,64,0,64,4,63,0,0,0,1,4,0,0,57],[0,0,0,128,0,64,4,63,0,0,0,0,4,32,3,80,0,0,0,0,4,4,4,59,0,0,7,167,4,64,1,151],[0,0,0,0,4,116,1,159,0,0,0,160,0,64,4,63,0,13,0,0,0,13,0,29,0,12,0,0,0,12,0,29],[0,0,0,64,4,0,4,61,0,0,0,96,5,80,0,138,0,0,0,0,6,81,3,79,0,0,0,0,6,6,4,59],[0,0,0,128,7,96,0,140,0,0,1,87,0,0,65,61,0,0,0,128,7,96,2,112,0,0,7,168,8,96,0,156],[0,0,0,0,7,6,160,25,0,0,7,168,8,96,0,156,0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57],[0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112],[0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191,0,0,7,155,7,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112],[0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138],[0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,132,0,25,0,0,0,0,9,72,0,75],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57],[0,0,0,0,8,132,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114,0,0,0,233,0,0,97,61],[0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,184,0,25,0,0,0,0,11,178,3,79],[0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75],[0,0,0,225,0,0,65,61,0,0,0,0,9,0,0,75,0,0,0,235,0,0,97,61,0,0,0,0,9,4,4,51],[0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,8,4,51,0,0,7,167,9,144,1,151],[0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159,0,0,7,169,9,144,0,65,0,0,0,0,0,152,4,53],[0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137,0,0,0,0,6,118,1,207,0,0,0,255,7,112,0,140],[0,0,0,0,6,0,32,25,0,0,0,33,7,64,0,57,0,0,1,215,0,0,1,61,0,0,0,2,1,32,0,140],[0,0,1,93,0,0,193,61,0,13,0,0,0,13,0,29,0,12,0,0,0,12,0,29,0,0,7,164,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,7,155,1,0,0,65,0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57],[30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,24,107,0,0,97,61,0,0,0,64,3,0,4,61],[0,0,0,0,4,1,4,59,0,0,0,128,1,64,0,140,0,0,2,219,0,0,65,61,0,0,0,128,1,64,2,112],[0,0,7,168,2,64,0,156,0,0,0,0,1,4,160,25,0,0,7,168,2,64,0,156,0,0,0,0,2,0,0,25],[0,0,0,16,2,0,32,57,0,0,0,8,5,32,1,191,0,0,7,159,6,16,0,156,0,0,0,0,5,2,160,25],[0,0,0,64,2,16,2,112,0,0,7,159,6,16,0,156,0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191],[0,0,7,155,6,32,0,156,0,0,0,0,1,5,160,25,0,0,0,32,6,32,2,112,0,0,7,155,5,32,0,156],[0,0,0,0,6,2,160,25,0,0,0,2,5,16,1,191,0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25],[0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25,0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57],[0,0,0,32,1,0,0,138,0,0,0,65,2,80,0,57,0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25],[0,0,0,0,2,49,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,7,159,6,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,2,1,80,0,57,0,0,0,0,6,19,4,54,0,0,0,1,1,0,3,103,0,0,0,0,2,0,0,49],[0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114,0,0,1,69,0,0,97,61,0,0,0,0,8,33,3,79],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75],[0,0,1,61,0,0,65,61,0,0,0,0,7,0,0,75,0,0,1,71,0,0,97,61,0,0,0,0,7,3,4,51],[0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61,0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151],[0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159,0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53],[0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137,0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140],[0,0,0,0,4,0,32,25,0,0,0,33,5,48,0,57,0,0,2,238,0,0,1,61,0,0,7,166,7,64,0,156],[0,0,1,185,0,0,161,61,0,0,7,195,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,1,196,0,0,1,61,0,0,0,1,1,32,0,140,0,0,1,199,0,0,193,61,0,13,0,0,0,13,0,29],[0,12,0,0,0,12,0,29,0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57,0,0,7,155,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,24,107,0,0,97,61,0,0,0,64,3,0,4,61,0,0,0,0,4,1,4,59,0,0,0,128,1,64,0,140],[0,0,3,60,0,0,65,61,0,0,0,128,1,64,2,112,0,0,7,168,2,64,0,156,0,0,0,0,1,4,160,25],[0,0,7,168,2,64,0,156,0,0,0,0,2,0,0,25,0,0,0,16,2,0,32,57,0,0,0,8,5,32,1,191],[0,0,7,159,6,16,0,156,0,0,0,0,5,2,160,25,0,0,0,64,2,16,2,112,0,0,7,159,6,16,0,156],[0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191,0,0,7,155,6,32,0,156,0,0,0,0,1,5,160,25],[0,0,0,32,6,32,2,112,0,0,7,155,5,32,0,156,0,0,0,0,6,2,160,25,0,0,0,2,5,16,1,191],[0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25],[0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57,0,0,0,32,1,0,0,138,0,0,0,65,2,80,0,57],[0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25,0,0,0,0,2,49,0,75,0,0,0,0,2,0,0,25],[0,0,0,1,2,0,64,57,0,0,7,159,6,16,0,156,0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,2,1,80,0,57,0,0,0,0,6,19,4,54],[0,0,0,1,1,0,3,103,0,0,0,0,2,0,0,49,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,1,167,0,0,97,61,0,0,0,0,8,33,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,1,159,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,1,169,0,0,97,61,0,0,0,0,7,3,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159],[0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137],[0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140,0,0,0,0,4,0,32,25,0,0,0,33,5,48,0,57],[0,0,3,79,0,0,1,61,0,0,0,64,7,64,0,57,0,0,0,64,0,112,4,63,0,0,0,1,7,0,0,58],[0,0,0,0,7,116,4,54,0,0,0,0,8,32,3,80,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,1,209,0,0,193,61,0,0,7,195,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,50,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,7,196,1,0,0,65,0,0,30,106,0,1,4,48,0,0,7,161,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,23,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,7,162,1,0,0,65,0,0,0,196,0,16,4,63,0,0,7,163,1,0,0,65],[0,0,30,106,0,1,4,48,0,0,0,248,9,96,2,16,0,0,7,160,10,0,0,65,0,0,0,0,6,6,0,75],[0,0,0,0,10,9,192,25,0,0,7,167,6,128,1,151,0,0,0,0,6,166,1,159,0,0,0,0,0,103,4,53],[0,0,0,64,5,80,0,138,0,0,0,0,6,81,3,79,0,0,0,64,5,0,4,61,0,0,0,0,6,6,4,59],[0,0,0,128,7,96,0,140,0,0,2,35,0,0,65,61,0,0,0,128,7,96,2,112,0,0,7,168,8,96,0,156],[0,0,0,0,7,6,160,25,0,0,7,168,8,96,0,156,0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57],[0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112],[0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191,0,0,7,155,7,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112],[0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138],[0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,133,0,25,0,0,0,0,9,88,0,75],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57],[0,0,0,0,8,133,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114,0,0,2,17,0,0,97,61],[0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,184,0,25,0,0,0,0,11,178,3,79],[0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,154,0,75],[0,0,2,9,0,0,65,61,0,0,0,0,9,0,0,75,0,0,2,19,0,0,97,61,0,0,0,0,9,5,4,51],[0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,8,4,51,0,0,7,167,9,144,1,151],[0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159,0,0,7,169,9,144,0,65,0,0,0,0,0,152,4,53],[0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137,0,0,0,0,6,118,1,207,0,0,0,255,7,112,0,140],[0,0,0,0,6,0,32,25,0,0,0,33,7,80,0,57,0,0,2,51,0,0,1,61,0,0,7,166,7,80,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,7,80,0,57,0,0,0,64,0,112,4,63,0,0,0,1,7,0,0,58],[0,0,0,0,7,117,4,54,0,0,0,0,8,32,3,80,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,9,96,2,16,0,0,7,160,10,0,0,65,0,0,0,0,6,6,0,75],[0,0,0,0,10,9,192,25,0,0,7,167,6,128,1,151,0,0,0,0,6,166,1,159,0,0,0,0,0,103,4,53],[0,0,0,64,11,0,4,61,0,0,0,32,6,176,0,57,0,0,0,0,7,4,4,51,0,0,0,0,8,7,0,75],[0,0,2,65,0,0,97,61,0,0,0,0,8,0,0,25,0,0,0,0,9,104,0,25,0,0,0,32,8,128,0,57],[0,0,0,0,10,72,0,25,0,0,0,0,10,10,4,51,0,0,0,0,0,169,4,53,0,0,0,0,9,120,0,75],[0,0,2,58,0,0,65,61,0,0,0,0,4,103,0,25,0,0,0,0,0,4,4,53,0,0,0,0,6,5,4,51],[0,0,0,0,7,6,0,75,0,0,2,78,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,0,8,71,0,25],[0,0,0,32,7,112,0,57,0,0,0,0,9,87,0,25,0,0,0,0,9,9,4,51,0,0,0,0,0,152,4,53],[0,0,0,0,8,103,0,75,0,0,2,71,0,0,65,61,0,0,0,0,4,70,0,25,0,0,0,0,0,4,4,53],[0,0,0,0,4,180,0,73,0,0,0,32,5,64,0,138,0,0,0,0,0,91,4,53,0,0,0,31,4,64,0,57],[0,10,0,32,0,0,0,146,0,0,0,10,4,64,1,127,0,9,0,0,0,11,0,29,0,0,0,0,5,180,0,25],[0,0,0,0,4,69,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,11,0,0,0,5,0,29],[0,0,7,159,5,80,0,156,0,0,1,89,0,0,33,61,0,0,0,1,4,64,1,144,0,0,1,89,0,0,193,61],[0,0,0,11,4,0,0,41,0,0,0,64,0,64,4,63,0,0,7,166,4,64,0,156,0,0,1,89,0,0,33,61],[0,0,0,13,7,0,0,41,0,0,0,68,4,112,0,57,0,0,0,0,4,65,3,79,0,0,0,0,4,4,4,59],[0,0,0,11,8,0,0,41,0,0,0,64,5,128,0,57,0,0,0,64,0,80,4,63,0,0,0,32,5,128,0,57],[0,0,7,170,6,0,0,65,0,0,0,0,0,101,4,53,0,0,0,21,5,0,0,57,0,0,0,0,0,88,4,53],[0,0,0,96,4,64,2,16,0,0,0,33,5,128,0,57,0,0,0,0,0,69,4,53,0,0,1,36,4,112,0,57],[0,0,0,0,5,65,3,79,0,0,0,64,6,0,4,61,0,8,0,0,0,6,0,29,0,0,0,0,5,5,4,59],[0,0,0,128,6,80,0,140,0,0,5,81,0,0,65,61,0,0,0,128,6,80,2,112,0,0,7,168,7,80,0,156],[0,0,0,0,6,5,160,25,0,0,7,168,7,80,0,156,0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57],[0,0,0,8,8,112,1,191,0,0,7,159,9,96,0,156,0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112],[0,0,7,159,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191,0,0,7,155,6,112,0,156],[0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,7,155,6,112,0,156,0,0,0,0,8,7,160,25],[0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112],[0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57,0,0,0,65,7,96,0,57],[0,0,0,10,7,112,1,127,0,0,0,8,7,112,0,41,0,0,0,8,8,112,0,108,0,0,0,0,8,0,0,25],[0,0,0,1,8,0,64,57,0,0,7,159,9,112,0,156,0,0,1,89,0,0,33,61,0,0,0,1,8,128,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57,0,0,0,8,8,0,0,41],[0,0,0,0,7,120,4,54,0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114,0,0,2,173,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,167,0,25,0,0,0,0,10,162,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,137,0,75],[0,0,2,165,0,0,65,61,0,0,0,0,8,0,0,75,0,0,2,175,0,0,97,61,0,0,0,8,8,0,0,41],[0,0,0,0,8,8,4,51,0,0,0,0,8,8,0,75,0,0,1,193,0,0,97,61,0,0,0,0,8,7,4,51],[0,0,7,167,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159,0,0,7,169,8,128,0,65],[0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137,0,0,0,0,5,101,1,207],[0,0,0,255,6,96,0,140,0,0,0,0,5,0,32,25,0,0,0,8,6,0,0,41,0,0,0,33,6,96,0,57],[0,0,5,99,0,0,1,61,0,0,0,0,7,38,0,26,0,0,0,0,6,0,4,20,0,0,24,103,0,0,65,61],[0,0,0,0,3,115,0,75,0,0,24,103,0,0,65,61,0,13,0,0,0,13,0,29,0,12,0,0,0,12,0,29],[0,0,7,176,3,96,0,156,0,0,3,251,0,0,65,61,0,0,0,68,1,64,0,57,0,0,7,191,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57,0,0,0,8,2,0,0,57,0,0,0,0,0,33,4,53],[0,0,7,161,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57,0,0,0,32,2,0,0,57],[0,0,0,0,0,33,4,53,0,0,7,155,1,0,0,65,0,0,7,155,2,64,0,156,0,0,0,0,4,1,128,25],[0,0,0,64,1,64,2,16,0,0,7,182,1,16,1,199,0,0,30,106,0,1,4,48,0,0,7,166,1,48,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58],[0,0,0,0,5,19,4,54,0,0,0,0,2,0,0,49,0,0,0,1,1,0,3,103,0,0,0,0,6,33,3,79],[0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,7,64,2,16,0,0,7,160,8,0,0,65,0,0,0,0,4,4,0,75,0,0,0,0,8,7,192,25],[0,0,7,167,4,96,1,151,0,0,0,0,4,132,1,159,0,0,0,0,0,69,4,53,0,0,0,64,4,0,4,61],[0,0,0,13,5,0,0,41,0,0,1,4,6,80,0,57,0,0,0,0,5,97,3,79,0,0,0,0,5,5,4,59],[0,0,0,128,7,80,0,140,0,0,3,157,0,0,65,61,0,0,0,128,7,80,2,112,0,0,7,168,8,80,0,156],[0,0,0,0,7,5,160,25,0,0,7,168,8,80,0,156,0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57],[0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112],[0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191,0,0,7,155,7,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112],[0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138],[0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,132,0,25,0,0,0,0,9,72,0,75],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57],[0,0,0,0,8,132,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114,0,0,3,42,0,0,97,61],[0,0,0,0,10,33,3,79,0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16,0,0,0,0,13,200,0,25],[0,0,0,0,12,202,3,79,0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53,0,0,0,1,11,176,0,57],[0,0,0,0,12,155,0,75,0,0,3,34,0,0,65,61,0,0,0,0,9,0,0,75,0,0,3,44,0,0,97,61],[0,0,0,0,9,4,4,51,0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,8,4,51],[0,0,7,167,9,144,1,151,0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159,0,0,7,169,9,144,0,65],[0,0,0,0,0,152,4,53,0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137,0,0,0,0,5,117,1,207],[0,0,0,255,7,112,0,140,0,0,0,0,5,0,32,25,0,0,0,33,7,64,0,57,0,0,3,174,0,0,1,61],[0,0,7,166,1,48,0,156,0,0,1,89,0,0,33,61,0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63],[0,0,0,1,1,0,0,58,0,0,0,0,5,19,4,54,0,0,0,0,2,0,0,49,0,0,0,1,1,0,3,103],[0,0,0,0,6,33,3,79,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,7,64,2,16,0,0,7,160,8,0,0,65,0,0,0,0,4,4,0,75],[0,0,0,0,8,7,192,25,0,0,7,167,4,96,1,151,0,0,0,0,4,132,1,159,0,0,0,0,0,69,4,53],[0,0,0,64,4,0,4,61,0,0,0,13,5,0,0,41,0,0,1,4,6,80,0,57,0,0,0,0,5,97,3,79],[0,0,0,0,5,5,4,59,0,0,0,128,7,80,0,140,0,0,4,216,0,0,65,61,0,0,0,128,7,80,2,112],[0,0,7,168,8,80,0,156,0,0,0,0,7,5,160,25,0,0,7,168,8,80,0,156,0,0,0,0,8,0,0,25],[0,0,0,16,8,0,32,57,0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25],[0,0,0,64,8,112,2,112,0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191],[0,0,7,155,7,128,0,156,0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156],[0,0,0,0,9,8,160,25,0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25],[0,0,0,16,8,144,2,112,0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57],[0,0,0,32,8,0,0,138,0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,132,0,25],[0,0,0,0,9,72,0,75,0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63],[0,0,0,2,8,112,0,57,0,0,0,0,8,132,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114],[0,0,3,139,0,0,97,61,0,0,0,0,10,33,3,79,0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16],[0,0,0,0,13,200,0,25,0,0,0,0,12,202,3,79,0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53],[0,0,0,1,11,176,0,57,0,0,0,0,12,155,0,75,0,0,3,131,0,0,65,61,0,0,0,0,9,0,0,75],[0,0,3,141,0,0,97,61,0,0,0,0,9,4,4,51,0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,9,8,4,51,0,0,7,167,9,144,1,151,0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159],[0,0,7,169,9,144,0,65,0,0,0,0,0,152,4,53,0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137],[0,0,0,0,5,117,1,207,0,0,0,255,7,112,0,140,0,0,0,0,5,0,32,25,0,0,0,33,7,64,0,57],[0,0,4,233,0,0,1,61,0,0,7,166,7,64,0,156,0,0,1,89,0,0,33,61,0,0,0,64,7,64,0,57],[0,0,0,64,0,112,4,63,0,0,0,0,8,33,3,79,0,0,0,1,7,0,0,58,0,0,0,0,7,116,4,54],[0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,9,80,2,16,0,0,7,160,10,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,10,9,192,25],[0,0,7,167,5,128,1,151,0,0,0,0,5,165,1,159,0,0,0,0,0,87,4,53,0,0,0,64,5,0,4,61],[0,0,0,64,7,96,0,138,0,0,0,0,6,113,3,79,0,0,0,0,6,6,4,59,0,0,0,128,8,96,0,140],[0,0,5,170,0,0,65,61,0,0,0,128,8,96,2,112,0,0,7,168,9,96,0,156,0,0,0,0,8,6,160,25],[0,0,7,168,9,96,0,156,0,0,0,0,9,0,0,25,0,0,0,16,9,0,32,57,0,0,0,8,10,144,1,191],[0,0,7,159,11,128,0,156,0,0,0,0,10,9,160,25,0,0,0,64,9,128,2,112,0,0,7,159,11,128,0,156],[0,0,0,0,9,8,160,25,0,0,0,4,11,160,1,191,0,0,7,155,8,144,0,156,0,0,0,0,11,10,160,25],[0,0,0,32,10,144,2,112,0,0,7,155,8,144,0,156,0,0,0,0,10,9,160,25,0,0,0,2,8,176,1,191],[0,0,255,255,9,160,0,140,0,0,0,0,8,11,160,25,0,0,0,16,9,160,2,112,0,0,0,0,9,10,160,25],[0,0,0,255,9,144,0,140,0,0,0,1,8,128,32,57,0,0,0,32,9,0,0,138,0,0,0,65,10,128,0,57],[0,0,0,0,9,154,1,111,0,0,0,0,9,149,0,25,0,0,0,0,10,89,0,75,0,0,0,0,10,0,0,25],[0,0,0,1,10,0,64,57,0,0,7,159,11,144,0,156,0,0,1,89,0,0,33,61,0,0,0,1,10,160,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,57,0,0,0,0,9,149,4,54],[0,0,0,33,10,128,0,57,0,0,0,5,10,160,2,114,0,0,3,233,0,0,97,61,0,0,0,0,11,33,3,79],[0,0,0,0,12,0,0,25,0,0,0,5,13,192,2,16,0,0,0,0,14,217,0,25,0,0,0,0,13,219,3,79],[0,0,0,0,13,13,4,59,0,0,0,0,0,222,4,53,0,0,0,1,12,192,0,57,0,0,0,0,13,172,0,75],[0,0,3,225,0,0,65,61,0,0,0,0,10,0,0,75,0,0,3,235,0,0,97,61,0,0,0,0,10,5,4,51],[0,0,0,0,10,10,0,75,0,0,1,193,0,0,97,61,0,0,0,0,10,9,4,51,0,0,7,167,10,160,1,151],[0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159,0,0,7,169,10,160,0,65,0,0,0,0,0,169,4,53],[0,0,0,3,8,128,2,16,0,0,0,248,8,128,0,137,0,0,0,0,6,134,1,207,0,0,0,255,8,128,0,140],[0,0,0,0,6,0,32,25,0,0,0,33,8,80,0,57,0,0,5,187,0,0,1,61,0,0,7,155,2,32,1,151],[0,0,0,0,1,33,3,79,0,0,0,0,2,117,0,73,0,0,7,155,2,32,1,151,0,0,0,0,1,33,3,223],[0,0,0,192,2,96,2,16,0,0,7,177,2,32,1,151,0,0,7,178,2,32,1,199,0,0,0,0,1,33,3,175],[0,0,128,16,2,0,0,57,30,104,30,99,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,7,155,5,48,1,151,0,0,0,1,2,32,1,144,0,0,5,54,0,0,97,61,0,0,0,63,2,80,0,57],[0,0,7,179,2,32,1,151,0,0,0,64,6,0,4,61,0,0,0,0,2,38,0,25,0,0,0,0,3,98,0,75],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,7,159,4,32,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,3,48,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,32,4,63,0,0,0,0,4,86,4,54],[0,0,0,1,2,0,3,103,0,0,0,0,3,0,0,49,0,0,0,31,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,4,39,0,0,97,61,0,0,0,0,8,50,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,164,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,4,31,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,4,41,0,0,97,61,0,0,0,31,7,80,1,143,0,0,0,5,5,80,2,114,0,0,4,53,0,0,97,61],[0,0,0,0,8,0,0,25,0,0,0,5,9,128,2,16,0,0,0,0,10,148,0,25,0,0,0,0,9,145,3,79],[0,0,0,0,9,9,4,59,0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,88,0,75],[0,0,4,45,0,0,65,61,0,0,0,0,8,7,0,75,0,0,4,68,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,1,81,3,79,0,0,0,0,5,84,0,25,0,0,0,3,7,112,2,16,0,0,0,0,8,5,4,51],[0,0,0,0,8,120,1,207,0,0,0,0,8,120,2,47,0,0,0,0,1,1,4,59,0,0,1,0,7,112,0,137],[0,0,0,0,1,113,2,47,0,0,0,0,1,113,1,207,0,0,0,0,1,129,1,159,0,0,0,0,0,21,4,53],[0,0,0,0,1,6,4,51,0,0,0,32,1,16,0,140,0,0,12,89,0,0,193,61,0,0,0,13,6,0,0,41],[0,0,0,0,1,99,0,73,0,0,0,35,5,16,0,138,0,11,2,4,0,96,0,61,0,0,0,11,1,32,3,96],[0,0,0,0,1,1,4,59,0,0,7,160,6,0,0,65,0,0,0,0,7,81,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,128,25,0,0,7,160,5,80,1,151,0,0,7,160,8,16,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,0,12,5,0,0,41,0,0,0,159,0,0,193,61,0,0,0,0,4,4,4,51],[0,10,0,0,0,4,0,29,0,0,0,0,1,81,0,25,0,0,0,0,4,18,3,79,0,0,0,0,5,4,4,59],[0,0,7,159,4,80,0,156,0,0,0,159,0,0,33,61,0,0,0,5,4,80,2,16,0,0,0,0,3,67,0,73],[0,0,0,32,6,16,0,57,0,0,7,160,1,0,0,65,0,0,0,0,7,54,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,1,32,25,0,0,7,160,3,48,1,151,0,0,7,160,8,96,1,151,0,0,0,0,9,56,0,75],[0,0,0,0,1,0,128,25,0,0,0,0,3,56,1,63,0,0,7,160,3,48,0,156,0,0,0,0,1,7,192,25],[0,0,0,0,1,1,0,75,0,0,0,159,0,0,193,61,0,0,0,64,1,0,4,61,0,0,0,32,3,16,0,57],[0,0,7,180,5,80,1,152,0,0,4,128,0,0,97,61,0,0,0,0,2,98,3,79,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,115,0,25,0,0,0,0,7,114,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,4,120,0,0,65,61],[0,0,0,0,2,0,0,75,0,0,4,130,0,0,97,61,0,0,0,0,0,65,4,53,0,0,0,63,2,64,0,57],[0,0,0,32,4,0,0,138,0,0,0,0,2,66,1,111,0,0,0,0,2,33,0,25,0,0,0,0,4,18,0,75],[0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57,0,0,7,159,5,32,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,4,64,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,32,4,63,0,0,7,155,2,0,0,65],[0,0,7,155,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,64,3,48,2,16,0,0,0,0,1,1,4,51],[0,0,7,155,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159],[0,0,0,0,3,0,4,20,0,0,7,155,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,7,175,1,16,1,199,0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,0,12,10,0,0,41,0,0,0,13,3,0,0,41,0,0,0,159,0,0,97,61],[0,0,0,0,2,0,0,49,0,0,0,0,3,50,0,73,0,0,0,35,5,48,0,138,0,0,0,11,3,0,0,41],[0,0,0,32,4,48,0,57,0,0,0,1,3,0,3,103,0,0,0,0,4,67,3,79,0,0,0,0,4,4,4,59],[0,0,7,160,6,0,0,65,0,0,0,0,7,84,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,6,128,25],[0,0,7,160,5,80,1,151,0,0,7,160,8,64,1,151,0,0,0,0,9,88,0,75,0,0,0,0,6,0,128,25],[0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156,0,0,0,0,6,7,192,25,0,0,0,0,1,1,4,59],[0,11,0,0,0,1,0,29,0,0,0,0,1,6,0,75,0,0,0,159,0,0,193,61,0,0,0,0,1,164,0,25],[0,0,0,0,4,19,3,79,0,0,0,0,4,4,4,59,0,0,7,159,5,64,0,156,0,0,0,159,0,0,33,61],[0,0,0,0,5,66,0,73,0,0,0,32,1,16,0,57,0,0,7,160,6,0,0,65,0,0,0,0,7,81,0,75],[0,0,0,0,7,0,0,25,0,0,0,0,7,6,32,25,0,0,7,160,5,80,1,151,0,0,7,160,8,16,1,151],[0,0,0,0,9,88,0,75,0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156],[0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,0,159,0,0,193,61,0,0,0,0,5,20,0,26],[0,0,0,0,4,0,4,20,0,0,24,103,0,0,65,61,0,0,0,0,6,82,0,75,0,0,24,103,0,0,65,61],[0,0,7,176,6,64,0,156,0,0,11,97,0,0,65,61,0,0,0,64,4,0,4,61,0,0,2,202,0,0,1,61],[0,0,7,166,7,64,0,156,0,0,1,89,0,0,33,61,0,0,0,64,7,64,0,57,0,0,0,64,0,112,4,63],[0,0,0,0,8,33,3,79,0,0,0,1,7,0,0,58,0,0,0,0,7,116,4,54,0,0,0,0,8,128,3,80],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,1,193,0,0,97,61,0,0,0,248,9,80,2,16],[0,0,7,160,10,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,10,9,192,25,0,0,7,167,5,128,1,151],[0,0,0,0,5,165,1,159,0,0,0,0,0,87,4,53,0,0,0,64,5,0,4,61,0,0,0,96,6,96,0,138],[0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,128,8,112,0,140,0,0,6,8,0,0,65,61],[0,0,0,128,8,112,2,112,0,0,7,168,9,112,0,156,0,0,0,0,8,7,160,25,0,0,7,168,9,112,0,156],[0,0,0,0,9,0,0,25,0,0,0,16,9,0,32,57,0,0,0,8,10,144,1,191,0,0,7,159,11,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,64,9,128,2,112,0,0,7,159,11,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,4,11,160,1,191,0,0,7,155,8,144,0,156,0,0,0,0,11,10,160,25,0,0,0,32,10,144,2,112],[0,0,7,155,8,144,0,156,0,0,0,0,10,9,160,25,0,0,0,2,8,176,1,191,0,0,255,255,9,160,0,140],[0,0,0,0,8,11,160,25,0,0,0,16,9,160,2,112,0,0,0,0,9,10,160,25,0,0,0,255,9,144,0,140],[0,0,0,1,8,128,32,57,0,0,0,32,9,0,0,138,0,0,0,65,10,128,0,57,0,0,0,0,9,154,1,111],[0,0,0,0,9,149,0,25,0,0,0,0,10,89,0,75,0,0,0,0,10,0,0,25,0,0,0,1,10,0,64,57],[0,0,7,159,11,144,0,156,0,0,1,89,0,0,33,61,0,0,0,1,10,160,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,57,0,0,0,0,9,149,4,54,0,0,0,33,10,128,0,57],[0,0,0,5,10,160,2,114,0,0,5,36,0,0,97,61,0,0,0,0,11,33,3,79,0,0,0,0,12,0,0,25],[0,0,0,5,13,192,2,16,0,0,0,0,14,217,0,25,0,0,0,0,13,219,3,79,0,0,0,0,13,13,4,59],[0,0,0,0,0,222,4,53,0,0,0,1,12,192,0,57,0,0,0,0,13,172,0,75,0,0,5,28,0,0,65,61],[0,0,0,0,10,0,0,75,0,0,5,38,0,0,97,61,0,0,0,0,10,5,4,51,0,0,0,0,10,10,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,10,9,4,51,0,0,7,167,10,160,1,151,0,0,0,248,11,128,2,16],[0,0,0,0,10,171,1,159,0,0,7,169,10,160,0,65,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16],[0,0,0,248,8,128,0,137,0,0,0,0,7,135,1,207,0,0,0,255,8,128,0,140,0,0,0,0,7,0,32,25],[0,0,0,33,8,80,0,57,0,0,6,25,0,0,1,61,0,0,0,31,3,80,1,143,0,0,0,5,2,80,2,114],[0,0,5,65,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,5,6,64,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,4,64,0,57,0,0,0,0,6,36,0,75],[0,0,5,58,0,0,65,61,0,0,0,0,4,3,0,75,0,0,5,79,0,0,97,61,0,0,0,3,3,48,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,4,2,4,51,0,0,0,0,4,52,1,207,0,0,0,0,4,52,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47],[0,0,0,0,1,49,1,207,0,0,0,0,1,65,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,80,2,16],[0,0,30,106,0,1,4,48,0,0,0,8,6,0,0,41,0,0,7,166,6,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,8,7,0,0,41,0,0,0,64,6,112,0,57,0,0,0,64,0,96,4,63,0,0,0,1,6,0,0,58],[0,0,0,0,6,103,4,54,0,0,0,0,7,32,3,80,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,8,80,2,16,0,0,7,160,9,0,0,65,0,0,0,0,5,5,0,75],[0,0,0,0,9,8,192,25,0,0,7,167,5,112,1,151,0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53],[0,0,0,12,11,0,0,41,0,0,0,0,5,179,0,73,0,0,0,160,6,64,0,57,0,0,0,0,4,97,3,79],[0,0,0,0,4,4,4,59,0,0,0,31,5,80,0,138,0,0,7,160,7,80,1,151,0,0,7,160,8,64,1,151],[0,0,7,160,9,0,0,65,0,0,0,0,10,120,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,9,64,25],[0,0,0,0,7,120,1,63,0,0,0,0,8,84,0,75,0,0,0,0,9,0,64,25,0,0,7,160,7,112,0,156],[0,0,0,0,10,9,192,25,0,0,0,0,7,10,0,75,0,0,0,159,0,0,193,61,0,0,0,0,8,180,0,25],[0,0,0,0,7,129,3,79,0,0,0,0,7,7,4,59,0,0,7,159,9,112,0,156,0,0,0,159,0,0,33,61],[0,0,0,0,9,115,0,73,0,0,0,32,8,128,0,57,0,0,7,160,10,0,0,65,0,0,0,0,11,152,0,75],[0,0,0,0,11,0,0,25,0,0,0,0,11,10,32,25,0,0,7,160,9,144,1,151,0,0,7,160,12,128,1,151],[0,0,0,0,13,156,0,75,0,0,0,0,10,0,128,25,0,0,0,0,9,156,1,63,0,0,7,160,9,144,0,156],[0,0,0,0,10,11,192,25,0,0,0,0,9,10,0,75,0,0,0,159,0,0,193,61,0,0,0,1,9,112,0,140],[0,0,7,171,0,0,193,61,0,0,0,0,2,129,3,79,0,0,0,0,2,2,4,59,0,0,0,1,7,0,0,138],[0,0,7,160,8,0,0,65,0,0,0,0,7,114,0,75,0,0,0,0,7,0,0,25,0,0,0,0,7,8,32,25],[0,0,7,160,2,32,1,151,0,0,7,160,9,32,0,156,0,0,0,0,8,0,128,25,0,0,7,160,2,32,1,103],[0,0,7,160,2,32,0,156,0,0,0,0,8,7,192,25,0,7,0,96,0,0,0,61,0,0,0,0,2,8,0,75],[0,0,7,231,0,0,193,61,0,0,0,64,2,0,4,61,0,7,0,0,0,2,0,29,0,0,7,166,2,32,0,156],[0,0,1,89,0,0,33,61,0,0,0,7,8,0,0,41,0,0,0,64,2,128,0,57,0,0,0,64,0,32,4,63],[0,0,0,32,2,128,0,57,0,0,7,169,7,0,0,65,0,0,0,0,0,114,4,53,0,0,0,1,2,0,0,57],[0,0,0,0,0,40,4,53,0,0,7,231,0,0,1,61,0,0,7,166,8,80,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,8,80,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58],[0,0,0,0,8,133,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,10,96,2,16,0,0,7,160,11,0,0,65,0,0,0,0,6,6,0,75],[0,0,0,0,11,10,192,25,0,0,7,167,6,144,1,151,0,0,0,0,6,182,1,159,0,0,0,0,0,104,4,53],[0,0,0,64,6,0,4,61,0,0,0,32,7,112,0,138,0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59],[0,0,0,128,9,128,0,140,0,0,6,102,0,0,65,61,0,0,0,128,9,128,2,112,0,0,7,168,10,128,0,156],[0,0,0,0,9,8,160,25,0,0,7,168,10,128,0,156,0,0,0,0,10,0,0,25,0,0,0,16,10,0,32,57],[0,0,0,8,11,160,1,191,0,0,7,159,12,144,0,156,0,0,0,0,11,10,160,25,0,0,0,64,10,144,2,112],[0,0,7,159,12,144,0,156,0,0,0,0,10,9,160,25,0,0,0,4,12,176,1,191,0,0,7,155,9,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,32,11,160,2,112,0,0,7,155,9,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,2,9,192,1,191,0,0,255,255,10,176,0,140,0,0,0,0,9,12,160,25,0,0,0,16,10,176,2,112],[0,0,0,0,10,11,160,25,0,0,0,255,10,160,0,140,0,0,0,1,9,144,32,57,0,0,0,32,10,0,0,138],[0,0,0,65,11,144,0,57,0,0,0,0,10,171,1,111,0,0,0,0,10,166,0,25,0,0,0,0,11,106,0,75],[0,0,0,0,11,0,0,25,0,0,0,1,11,0,64,57,0,0,7,159,12,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,11,176,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,160,4,63,0,0,0,2,10,144,0,57],[0,0,0,0,10,166,4,54,0,0,0,33,11,144,0,57,0,0,0,5,11,176,2,114,0,0,5,246,0,0,97,61],[0,0,0,0,12,33,3,79,0,0,0,0,13,0,0,25,0,0,0,5,14,208,2,16,0,0,0,0,15,234,0,25],[0,0,0,0,14,236,3,79,0,0,0,0,14,14,4,59,0,0,0,0,0,239,4,53,0,0,0,1,13,208,0,57],[0,0,0,0,14,189,0,75,0,0,5,238,0,0,65,61,0,0,0,0,11,0,0,75,0,0,5,248,0,0,97,61],[0,0,0,0,11,6,4,51,0,0,0,0,11,11,0,75,0,0,1,193,0,0,97,61,0,0,0,0,11,10,4,51],[0,0,7,167,11,176,1,151,0,0,0,248,12,144,2,16,0,0,0,0,11,188,1,159,0,0,7,169,11,176,0,65],[0,0,0,0,0,186,4,53,0,0,0,3,9,144,2,16,0,0,0,248,9,144,0,137,0,0,0,0,8,152,1,207],[0,0,0,255,9,144,0,140,0,0,0,0,8,0,32,25,0,0,0,33,9,96,0,57,0,0,6,119,0,0,1,61],[0,0,7,166,8,80,0,156,0,0,1,89,0,0,33,61,0,0,0,64,8,80,0,57,0,0,0,64,0,128,4,63],[0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,133,4,54,0,0,0,0,9,144,3,80],[0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53,0,0,1,193,0,0,97,61,0,0,0,248,10,112,2,16],[0,0,7,160,11,0,0,65,0,0,0,0,7,7,0,75,0,0,0,0,11,10,192,25,0,0,7,167,7,144,1,151],[0,0,0,0,7,183,1,159,0,0,0,0,0,120,4,53,0,0,0,64,7,0,4,61,0,0,0,64,6,96,0,138],[0,0,0,0,8,97,3,79,0,0,0,0,8,8,4,59,0,0,0,128,9,128,0,140,0,0,6,197,0,0,65,61],[0,0,0,128,9,128,2,112,0,0,7,168,10,128,0,156,0,0,0,0,9,8,160,25,0,0,7,168,10,128,0,156],[0,0,0,0,10,0,0,25,0,0,0,16,10,0,32,57,0,0,0,8,11,160,1,191,0,0,7,159,12,144,0,156],[0,0,0,0,11,10,160,25,0,0,0,64,10,144,2,112,0,0,7,159,12,144,0,156,0,0,0,0,10,9,160,25],[0,0,0,4,12,176,1,191,0,0,7,155,9,160,0,156,0,0,0,0,12,11,160,25,0,0,0,32,11,160,2,112],[0,0,7,155,9,160,0,156,0,0,0,0,11,10,160,25,0,0,0,2,9,192,1,191,0,0,255,255,10,176,0,140],[0,0,0,0,9,12,160,25,0,0,0,16,10,176,2,112,0,0,0,0,10,11,160,25,0,0,0,255,10,160,0,140],[0,0,0,1,9,144,32,57,0,0,0,32,10,0,0,138,0,0,0,65,11,144,0,57,0,0,0,0,10,171,1,111],[0,0,0,0,10,167,0,25,0,0,0,0,11,122,0,75,0,0,0,0,11,0,0,25,0,0,0,1,11,0,64,57],[0,0,7,159,12,160,0,156,0,0,1,89,0,0,33,61,0,0,0,1,11,176,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,160,4,63,0,0,0,2,10,144,0,57,0,0,0,0,10,167,4,54,0,0,0,33,11,144,0,57],[0,0,0,5,11,176,2,114,0,0,6,84,0,0,97,61,0,0,0,0,12,33,3,79,0,0,0,0,13,0,0,25],[0,0,0,5,14,208,2,16,0,0,0,0,15,234,0,25,0,0,0,0,14,236,3,79,0,0,0,0,14,14,4,59],[0,0,0,0,0,239,4,53,0,0,0,1,13,208,0,57,0,0,0,0,14,189,0,75,0,0,6,76,0,0,65,61],[0,0,0,0,11,0,0,75,0,0,6,86,0,0,97,61,0,0,0,0,11,7,4,51,0,0,0,0,11,11,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,11,10,4,51,0,0,7,167,11,176,1,151,0,0,0,248,12,144,2,16],[0,0,0,0,11,188,1,159,0,0,7,169,11,176,0,65,0,0,0,0,0,186,4,53,0,0,0,3,9,144,2,16],[0,0,0,248,9,144,0,137,0,0,0,0,8,152,1,207,0,0,0,255,9,144,0,140,0,0,0,0,8,0,32,25],[0,0,0,33,9,112,0,57,0,0,6,214,0,0,1,61,0,0,7,166,9,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,9,96,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,1,9,0,0,58],[0,0,0,0,9,150,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,11,128,2,16,0,0,7,160,12,0,0,65,0,0,0,0,8,8,0,75],[0,0,0,0,12,11,192,25,0,0,7,167,8,160,1,151,0,0,0,0,8,200,1,159,0,0,0,0,0,137,4,53],[0,0,0,64,8,0,4,61,0,11,0,64,0,112,0,146,0,0,0,11,9,16,3,96,0,0,0,0,9,9,4,59],[0,0,0,128,10,144,0,140,0,0,7,54,0,0,65,61,0,0,0,128,10,144,2,112,0,0,7,168,11,144,0,156],[0,0,0,0,10,9,160,25,0,0,7,168,11,144,0,156,0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57],[0,0,0,8,12,176,1,191,0,0,7,159,13,160,0,156,0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112],[0,0,7,159,13,160,0,156,0,0,0,0,11,10,160,25,0,0,0,4,13,192,1,191,0,0,7,155,10,176,0,156],[0,0,0,0,13,12,160,25,0,0,0,32,12,176,2,112,0,0,7,155,10,176,0,156,0,0,0,0,12,11,160,25],[0,0,0,2,10,208,1,191,0,0,255,255,11,192,0,140,0,0,0,0,10,13,160,25,0,0,0,16,11,192,2,112],[0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140,0,0,0,1,10,160,32,57,0,0,0,32,11,0,0,138],[0,0,0,65,12,160,0,57,0,0,0,0,11,188,1,111,0,0,0,0,11,184,0,25,0,0,0,0,12,139,0,75],[0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57,0,0,7,159,13,176,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,12,192,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,176,4,63,0,0,0,2,11,160,0,57],[0,0,0,0,11,184,4,54,0,0,0,33,12,160,0,57,0,0,0,5,12,192,2,114,0,0,6,178,0,0,97,61],[0,0,0,0,13,33,3,79,0,0,0,0,14,0,0,25,0,0,0,5,15,224,2,16,0,0,0,0,7,251,0,25],[0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59,0,0,0,0,0,247,4,53,0,0,0,1,14,224,0,57],[0,0,0,0,7,206,0,75,0,0,6,170,0,0,65,61,0,0,0,0,7,0,0,75,0,0,6,180,0,0,97,61],[0,0,0,0,7,8,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61,0,0,0,0,7,11,4,51],[0,0,7,167,7,112,1,151,0,0,0,248,12,160,2,16,0,0,0,0,7,124,1,159,0,0,7,169,7,112,0,65],[0,0,0,0,0,123,4,53,0,0,0,3,7,160,2,16,0,0,0,248,7,112,0,137,0,0,0,0,9,121,1,207],[0,0,0,255,7,112,0,140,0,0,0,0,9,0,32,25,0,0,0,33,7,128,0,57,0,0,0,0,0,151,4,53],[0,0,7,72,0,0,1,61,0,0,7,166,9,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,9,112,0,57],[0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,1,9,0,0,58,0,0,0,0,9,151,4,54],[0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,11,128,2,16,0,0,7,160,12,0,0,65,0,0,0,0,8,8,0,75,0,0,0,0,12,11,192,25],[0,0,7,167,8,160,1,151,0,0,0,0,8,200,1,159,0,0,0,0,0,137,4,53,0,0,0,64,9,0,4,61],[0,0,7,166,8,144,0,156,0,0,1,89,0,0,33,61,0,0,0,32,8,96,0,138,0,0,0,0,8,129,3,79],[0,0,0,0,8,8,4,59,0,0,0,64,10,144,0,57,0,0,0,64,0,160,4,63,0,0,0,32,10,144,0,57],[0,0,7,170,11,0,0,65,0,0,0,0,0,186,4,53,0,0,0,21,10,0,0,57,0,0,0,0,0,169,4,53],[0,0,0,96,8,128,2,16,0,0,0,33,10,144,0,57,0,0,0,0,0,138,4,53,0,0,0,192,6,96,0,57],[0,0,0,0,6,97,3,79,0,0,0,64,8,0,4,61,0,0,0,0,6,6,4,59,0,11,0,0,0,6,0,29],[0,0,0,128,10,96,0,140,0,0,8,159,0,0,65,61,0,0,0,11,6,0,0,41,0,0,0,128,10,96,2,112],[0,0,7,168,11,96,0,156,0,0,0,0,10,6,160,25,0,0,7,168,11,96,0,156,0,0,0,0,11,0,0,25],[0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,7,159,13,160,0,156,0,0,0,0,12,11,160,25],[0,0,0,64,11,160,2,112,0,0,7,159,13,160,0,156,0,0,0,0,11,10,160,25,0,0,0,4,13,192,1,191],[0,0,7,155,10,176,0,156,0,0,0,0,13,12,160,25,0,0,0,32,12,176,2,112,0,0,7,155,10,176,0,156],[0,0,0,0,12,11,160,25,0,0,0,2,10,208,1,191,0,0,255,255,11,192,0,140,0,0,0,0,10,13,160,25],[0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140,0,0,0,1,10,160,32,57],[0,0,0,32,11,0,0,138,0,0,0,65,12,160,0,57,0,0,0,0,11,188,1,111,0,0,0,0,11,184,0,25],[0,0,0,0,12,139,0,75,0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57,0,0,7,159,13,176,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,12,192,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,176,4,63],[0,0,0,2,11,160,0,57,0,0,0,0,11,184,4,54,0,0,0,33,12,160,0,57,0,0,0,5,12,192,2,114],[0,0,7,35,0,0,97,61,0,0,0,0,13,33,3,79,0,0,0,0,14,0,0,25,0,0,0,5,15,224,2,16],[0,0,0,0,6,251,0,25,0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59,0,0,0,0,0,246,4,53],[0,0,0,1,14,224,0,57,0,0,0,0,6,206,0,75,0,0,7,27,0,0,65,61,0,0,0,0,6,0,0,75],[0,0,7,37,0,0,97,61,0,0,0,0,6,8,4,51,0,0,0,0,6,6,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,6,11,4,51,0,0,7,167,6,96,1,151,0,0,0,248,12,160,2,16,0,0,0,0,6,108,1,159],[0,0,7,169,6,96,0,65,0,0,0,0,0,107,4,53,0,0,0,3,6,160,2,16,0,0,0,248,6,96,0,137],[0,0,0,11,10,96,1,239,0,0,0,255,6,96,0,140,0,0,0,0,10,0,32,25,0,0,0,33,6,128,0,57],[0,0,0,0,0,166,4,53,0,0,8,178,0,0,1,61,0,0,7,166,7,128,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,7,128,0,57,0,0,0,64,0,112,4,63,0,0,0,0,7,33,3,79,0,0,0,1,10,0,0,58],[0,0,0,0,10,168,4,54,0,0,0,0,7,112,3,80,0,0,0,0,11,7,4,59,0,0,0,0,0,186,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,7,144,2,16,0,0,7,160,12,0,0,65,0,0,0,0,9,9,0,75],[0,0,0,0,12,7,192,25,0,0,7,167,7,176,1,151,0,0,0,0,7,199,1,159,0,0,0,0,0,122,4,53],[0,0,0,64,10,0,4,61,0,0,7,166,7,160,0,156,0,0,1,89,0,0,33,61,0,0,0,11,12,0,0,41],[0,0,0,32,7,192,0,138,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,64,9,160,0,57],[0,0,0,64,0,144,4,63,0,0,0,32,9,160,0,57,0,0,7,170,11,0,0,65,0,0,0,0,0,185,4,53],[0,0,0,21,9,0,0,57,0,0,0,0,0,154,4,53,0,0,0,96,7,112,2,16,0,0,0,33,9,160,0,57],[0,0,0,0,0,121,4,53,0,0,0,192,7,192,0,57,0,0,0,0,7,113,3,79,0,0,0,64,9,0,4,61],[0,0,0,0,7,7,4,59,0,11,0,0,0,7,0,29,0,0,0,128,11,112,0,140,0,0,9,86,0,0,65,61],[0,0,0,11,7,0,0,41,0,0,0,128,11,112,2,112,0,0,7,168,12,112,0,156,0,0,0,0,11,7,160,25],[0,0,7,168,12,112,0,156,0,0,0,0,12,0,0,25,0,0,0,16,12,0,32,57,0,0,0,8,13,192,1,191],[0,0,7,159,14,176,0,156,0,0,0,0,13,12,160,25,0,0,0,64,12,176,2,112,0,0,7,159,14,176,0,156],[0,0,0,0,12,11,160,25,0,0,0,4,14,208,1,191,0,0,7,155,11,192,0,156,0,0,0,0,14,13,160,25],[0,0,0,32,13,192,2,112,0,0,7,155,11,192,0,156,0,0,0,0,13,12,160,25,0,0,0,2,7,224,1,191],[0,0,255,255,12,208,0,140,0,0,0,0,7,14,160,25,0,0,0,16,12,208,2,112,0,0,0,0,12,13,160,25],[0,0,0,255,12,192,0,140,0,0,0,1,7,112,32,57,0,0,0,32,12,0,0,138,0,10,0,0,0,7,0,29],[0,0,0,65,13,112,0,57,0,0,0,0,12,205,1,111,0,0,0,0,12,201,0,25,0,0,0,0,13,156,0,75],[0,0,0,0,13,0,0,25,0,0,0,1,13,0,64,57,0,0,7,159,14,192,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,13,208,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,192,4,63,0,0,0,10,7,0,0,41],[0,0,0,2,12,112,0,57,0,0,0,0,12,201,4,54,0,0,0,33,13,112,0,57,0,0,0,5,13,208,2,114],[0,0,7,151,0,0,97,61,0,0,0,0,14,33,3,79,0,0,0,0,15,0,0,25,0,0,0,5,7,240,2,16],[0,0,0,0,11,124,0,25,0,0,0,0,7,126,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,123,4,53],[0,0,0,1,15,240,0,57,0,0,0,0,7,223,0,75,0,0,7,143,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,7,153,0,0,97,61,0,0,0,0,7,9,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,7,12,4,51,0,0,7,167,7,112,1,151,0,0,0,10,13,0,0,41,0,0,0,248,11,208,2,16],[0,0,0,0,7,123,1,159,0,0,7,169,7,112,0,65,0,0,0,0,0,124,4,53,0,0,0,3,7,208,2,16],[0,0,0,248,7,112,0,137,0,0,0,11,11,112,1,239,0,0,0,255,7,112,0,140,0,0,0,0,11,0,32,25],[0,0,0,33,7,144,0,57,0,0,0,0,0,183,4,53,0,0,9,105,0,0,1,61,0,0,0,64,8,0,4,61],[0,7,0,0,0,8,0,29,0,0,0,56,8,112,0,140,0,0,7,214,0,0,65,61,0,0,0,32,9,112,2,112],[0,0,7,155,8,112,0,156,0,0,0,0,9,7,160,25,0,0,7,155,8,112,0,156,0,0,0,0,10,0,0,25],[0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25],[0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25],[0,0,0,1,9,0,32,57,0,0,0,7,10,0,0,41,0,0,7,166,10,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,0,8,152,1,159,0,0,0,7,10,0,0,41,0,0,0,64,9,160,0,57,0,0,0,64,0,144,4,63],[0,0,0,2,9,128,0,58,0,0,0,0,9,154,4,54,0,0,0,0,2,32,3,80,0,0,0,0,2,2,4,59],[0,0,0,0,0,41,4,53,0,0,1,193,0,0,97,61,0,0,7,167,2,32,1,151,0,0,0,248,10,128,2,16],[0,0,0,0,2,42,1,159,0,0,7,171,2,32,1,199,0,0,0,0,0,41,4,53,0,0,0,3,2,128,2,16],[0,0,0,248,2,32,1,95,0,0,0,0,2,39,1,207,0,0,0,7,7,0,0,41,0,0,0,33,7,112,0,57],[0,0,0,0,0,39,4,53,0,0,7,231,0,0,1,61,0,0,0,7,8,0,0,41,0,0,7,166,8,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,7,9,0,0,41,0,0,0,64,8,144,0,57,0,0,0,64,0,128,4,63],[0,0,0,1,8,0,0,58,0,0,0,0,8,137,4,54,0,0,0,0,2,32,3,80,0,0,0,0,2,2,4,59],[0,0,0,0,0,40,4,53,0,0,1,193,0,0,97,61,0,0,0,248,7,112,2,16,0,0,7,167,2,32,1,151],[0,0,0,0,2,114,1,159,0,0,7,160,2,32,1,103,0,0,0,0,0,40,4,53,0,0,0,128,2,96,0,138],[0,0,0,0,6,33,3,79,0,0,0,96,2,0,0,57,0,0,0,0,6,6,4,59,0,0,0,0,6,6,0,75],[0,0,8,72,0,0,193,61,0,0,7,160,6,0,0,65,0,0,0,0,7,84,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,128,25,0,0,7,160,5,80,1,151,0,0,7,160,8,64,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,0,12,5,0,0,41,0,0,0,159,0,0,193,61,0,0,0,9,6,0,0,41],[0,0,0,0,6,6,4,51,0,0,0,128,7,0,4,61,0,0,0,11,8,0,0,41,0,0,0,0,8,8,4,51],[0,0,0,8,9,0,0,41,0,0,0,0,9,9,4,51,0,0,0,7,10,0,0,41,0,0,0,0,10,10,4,51],[0,0,0,0,5,84,0,25,0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59,0,0,7,159,11,64,0,156],[0,0,0,159,0,0,33,61,0,0,0,0,11,67,0,73,0,0,0,32,5,80,0,57,0,0,7,160,12,0,0,65],[0,0,0,0,13,181,0,75,0,0,0,0,13,0,0,25,0,0,0,0,13,12,32,25,0,0,7,160,11,176,1,151],[0,0,7,160,14,80,1,151,0,0,0,0,15,190,0,75,0,0,0,0,12,0,128,25,0,0,0,0,11,190,1,63],[0,0,7,160,11,176,0,156,0,0,0,0,12,13,192,25,0,0,0,0,11,12,0,75,0,0,0,159,0,0,193,61],[0,0,0,0,6,118,0,25,0,0,0,0,6,134,0,25,0,0,0,0,6,150,0,25,0,0,0,0,6,166,0,25],[0,0,0,0,6,70,0,25,0,0,0,0,7,2,4,51,0,0,0,0,6,118,0,25,0,0,0,64,7,0,4,61],[0,0,7,159,6,96,1,151,0,0,0,56,8,96,0,140,0,0,10,83,0,0,65,61,0,0,0,32,9,96,2,112],[0,0,7,155,8,96,0,156,0,0,0,0,9,6,160,25,0,0,7,155,8,96,0,156,0,0,0,0,10,0,0,25],[0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25],[0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25],[0,0,0,1,9,0,32,57,0,0,7,166,10,112,0,156,0,0,1,89,0,0,33,61,0,0,0,0,8,152,1,159],[0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,9,49,3,79,0,0,0,2,3,128,0,58],[0,0,0,0,3,55,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,147,4,53],[0,0,1,193,0,0,97,61,0,0,7,167,9,144,1,151,0,0,0,248,10,128,2,16,0,0,0,0,9,154,1,159],[0,0,7,173,9,144,1,199,0,0,0,0,0,147,4,53,0,0,0,3,3,128,2,16,0,0,0,248,3,48,1,95],[0,0,0,0,3,54,1,207,0,0,0,33,6,112,0,57,0,0,0,0,0,54,4,53,0,0,10,99,0,0,1,61],[0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57,0,0,7,155,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,7,165,1,16,1,199],[0,0,128,11,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,24,107,0,0,97,61],[0,0,0,64,4,0,4,61,0,0,0,0,2,1,4,59,0,0,0,128,1,32,0,140,0,0,10,26,0,0,65,61],[0,0,0,128,1,32,2,112,0,0,7,168,3,32,0,156,0,0,0,0,1,2,160,25,0,0,7,168,3,32,0,156],[0,0,0,0,3,0,0,25,0,0,0,16,3,0,32,57,0,0,0,8,5,48,1,191,0,0,7,159,6,16,0,156],[0,0,0,0,5,3,160,25,0,0,0,64,3,16,2,112,0,0,7,159,6,16,0,156,0,0,0,0,3,1,160,25],[0,0,0,4,1,80,1,191,0,0,7,155,6,48,0,156,0,0,0,0,1,5,160,25,0,0,0,32,6,48,2,112],[0,0,7,155,5,48,0,156,0,0,0,0,6,3,160,25,0,0,0,2,5,16,1,191,0,0,255,255,3,96,0,140],[0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25,0,0,0,255,1,16,0,140],[0,0,0,1,5,80,32,57,0,0,0,65,1,80,0,57,0,0,0,10,1,16,1,127,0,0,0,0,1,20,0,25],[0,0,0,0,3,65,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,7,159,6,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,3,48,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,0,2,1,80,0,57,0,0,0,0,6,20,4,54,0,0,0,1,1,0,3,103,0,0,0,0,3,0,0,49],[0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114,0,0,8,141,0,0,97,61,0,0,0,0,8,49,3,79],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75],[0,0,8,133,0,0,65,61,0,0,0,0,7,0,0,75,0,0,8,143,0,0,97,61,0,0,0,0,7,4,4,51],[0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61,0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151],[0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159,0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53],[0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137,0,0,0,0,2,82,1,207,0,0,0,255,5,80,0,140],[0,0,0,0,2,0,32,25,0,0,0,33,5,64,0,57,0,0,10,45,0,0,1,61,0,0,7,166,6,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,6,128,0,57,0,0,0,64,0,96,4,63,0,0,0,0,6,33,3,79],[0,0,0,1,10,0,0,58,0,0,0,0,10,168,4,54,0,0,0,0,6,96,3,80,0,0,0,0,11,6,4,59],[0,0,0,0,0,186,4,53,0,0,1,193,0,0,97,61,0,0,0,11,13,0,0,41,0,0,0,248,6,208,2,16],[0,0,7,160,12,0,0,65,0,0,0,0,13,13,0,75,0,0,0,0,12,6,192,25,0,0,7,167,6,176,1,151],[0,0,0,0,6,198,1,159,0,0,0,0,0,106,4,53,0,0,0,64,6,0,4,61,0,0,0,32,10,96,0,57],[0,0,0,0,11,3,4,51,0,0,0,0,12,11,0,75,0,0,8,191,0,0,97,61,0,0,0,0,12,0,0,25],[0,0,0,0,13,172,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,60,0,25,0,0,0,0,14,14,4,51],[0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75,0,0,8,184,0,0,65,61,0,0,0,0,3,171,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,10,4,4,51,0,0,0,0,11,10,0,75,0,0,8,204,0,0,97,61],[0,0,0,0,11,0,0,25,0,0,0,0,12,59,0,25,0,0,0,32,11,176,0,57,0,0,0,0,13,75,0,25],[0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53,0,0,0,0,12,171,0,75,0,0,8,197,0,0,65,61],[0,0,0,0,3,58,0,25,0,0,0,0,0,3,4,53,0,0,0,0,4,5,4,51,0,0,0,0,10,4,0,75],[0,0,8,217,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,0,11,58,0,25,0,0,0,32,10,160,0,57],[0,0,0,0,12,90,0,25,0,0,0,0,12,12,4,51,0,0,0,0,0,203,4,53,0,0,0,0,11,74,0,75],[0,0,8,210,0,0,65,61,0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53,0,0,0,0,4,7,4,51],[0,0,0,0,5,4,0,75,0,0,8,230,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,10,53,0,25],[0,0,0,32,5,80,0,57,0,0,0,0,11,117,0,25,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53],[0,0,0,0,10,69,0,75,0,0,8,223,0,0,65,61,0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,4,9,4,51,0,0,0,0,5,4,0,75,0,0,8,243,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,0,7,53,0,25,0,0,0,32,5,80,0,57,0,0,0,0,10,149,0,25,0,0,0,0,10,10,4,51],[0,0,0,0,0,167,4,53,0,0,0,0,7,69,0,75,0,0,8,236,0,0,65,61,0,0,0,0,3,52,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,4,8,4,51,0,0,0,0,5,4,0,75,0,0,9,0,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,7,53,0,25,0,0,0,32,5,80,0,57,0,0,0,0,9,133,0,25],[0,0,0,0,9,9,4,51,0,0,0,0,0,151,4,53,0,0,0,0,7,69,0,75,0,0,8,249,0,0,65,61],[0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53,0,0,0,0,3,99,0,73,0,0,0,32,4,48,0,138],[0,0,0,0,0,70,4,53,0,0,0,31,4,48,0,57,0,0,0,32,3,0,0,138,0,0,0,0,4,52,1,111],[0,0,0,0,7,100,0,25,0,0,0,0,4,71,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57],[0,0,7,159,5,112,0,156,0,0,1,89,0,0,33,61,0,0,0,1,4,64,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,112,4,63,0,0,0,13,5,0,0,41,0,0,1,196,4,80,0,57,0,0,0,0,4,65,3,79],[0,0,0,0,5,82,0,73,0,0,0,35,5,80,0,138,0,0,0,0,4,4,4,59,0,0,7,160,8,0,0,65],[0,0,0,0,9,84,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,8,128,25,0,0,7,160,5,80,1,151],[0,0,7,160,10,64,1,151,0,0,0,0,11,90,0,75,0,0,0,0,8,0,128,25,0,0,0,0,5,90,1,63],[0,0,7,160,5,80,0,156,0,0,0,0,8,9,192,25,0,0,0,0,5,8,0,75,0,0,0,12,5,0,0,41],[0,0,0,159,0,0,193,61,0,0,0,0,5,84,0,25,0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59],[0,0,7,159,8,64,0,156,0,0,0,159,0,0,33,61,0,0,0,0,8,66,0,73,0,0,0,32,5,80,0,57],[0,0,7,160,9,0,0,65,0,0,0,0,10,133,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,9,32,25],[0,0,7,160,8,128,1,151,0,0,7,160,11,80,1,151,0,0,0,0,12,139,0,75,0,0,0,0,9,0,128,25],[0,0,0,0,8,139,1,63,0,0,7,160,8,128,0,156,0,0,0,0,9,10,192,25,0,0,0,0,8,9,0,75],[0,0,0,159,0,0,193,61,0,0,0,1,8,64,0,140,0,0,12,107,0,0,193,61,0,0,0,0,8,81,3,79],[0,0,0,0,8,8,4,59,0,0,0,1,9,0,0,138,0,0,7,160,10,0,0,65,0,0,0,0,9,152,0,75],[0,0,0,0,9,0,0,25,0,0,0,0,9,10,32,25,0,0,7,160,8,128,1,151,0,0,7,160,11,128,0,156],[0,0,0,0,10,0,128,25,0,0,7,160,8,128,1,103,0,0,7,160,8,128,0,156,0,0,0,0,10,9,192,25],[0,0,0,96,8,0,0,57,0,0,0,0,9,10,0,75,0,0,12,231,0,0,193,61,0,0,7,166,8,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,32,8,112,0,57],[0,0,7,169,9,0,0,65,0,0,0,0,0,152,4,53,0,0,0,1,8,0,0,57,0,0,0,0,0,135,4,53],[0,0,0,0,8,7,0,25,0,0,12,231,0,0,1,61,0,0,7,166,7,144,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,7,144,0,57,0,0,0,64,0,112,4,63,0,0,0,0,7,33,3,79,0,0,0,1,11,0,0,58],[0,0,0,0,11,185,4,54,0,0,0,0,7,112,3,80,0,0,0,0,12,7,4,59,0,0,0,0,0,203,4,53],[0,0,1,193,0,0,97,61,0,0,0,11,14,0,0,41,0,0,0,248,7,224,2,16,0,0,7,160,13,0,0,65],[0,0,0,0,14,14,0,75,0,0,0,0,13,7,192,25,0,0,7,167,7,192,1,151,0,0,0,0,7,215,1,159],[0,0,0,0,0,123,4,53,0,0,0,64,7,0,4,61,0,0,0,32,11,112,0,57,0,0,0,0,12,3,4,51],[0,0,0,0,13,12,0,75,0,0,9,118,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,0,14,189,0,25],[0,0,0,32,13,208,0,57,0,0,0,0,15,61,0,25,0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53],[0,0,0,0,14,205,0,75,0,0,9,111,0,0,65,61,0,0,0,0,3,188,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,11,4,4,51,0,0,0,0,12,11,0,75,0,0,9,131,0,0,97,61,0,0,0,0,12,0,0,25],[0,0,0,0,13,60,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,76,0,25,0,0,0,0,14,14,4,51],[0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75,0,0,9,124,0,0,65,61,0,0,0,0,3,59,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,4,5,4,51,0,0,0,0,11,4,0,75,0,0,9,144,0,0,97,61],[0,0,0,0,11,0,0,25,0,0,0,0,12,59,0,25,0,0,0,32,11,176,0,57,0,0,0,0,13,91,0,25],[0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53,0,0,0,0,12,75,0,75,0,0,9,137,0,0,65,61],[0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53,0,0,0,0,4,6,4,51,0,0,0,0,5,4,0,75],[0,0,9,157,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,11,53,0,25,0,0,0,32,5,80,0,57],[0,0,0,0,12,101,0,25,0,0,0,0,12,12,4,51,0,0,0,0,0,203,4,53,0,0,0,0,11,69,0,75],[0,0,9,150,0,0,65,61,0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53,0,0,0,0,4,8,4,51],[0,0,0,0,5,4,0,75,0,0,9,170,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,6,53,0,25],[0,0,0,32,5,80,0,57,0,0,0,0,11,133,0,25,0,0,0,0,11,11,4,51,0,0,0,0,0,182,4,53],[0,0,0,0,6,69,0,75,0,0,9,163,0,0,65,61,0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,4,10,4,51,0,0,0,0,5,4,0,75,0,0,9,183,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,0,6,53,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,165,0,25,0,0,0,0,8,8,4,51],[0,0,0,0,0,134,4,53,0,0,0,0,6,69,0,75,0,0,9,176,0,0,65,61,0,0,0,0,3,52,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,4,9,4,51,0,0,0,0,5,4,0,75,0,0,9,196,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,6,53,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,149,0,25],[0,0,0,0,8,8,4,51,0,0,0,0,0,134,4,53,0,0,0,0,6,69,0,75,0,0,9,189,0,0,65,61],[0,0,0,0,3,52,0,25,0,0,0,0,0,3,4,53,0,0,0,0,3,115,0,73,0,0,0,32,4,48,0,138],[0,0,0,0,0,71,4,53,0,0,0,31,4,48,0,57,0,0,0,32,3,0,0,138,0,0,0,0,4,52,1,111],[0,0,0,0,6,116,0,25,0,0,0,0,4,70,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,64,57],[0,0,7,159,5,96,0,156,0,0,1,89,0,0,33,61,0,0,0,1,4,64,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,96,4,63,0,0,0,13,5,0,0,41,0,0,1,196,4,80,0,57,0,0,0,0,4,65,3,79],[0,0,0,0,5,82,0,73,0,0,0,35,5,80,0,138,0,0,0,0,4,4,4,59,0,0,7,160,8,0,0,65],[0,0,0,0,9,84,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,8,128,25,0,0,7,160,5,80,1,151],[0,0,7,160,10,64,1,151,0,0,0,0,11,90,0,75,0,0,0,0,8,0,128,25,0,0,0,0,5,90,1,63],[0,0,7,160,5,80,0,156,0,0,0,0,8,9,192,25,0,0,0,0,5,8,0,75,0,0,0,12,5,0,0,41],[0,0,0,159,0,0,193,61,0,0,0,0,5,84,0,25,0,0,0,0,4,81,3,79,0,0,0,0,4,4,4,59],[0,0,7,159,8,64,0,156,0,0,0,159,0,0,33,61,0,0,0,0,8,66,0,73,0,0,0,32,5,80,0,57],[0,0,7,160,9,0,0,65,0,0,0,0,10,133,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,9,32,25],[0,0,7,160,8,128,1,151,0,0,7,160,11,80,1,151,0,0,0,0,12,139,0,75,0,0,0,0,9,0,128,25],[0,0,0,0,8,139,1,63,0,0,7,160,8,128,0,156,0,0,0,0,9,10,192,25,0,0,0,0,8,9,0,75],[0,0,0,159,0,0,193,61,0,0,0,1,8,64,0,140,0,0,12,174,0,0,193,61,0,0,0,0,8,81,3,79],[0,0,0,0,8,8,4,59,0,0,0,1,9,0,0,138,0,0,7,160,10,0,0,65,0,0,0,0,9,152,0,75],[0,0,0,0,9,0,0,25,0,0,0,0,9,10,32,25,0,0,7,160,8,128,1,151,0,0,7,160,11,128,0,156],[0,0,0,0,10,0,128,25,0,0,7,160,8,128,1,103,0,0,7,160,8,128,0,156,0,0,0,0,10,9,192,25],[0,0,0,96,8,0,0,57,0,0,0,0,9,10,0,75,0,0,13,135,0,0,193,61,0,0,7,166,8,96,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,8,96,0,57,0,0,0,64,0,128,4,63,0,0,0,32,8,96,0,57],[0,0,7,169,9,0,0,65,0,0,0,0,0,152,4,53,0,0,0,1,8,0,0,57,0,0,0,0,0,134,4,53],[0,0,0,0,8,6,0,25,0,0,13,135,0,0,1,61,0,0,7,166,1,64,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,1,64,0,57,0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58,0,0,0,0,5,20,4,54],[0,0,0,0,3,0,0,49,0,0,0,1,1,0,3,103,0,0,0,0,6,49,3,79,0,0,0,0,6,96,3,80],[0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53,0,0,1,193,0,0,97,61,0,0,0,248,7,32,2,16],[0,0,7,160,8,0,0,65,0,0,0,0,2,2,0,75,0,0,0,0,8,7,192,25,0,0,7,167,2,96,1,151],[0,0,0,0,2,130,1,159,0,0,0,0,0,37,4,53,0,0,0,64,2,0,4,61,0,0,0,32,5,32,0,57],[0,0,0,0,6,4,4,51,0,0,0,0,7,6,0,75,0,0,10,59,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,0,8,87,0,25,0,0,0,32,7,112,0,57,0,0,0,0,9,71,0,25,0,0,0,0,9,9,4,51],[0,0,0,0,0,152,4,53,0,0,0,0,8,103,0,75,0,0,10,52,0,0,65,61,0,0,0,0,4,86,0,25],[0,0,7,192,5,0,0,65,0,0,0,0,0,84,4,53,0,0,0,0,4,36,0,73,0,0,0,30,5,64,0,138],[0,0,0,0,0,82,4,53,0,0,0,33,4,64,0,57,0,0,0,10,5,64,1,127,0,0,0,0,4,37,0,25],[0,0,0,0,5,84,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,7,159,6,64,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,5,80,1,144,0,0,1,89,0,0,193,61,0,0,0,13,6,0,0,41],[0,0,1,196,5,96,0,57,0,0,0,64,0,64,4,63,0,0,0,0,4,81,3,79,0,0,0,0,5,99,0,73],[0,0,0,35,5,80,0,138,0,0,0,0,4,4,4,59,0,0,7,237,0,0,1,61,0,0,7,166,8,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,0,8,49,3,79],[0,0,0,1,3,0,0,58,0,0,0,0,3,55,4,54,0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59],[0,0,0,0,0,131,4,53,0,0,1,193,0,0,97,61,0,0,7,167,8,128,1,151,0,0,0,248,6,96,2,16],[0,0,0,0,6,134,1,159,0,0,7,172,6,96,0,65,0,0,0,0,0,99,4,53,0,0,0,64,3,0,4,61],[0,0,0,32,6,48,0,57,0,0,0,0,8,7,4,51,0,0,0,0,9,8,0,75,0,0,10,112,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,0,10,105,0,25,0,0,0,32,9,144,0,57,0,0,0,0,11,121,0,25],[0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,10,105,0,0,65,61],[0,0,0,0,7,104,0,25,0,0,0,0,0,7,4,53,0,0,0,128,8,0,4,61,0,0,0,0,9,8,0,75],[0,0,10,125,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25,0,0,0,160,11,144,0,57],[0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,32,9,144,0,57,0,0,0,0,10,137,0,75],[0,0,10,118,0,0,65,61,0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53,0,0,0,9,12,0,0,41],[0,0,0,0,8,12,4,51,0,0,0,0,9,8,0,75,0,0,10,139,0,0,97,61,0,0,0,0,9,0,0,25],[0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57,0,0,0,0,11,201,0,25,0,0,0,0,11,11,4,51],[0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,10,132,0,0,65,61,0,0,0,0,7,120,0,25],[0,0,0,0,0,7,4,53,0,0,0,11,12,0,0,41,0,0,0,0,8,12,4,51,0,0,0,0,9,8,0,75],[0,0,10,153,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57],[0,0,0,0,11,201,0,25,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75],[0,0,10,146,0,0,65,61,0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53,0,0,0,8,12,0,0,41],[0,0,0,0,8,12,4,51,0,0,0,0,9,8,0,75,0,0,10,167,0,0,97,61,0,0,0,0,9,0,0,25],[0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57,0,0,0,0,11,201,0,25,0,0,0,0,11,11,4,51],[0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,10,160,0,0,65,61,0,0,0,0,7,120,0,25],[0,0,0,0,0,7,4,53,0,0,0,7,12,0,0,41,0,0,0,0,8,12,4,51,0,0,0,0,9,8,0,75],[0,0,10,181,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57],[0,0,0,0,11,201,0,25,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75],[0,0,10,174,0,0,65,61,0,0,0,0,5,81,3,79,0,0,0,0,1,120,0,25,0,0,0,31,7,64,1,143],[0,0,0,0,0,1,4,53,0,0,0,5,8,64,2,114,0,0,10,196,0,0,97,61,0,0,0,0,9,0,0,25],[0,0,0,5,10,144,2,16,0,0,0,0,11,161,0,25,0,0,0,0,10,165,3,79,0,0,0,0,10,10,4,59],[0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,137,0,75,0,0,10,188,0,0,65,61],[0,0,0,0,9,7,0,75,0,0,10,211,0,0,97,61,0,0,0,5,8,128,2,16,0,0,0,0,5,133,3,79],[0,0,0,0,8,129,0,25,0,0,0,3,7,112,2,16,0,0,0,0,9,8,4,51,0,0,0,0,9,121,1,207],[0,0,0,0,9,121,2,47,0,0,0,0,5,5,4,59,0,0,1,0,7,112,0,137,0,0,0,0,5,117,2,47],[0,0,0,0,5,117,1,207,0,0,0,0,5,149,1,159,0,0,0,0,0,88,4,53,0,0,0,0,1,65,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,4,2,4,51,0,0,0,0,5,4,0,75,0,0,10,224,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,7,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,37,0,25],[0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53,0,0,0,0,7,69,0,75,0,0,10,217,0,0,65,61],[0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,49,0,73,0,0,0,32,2,16,0,138],[0,0,0,0,0,35,4,53,0,0,0,31,1,16,0,57,0,0,0,10,2,16,1,127,0,0,0,0,1,50,0,25],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,7,159,4,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,7,155,1,0,0,65,0,0,7,155,2,96,0,156,0,0,0,0,6,1,128,25,0,0,0,64,2,96,2,16],[0,0,0,0,3,3,4,51,0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,96,3,48,2,16],[0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20,0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159,0,0,7,175,1,16,1,199,0,0,128,16,2,0,0,57],[30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,12,3,0,0,41,0,0,0,13,2,0,0,41],[0,0,0,159,0,0,97,61,0,13,0,0,0,2,0,29,0,0,0,1,2,0,3,103,0,12,0,0,0,3,0,29],[0,0,0,0,3,50,3,79,0,0,0,0,1,1,4,59,0,11,0,0,0,1,0,29,0,0,0,0,1,3,4,59],[0,0,0,113,3,16,0,140,0,0,13,34,0,0,193,61,0,0,0,12,9,0,0,41,0,0,1,224,1,144,0,57],[0,0,0,0,3,18,3,79,0,0,0,0,1,0,0,49,0,0,0,13,4,16,0,106,0,0,0,35,4,64,0,138],[0,0,0,0,3,3,4,59,0,0,7,160,5,0,0,65,0,0,0,0,6,67,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,7,160,4,64,1,151,0,0,7,160,7,48,1,151,0,0,0,0,8,71,0,75],[0,0,0,0,5,0,128,25,0,0,0,0,4,71,1,63,0,0,7,160,4,64,0,156,0,0,0,0,5,6,192,25],[0,0,0,0,4,5,0,75,0,0,0,159,0,0,193,61,0,0,0,0,3,147,0,25,0,0,0,0,2,50,3,79],[0,0,0,0,2,2,4,59,0,0,7,159,4,32,0,156,0,0,0,159,0,0,33,61,0,0,0,0,4,33,0,73],[0,0,0,32,1,48,0,57,0,0,7,160,3,0,0,65,0,0,0,0,5,65,0,75,0,0,0,0,5,0,0,25],[0,0,0,0,5,3,32,25,0,0,7,160,4,64,1,151,0,0,7,160,6,16,1,151,0,0,0,0,7,70,0,75],[0,0,0,0,3,0,128,25,0,0,0,0,4,70,1,63,0,0,7,160,4,64,0,156,0,0,0,0,3,5,192,25],[0,0,0,0,3,3,0,75,0,0,0,159,0,0,193,61,30,104,29,198,0,0,4,15,0,0,0,64,2,0,4,61],[0,0,0,64,3,32,0,57,0,0,0,0,0,19,4,53,0,0,0,64,1,0,0,57,0,0,0,0,1,18,4,54],[0,0,0,11,3,0,0,41,0,0,0,0,0,49,4,53,0,0,7,197,3,32,0,156,0,0,1,89,0,0,33,61],[0,0,0,96,3,32,0,57,0,0,0,64,0,48,4,63,0,0,7,155,3,0,0,65,0,0,7,155,4,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,64,1,16,2,16,0,0,0,0,2,2,4,51,0,0,7,155,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,96,2,32,2,16,0,0,0,0,1,18,1,159,0,0,0,0,2,0,4,20],[0,0,7,155,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,7,175,1,16,1,199,0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,159,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,64,2,0,4,61,0,0,0,32,3,32,0,57],[0,0,0,11,4,0,0,41,0,0,0,0,0,67,4,53,0,0,0,0,0,18,4,53,0,0,7,155,1,0,0,65],[0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,7,198,1,16,1,199],[0,0,30,105,0,1,4,46,0,0,7,155,1,16,1,151,0,0,0,0,1,19,3,79,0,0,0,0,2,82,0,73],[0,0,7,155,2,32,1,151,0,0,0,0,1,33,3,223,0,0,0,192,2,64,2,16,0,0,7,177,2,32,1,151],[0,0,7,178,2,32,1,199,0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57,30,104,30,99,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,7,155,4,48,1,151,0,0,0,1,2,32,1,144],[0,0,12,147,0,0,97,61,0,0,0,63,2,64,0,57,0,0,7,179,2,32,1,151,0,0,0,64,5,0,4,61],[0,0,0,0,2,37,0,25,0,0,0,0,3,82,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57],[0,0,7,159,6,32,0,156,0,0,1,89,0,0,33,61,0,0,0,1,3,48,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,32,4,63,0,0,0,0,2,69,4,54,0,0,0,1,3,0,3,103,0,0,0,31,6,64,0,57],[0,0,0,5,6,96,2,114,0,0,11,140,0,0,97,61,0,0,0,0,7,48,3,104,0,0,0,0,8,0,0,25],[0,0,0,5,9,128,2,16,0,0,0,0,10,146,0,25,0,0,0,0,9,151,3,79,0,0,0,0,9,9,4,59],[0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,104,0,75,0,0,11,132,0,0,65,61],[0,0,0,0,6,0,0,75,0,0,11,142,0,0,97,61,0,0,0,31,6,64,1,143,0,0,0,5,4,64,2,114],[0,0,11,154,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,130,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,71,0,75,0,0,11,146,0,0,65,61,0,0,0,0,7,6,0,75,0,0,11,169,0,0,97,61],[0,0,0,5,4,64,2,16,0,0,0,0,1,65,3,79,0,0,0,0,4,66,0,25,0,0,0,3,6,96,2,16],[0,0,0,0,7,4,4,51,0,0,0,0,7,103,1,207,0,0,0,0,7,103,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,6,96,0,137,0,0,0,0,1,97,2,47,0,0,0,0,1,97,1,207,0,0,0,0,1,113,1,159],[0,0,0,0,0,20,4,53,0,0,0,0,1,5,4,51,0,0,0,32,1,16,0,140,0,0,12,89,0,0,193,61],[0,0,0,13,11,0,0,41,0,0,0,100,1,176,0,57,0,0,0,0,1,19,3,79,0,0,0,68,4,176,0,57],[0,0,0,0,5,67,3,79,0,0,0,36,4,176,0,57,0,0,0,0,4,67,3,79,0,0,1,36,6,176,0,57],[0,0,0,0,6,99,3,79,0,0,1,4,7,176,0,57,0,0,0,0,7,115,3,79,0,0,0,228,8,176,0,57],[0,0,0,0,8,131,3,79,0,0,0,196,9,176,0,57,0,0,0,0,9,147,3,79,0,0,0,164,10,176,0,57],[0,0,0,0,10,163,3,79,0,0,0,132,11,176,0,57,0,0,0,0,11,179,3,79,0,0,0,12,3,48,3,96],[0,0,0,0,3,3,4,59,0,0,0,0,4,4,4,59,0,0,0,0,5,5,4,59,0,0,0,0,12,1,4,59],[0,0,0,0,11,11,4,59,0,0,0,0,10,10,4,59,0,0,0,0,9,9,4,59,0,0,0,0,8,8,4,59],[0,0,0,0,7,7,4,59,0,0,0,0,6,6,4,59,0,0,0,0,2,2,4,51,0,0,0,64,1,0,4,61],[0,0,1,192,13,16,0,57,0,0,0,0,0,45,4,53,0,0,1,160,2,16,0,57,0,0,0,11,13,0,0,41],[0,0,0,0,0,210,4,53,0,0,1,128,2,16,0,57,0,0,0,10,13,0,0,41,0,0,0,0,0,210,4,53],[0,0,1,96,2,16,0,57,0,0,0,0,0,98,4,53,0,0,1,64,2,16,0,57,0,0,0,0,0,114,4,53],[0,0,1,32,2,16,0,57,0,0,0,0,0,130,4,53,0,0,1,0,2,16,0,57,0,0,0,0,0,146,4,53],[0,0,0,224,2,16,0,57,0,0,0,0,0,162,4,53,0,0,0,192,2,16,0,57,0,0,0,0,0,178,4,53],[0,0,0,160,2,16,0,57,0,0,0,0,0,194,4,53,0,0,0,128,2,16,0,57,0,0,0,0,0,82,4,53],[0,0,0,96,2,16,0,57,0,0,0,0,0,66,4,53,0,0,0,64,2,16,0,57,0,0,0,0,0,50,4,53],[0,0,0,32,2,16,0,57,0,0,7,183,3,0,0,65,0,0,0,0,0,50,4,53,0,0,1,192,3,0,0,57],[0,0,0,0,0,49,4,53,0,0,7,184,3,16,0,156,0,0,1,89,0,0,33,61,0,0,1,224,3,16,0,57],[0,0,0,64,0,48,4,63,0,0,7,155,4,0,0,65,0,0,7,155,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,7,155,3,16,0,156,0,0,0,0,1,4,128,25],[0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156],[0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,7,175,1,16,1,199],[0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,159,0,0,97,61],[0,0,0,0,1,1,4,59,0,10,0,0,0,1,0,29,0,0,0,64,1,0,4,61,0,11,0,0,0,1,0,29],[0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57,0,0,0,0,1,0,4,20,0,0,7,155,2,16,0,156],[0,0,7,155,1,0,128,65,0,0,0,192,1,16,2,16,0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57],[30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,24,107,0,0,97,61,0,0,0,11,4,0,0,41],[0,0,0,32,2,64,0,57,0,0,0,0,1,1,4,59,0,0,7,185,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,128,3,64,0,57,0,0,0,0,0,19,4,53,0,0,0,96,1,64,0,57,0,0,7,186,3,0,0,65],[0,0,0,0,0,49,4,53,0,0,0,64,1,64,0,57,0,0,7,187,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,128,1,0,0,57,0,0,0,0,0,20,4,53,0,0,7,188,1,64,0,156,0,0,1,89,0,0,33,61],[0,0,0,11,4,0,0,41,0,0,0,160,1,64,0,57,0,0,0,64,0,16,4,63,0,0,7,155,1,0,0,65],[0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,2,32,2,16,0,0,0,0,3,4,4,51],[0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159],[0,0,0,0,3,0,4,20,0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16],[0,0,0,0,1,33,1,159,0,0,7,175,1,16,1,199,0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,0,159,0,0,97,61,0,0,0,0,3,1,4,59,0,0,0,64,1,0,4,61],[0,0,0,66,2,16,0,57,0,0,0,10,4,0,0,41,0,0,0,0,0,66,4,53,0,0,0,32,2,16,0,57],[0,0,7,189,4,0,0,65,0,0,0,0,0,66,4,53,0,0,0,34,4,16,0,57,0,0,0,0,0,52,4,53],[0,0,0,66,3,0,0,57,0,0,0,0,0,49,4,53,0,0,7,190,3,16,0,156,0,0,1,89,0,0,33,61],[0,0,0,128,3,16,0,57,0,0,0,64,0,48,4,63,0,0,7,155,3,0,0,65,0,0,7,155,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,7,155,4,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,7,155,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,10,254,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,7,181,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,7,161,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,7,155,2,0,0,65,0,0,7,155,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,7,182,1,16,1,199,0,0,30,106,0,1,4,48,0,0,0,56,8,64,0,140],[0,0,12,214,0,0,65,61,0,0,0,32,9,64,2,112,0,0,7,155,8,64,0,156,0,0,0,0,9,4,160,25],[0,0,7,155,8,64,0,156,0,0,0,0,10,0,0,25,0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191],[0,0,255,255,11,144,0,140,0,0,0,0,8,10,160,25,0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25],[0,0,0,255,9,160,0,140,0,0,0,0,9,0,0,25,0,0,0,1,9,0,32,57,0,0,7,166,10,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,0,8,152,1,159,0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63],[0,0,0,0,10,33,3,79,0,0,0,2,9,128,0,58,0,0,0,0,9,151,4,54,0,0,0,0,10,160,3,80],[0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53,0,0,1,193,0,0,97,61,0,0,7,167,10,160,1,151],[0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159,0,0,7,171,10,160,1,199,0,0,0,0,0,169,4,53],[0,0,0,3,8,128,2,16,0,0,0,248,8,128,1,95,0,0,0,0,8,132,1,207,0,0,0,33,9,112,0,57],[0,0,0,0,0,137,4,53,0,0,0,0,8,7,0,25,0,0,12,231,0,0,1,61,0,0,0,31,3,64,1,143],[0,0,0,5,2,64,2,114,0,0,12,158,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16],[0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57],[0,0,0,0,6,37,0,75,0,0,12,151,0,0,65,61,0,0,0,0,5,3,0,75,0,0,12,172,0,0,97,61],[0,0,0,3,3,48,2,16,0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,53,1,207],[0,0,0,0,5,53,2,47,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137],[0,0,0,0,1,49,2,47,0,0,0,0,1,49,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53],[0,0,0,96,1,64,2,16,0,0,30,106,0,1,4,48,0,0,0,56,8,64,0,140,0,0,13,118,0,0,65,61],[0,0,0,32,9,64,2,112,0,0,7,155,8,64,0,156,0,0,0,0,9,4,160,25,0,0,7,155,8,64,0,156],[0,0,0,0,10,0,0,25,0,0,0,4,10,0,32,57,0,0,0,2,8,160,1,191,0,0,255,255,11,144,0,140],[0,0,0,0,8,10,160,25,0,0,0,16,10,144,2,112,0,0,0,0,10,9,160,25,0,0,0,255,9,160,0,140],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,32,57,0,0,7,166,10,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,0,8,152,1,159,0,0,0,64,9,96,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79],[0,0,0,2,9,128,0,58,0,0,0,0,9,150,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59],[0,0,0,0,0,169,4,53,0,0,1,193,0,0,97,61,0,0,7,167,10,160,1,151,0,0,0,248,11,128,2,16],[0,0,0,0,10,171,1,159,0,0,7,171,10,160,1,199,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16],[0,0,0,248,8,128,1,95,0,0,0,0,8,132,1,207,0,0,0,33,9,96,0,57,0,0,0,0,0,137,4,53],[0,0,0,0,8,6,0,25,0,0,13,135,0,0,1,61,0,0,7,166,8,112,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58],[0,0,0,0,8,135,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,10,64,2,16,0,0,7,167,9,144,1,151,0,0,0,0,9,169,1,159],[0,0,7,160,9,144,1,103,0,0,0,0,0,152,4,53,0,0,0,0,8,7,0,25,0,0,0,64,7,0,4,61],[0,0,7,166,9,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63],[0,0,0,0,2,33,3,79,0,0,0,1,12,0,0,58,0,0,0,0,9,199,4,54,0,0,0,0,2,32,3,80],[0,0,0,0,11,2,4,59,0,0,0,0,0,185,4,53,0,0,1,193,0,0,97,61,0,0,7,167,2,176,1,151],[0,0,7,172,10,32,1,199,0,0,0,0,0,169,4,53,0,0,0,0,9,6,4,51,0,0,0,0,9,73,0,25],[0,0,0,0,10,8,4,51,0,0,0,0,9,169,0,25,0,0,0,0,10,7,4,51,0,0,0,0,9,169,0,25],[0,0,0,64,10,0,4,61,0,0,7,159,9,144,1,151,0,0,0,56,13,144,0,140,0,0,14,30,0,0,65,61],[0,0,0,32,13,144,2,112,0,0,7,155,12,144,0,156,0,0,0,0,13,9,160,25,0,0,7,155,12,144,0,156],[0,0,0,0,14,0,0,25,0,0,0,4,14,0,32,57,0,0,0,2,12,224,1,191,0,0,255,255,15,208,0,140],[0,0,0,0,12,14,160,25,0,0,0,16,14,208,2,112,0,0,0,0,14,13,160,25,0,0,0,255,13,224,0,140],[0,0,0,0,13,0,0,25,0,0,0,1,13,0,32,57,0,0,7,166,14,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,0,12,220,1,159,0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57],[0,0,0,0,0,189,4,53,0,0,0,2,11,192,0,58,0,0,0,0,0,186,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,11,192,2,16,0,0,0,0,2,43,1,159,0,0,7,173,2,32,1,199,0,0,0,0,0,45,4,53],[0,0,0,3,2,192,2,16,0,0,0,248,2,32,1,95,0,0,0,0,2,41,1,207,0,0,0,33,9,160,0,57],[0,0,0,0,0,41,4,53,0,0,14,43,0,0,1,61,0,0,0,0,3,1,0,75,0,0,13,194,0,0,193,61],[0,0,0,64,1,0,4,61,0,10,0,0,0,1,0,29,0,0,0,12,1,0,0,41,0,0,1,0,4,16,0,57],[0,0,0,0,1,66,3,79,0,0,0,0,3,1,4,59,0,0,0,128,1,48,0,140,0,0,14,144,0,0,65,61],[0,0,0,128,1,48,2,112,0,0,7,168,5,48,0,156,0,0,0,0,1,3,160,25,0,0,7,168,5,48,0,156],[0,0,0,0,5,0,0,25,0,0,0,16,5,0,32,57,0,0,0,8,6,80,1,191,0,0,7,159,7,16,0,156],[0,0,0,0,6,5,160,25,0,0,0,64,5,16,2,112,0,0,7,159,7,16,0,156,0,0,0,0,5,1,160,25],[0,0,0,4,1,96,1,191,0,0,7,155,7,80,0,156,0,0,0,0,1,6,160,25,0,0,0,32,6,80,2,112],[0,0,7,155,7,80,0,156,0,0,0,0,6,5,160,25,0,0,0,2,5,16,1,191,0,0,255,255,7,96,0,140],[0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25,0,0,0,255,1,16,0,140],[0,0,0,1,5,80,32,57,0,0,0,32,1,0,0,138,0,0,0,65,6,80,0,57,0,0,0,0,1,22,1,111],[0,0,0,10,1,16,0,41,0,0,0,10,6,16,0,108,0,0,0,0,6,0,0,25,0,0,0,1,6,0,64,57],[0,0,7,159,7,16,0,156,0,0,1,89,0,0,33,61,0,0,0,1,6,96,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,0,2,1,80,0,57,0,0,0,10,6,0,0,41,0,0,0,0,6,22,4,54],[0,0,0,0,1,0,0,49,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114,0,0,13,98,0,0,97,61],[0,0,0,0,8,18,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25],[0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57],[0,0,0,0,10,121,0,75,0,0,13,90,0,0,65,61,0,0,0,0,7,0,0,75,0,0,13,100,0,0,97,61],[0,0,0,10,7,0,0,41,0,0,0,0,7,7,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159],[0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137],[0,0,0,0,3,83,1,207,0,0,0,255,5,80,0,140,0,0,0,0,3,0,32,25,0,0,0,10,5,0,0,41],[0,0,0,33,5,80,0,57,0,0,14,164,0,0,1,61,0,0,7,166,8,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,8,96,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58],[0,0,0,0,8,134,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,10,64,2,16,0,0,7,167,9,144,1,151,0,0,0,0,9,169,1,159],[0,0,7,160,9,144,1,103,0,0,0,0,0,152,4,53,0,0,0,0,8,6,0,25,0,0,0,64,6,0,4,61],[0,0,7,166,9,96,0,156,0,0,1,89,0,0,33,61,0,0,0,64,9,96,0,57,0,0,0,64,0,144,4,63],[0,0,0,0,2,33,3,79,0,0,0,1,12,0,0,58,0,0,0,0,9,198,4,54,0,0,0,0,2,32,3,80],[0,0,0,0,11,2,4,59,0,0,0,0,0,185,4,53,0,0,1,193,0,0,97,61,0,0,7,167,2,176,1,151],[0,0,7,172,10,32,1,199,0,0,0,0,0,169,4,53,0,0,0,0,9,7,4,51,0,0,0,0,9,73,0,25],[0,0,0,0,10,8,4,51,0,0,0,0,9,169,0,25,0,0,0,0,10,6,4,51,0,0,0,0,9,169,0,25],[0,0,0,64,10,0,4,61,0,0,7,159,9,144,1,151,0,0,0,56,13,144,0,140,0,0,15,77,0,0,65,61],[0,0,0,32,13,144,2,112,0,0,7,155,12,144,0,156,0,0,0,0,13,9,160,25,0,0,7,155,12,144,0,156],[0,0,0,0,14,0,0,25,0,0,0,4,14,0,32,57,0,0,0,2,12,224,1,191,0,0,255,255,15,208,0,140],[0,0,0,0,12,14,160,25,0,0,0,16,14,208,2,112,0,0,0,0,14,13,160,25,0,0,0,255,13,224,0,140],[0,0,0,0,13,0,0,25,0,0,0,1,13,0,32,57,0,0,7,166,14,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,0,12,220,1,159,0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57],[0,0,0,0,0,189,4,53,0,0,0,2,11,192,0,58,0,0,0,0,0,186,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,11,192,2,16,0,0,0,0,2,43,1,159,0,0,7,173,2,32,1,199,0,0,0,0,0,45,4,53],[0,0,0,3,2,192,2,16,0,0,0,248,2,32,1,95,0,0,0,0,2,41,1,207,0,0,0,33,9,160,0,57],[0,0,0,0,0,41,4,53,0,0,15,90,0,0,1,61,0,0,0,2,2,16,0,140,0,0,14,241,0,0,193,61],[0,0,0,0,1,0,4,21,0,10,0,0,0,1,0,29,0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57],[0,0,7,155,1,0,0,65,0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57,30,104,30,94,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,24,107,0,0,97,61,0,0,0,64,3,0,4,61,0,0,0,0,4,1,4,59],[0,0,0,128,1,64,0,140,0,0,15,208,0,0,65,61,0,0,0,128,1,64,2,112,0,0,7,168,2,64,0,156],[0,0,0,0,1,4,160,25,0,0,7,168,2,64,0,156,0,0,0,0,2,0,0,25,0,0,0,16,2,0,32,57],[0,0,0,8,5,32,1,191,0,0,7,159,6,16,0,156,0,0,0,0,5,2,160,25,0,0,0,64,2,16,2,112],[0,0,7,159,6,16,0,156,0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191,0,0,7,155,6,32,0,156],[0,0,0,0,1,5,160,25,0,0,0,32,6,32,2,112,0,0,7,155,5,32,0,156,0,0,0,0,6,2,160,25],[0,0,0,2,5,16,1,191,0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112],[0,0,0,0,1,6,160,25,0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57,0,0,0,32,1,0,0,138],[0,0,0,65,2,80,0,57,0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25,0,0,0,0,2,49,0,75],[0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,7,159,6,16,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,2,1,80,0,57],[0,0,0,0,6,19,4,54,0,0,0,1,1,0,3,103,0,0,0,0,2,0,0,49,0,0,0,33,7,80,0,57],[0,0,0,5,7,112,2,114,0,0,14,12,0,0,97,61,0,0,0,0,8,33,3,79,0,0,0,0,9,0,0,25],[0,0,0,5,10,144,2,16,0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59],[0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,14,4,0,0,65,61],[0,0,0,0,7,0,0,75,0,0,14,14,0,0,97,61,0,0,0,0,7,3,4,51,0,0,0,0,7,7,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16],[0,0,0,0,7,120,1,159,0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16],[0,0,0,248,5,80,0,137,0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140,0,0,0,0,4,0,32,25],[0,0,0,33,5,48,0,57,0,0,15,227,0,0,1,61,0,0,7,166,13,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,13,160,0,57,0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57,0,0,0,0,0,189,4,53],[0,0,0,0,0,202,4,53,0,0,0,0,11,12,0,75,0,0,1,193,0,0,97,61,0,0,0,248,9,144,2,16],[0,0,0,0,2,41,1,159,0,0,7,172,2,32,0,65,0,0,0,0,0,45,4,53,0,0,0,64,2,0,4,61],[0,0,0,32,9,32,0,57,0,0,7,174,11,0,0,65,0,0,0,0,0,185,4,53,0,0,0,33,11,32,0,57],[0,0,0,0,12,10,4,51,0,0,0,0,13,12,0,75,0,0,14,59,0,0,97,61,0,0,0,0,13,0,0,25],[0,0,0,0,14,189,0,25,0,0,0,32,13,208,0,57,0,0,0,0,15,173,0,25,0,0,0,0,15,15,4,51],[0,0,0,0,0,254,4,53,0,0,0,0,14,205,0,75,0,0,14,52,0,0,65,61,0,0,0,0,10,188,0,25],[0,0,0,0,0,10,4,53,0,0,0,0,11,6,4,51,0,0,0,0,12,11,0,75,0,0,14,72,0,0,97,61],[0,0,0,0,12,0,0,25,0,0,0,0,13,172,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,108,0,25],[0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75,0,0,14,65,0,0,65,61],[0,0,0,0,6,171,0,25,0,0,0,0,0,6,4,53,0,0,0,0,10,8,4,51,0,0,0,0,11,10,0,75],[0,0,14,85,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,0,12,107,0,25,0,0,0,32,11,176,0,57],[0,0,0,0,13,139,0,25,0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53,0,0,0,0,12,171,0,75],[0,0,14,78,0,0,65,61,0,0,0,0,5,81,3,79,0,0,0,0,1,106,0,25,0,0,0,31,6,64,1,143],[0,0,0,0,0,1,4,53,0,0,0,5,8,64,2,114,0,0,14,100,0,0,97,61,0,0,0,0,10,0,0,25],[0,0,0,5,11,160,2,16,0,0,0,0,12,177,0,25,0,0,0,0,11,181,3,79,0,0,0,0,11,11,4,59],[0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75,0,0,14,92,0,0,65,61],[0,0,0,0,10,6,0,75,0,0,14,115,0,0,97,61,0,0,0,5,8,128,2,16,0,0,0,0,5,133,3,79],[0,0,0,0,8,129,0,25,0,0,0,3,6,96,2,16,0,0,0,0,10,8,4,51,0,0,0,0,10,106,1,207],[0,0,0,0,10,106,2,47,0,0,0,0,5,5,4,59,0,0,1,0,6,96,0,137,0,0,0,0,5,101,2,47],[0,0,0,0,5,101,1,207,0,0,0,0,5,165,1,159,0,0,0,0,0,88,4,53,0,0,0,0,1,65,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,4,7,4,51,0,0,0,0,5,4,0,75,0,0,14,128,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,117,0,25],[0,0,0,0,8,8,4,51,0,0,0,0,0,134,4,53,0,0,0,0,6,69,0,75,0,0,14,121,0,0,65,61],[0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,33,0,73,0,0,0,32,4,16,0,138],[0,0,0,0,0,66,4,53,0,0,0,31,1,16,0,57,0,0,0,0,3,49,1,111,0,0,0,0,1,35,0,25],[0,0,0,0,3,49,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,7,159,4,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,3,48,1,144,0,0,15,190,0,0,97,61,0,0,1,89,0,0,1,61],[0,0,0,10,1,0,0,41,0,0,7,166,1,16,0,156,0,0,1,89,0,0,33,61,0,0,0,10,5,0,0,41],[0,0,0,64,1,80,0,57,0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58,0,0,0,0,5,21,4,54],[0,0,0,0,1,0,0,49,0,0,0,0,6,18,3,79,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59],[0,0,0,0,0,101,4,53,0,0,1,193,0,0,97,61,0,0,0,248,7,48,2,16,0,0,7,160,8,0,0,65],[0,0,0,0,3,3,0,75,0,0,0,0,8,7,192,25,0,0,7,167,3,96,1,151,0,0,0,0,3,131,1,159],[0,0,0,0,0,53,4,53,0,0,0,64,3,0,4,61,0,0,0,96,4,64,0,138,0,0,0,0,5,66,3,79],[0,0,0,0,5,5,4,59,0,0,0,128,6,80,0,140,0,0,16,49,0,0,65,61,0,0,0,128,6,80,2,112],[0,0,7,168,7,80,0,156,0,0,0,0,6,5,160,25,0,0,7,168,7,80,0,156,0,0,0,0,7,0,0,25],[0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191,0,0,7,159,9,96,0,156,0,0,0,0,8,7,160,25],[0,0,0,64,7,96,2,112,0,0,7,159,9,96,0,156,0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191],[0,0,7,155,6,112,0,156,0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112,0,0,7,155,6,112,0,156],[0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25],[0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57],[0,0,0,32,7,0,0,138,0,0,0,65,8,96,0,57,0,0,0,0,7,120,1,111,0,0,0,0,7,115,0,25],[0,0,0,0,8,55,0,75,0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,7,159,9,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,8,128,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63],[0,0,0,2,7,96,0,57,0,0,0,0,7,115,4,54,0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114],[0,0,14,223,0,0,97,61,0,0,0,0,9,18,3,79,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16],[0,0,0,0,12,183,0,25,0,0,0,0,11,185,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53],[0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75,0,0,14,215,0,0,65,61,0,0,0,0,8,0,0,75],[0,0,14,225,0,0,97,61,0,0,0,0,8,3,4,51,0,0,0,0,8,8,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,8,7,4,51,0,0,7,167,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159],[0,0,7,169,8,128,0,65,0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137],[0,0,0,0,5,101,1,207,0,0,0,255,6,96,0,140,0,0,0,0,5,0,32,25,0,0,0,33,6,48,0,57],[0,0,16,66,0,0,1,61,0,0,0,1,1,16,0,140,0,0,15,201,0,0,193,61,0,0,0,0,1,0,4,21],[0,10,0,0,0,1,0,29,0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57,0,0,7,155,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,24,107,0,0,97,61,0,0,0,64,3,0,4,61,0,0,0,0,4,1,4,59,0,0,0,128,1,64,0,140],[0,0,16,143,0,0,65,61,0,0,0,128,1,64,2,112,0,0,7,168,2,64,0,156,0,0,0,0,1,4,160,25],[0,0,7,168,2,64,0,156,0,0,0,0,2,0,0,25,0,0,0,16,2,0,32,57,0,0,0,8,5,32,1,191],[0,0,7,159,6,16,0,156,0,0,0,0,5,2,160,25,0,0,0,64,2,16,2,112,0,0,7,159,6,16,0,156],[0,0,0,0,2,1,160,25,0,0,0,4,1,80,1,191,0,0,7,155,6,32,0,156,0,0,0,0,1,5,160,25],[0,0,0,32,6,32,2,112,0,0,7,155,5,32,0,156,0,0,0,0,6,2,160,25,0,0,0,2,5,16,1,191],[0,0,255,255,2,96,0,140,0,0,0,0,5,1,160,25,0,0,0,16,1,96,2,112,0,0,0,0,1,6,160,25],[0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57,0,0,0,32,1,0,0,138,0,0,0,65,2,80,0,57],[0,0,0,0,1,18,1,111,0,0,0,0,1,19,0,25,0,0,0,0,2,49,0,75,0,0,0,0,2,0,0,25],[0,0,0,1,2,0,64,57,0,0,7,159,6,16,0,156,0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63,0,0,0,2,1,80,0,57,0,0,0,0,6,19,4,54],[0,0,0,1,1,0,3,103,0,0,0,0,2,0,0,49,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,15,59,0,0,97,61,0,0,0,0,8,33,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,15,51,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,15,61,0,0,97,61,0,0,0,0,7,3,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159],[0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137],[0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140,0,0,0,0,4,0,32,25,0,0,0,33,5,48,0,57],[0,0,16,162,0,0,1,61,0,0,7,166,13,160,0,156,0,0,1,89,0,0,33,61,0,0,0,64,13,160,0,57],[0,0,0,64,0,208,4,63,0,0,0,32,13,160,0,57,0,0,0,0,0,189,4,53,0,0,0,0,0,202,4,53],[0,0,0,0,11,12,0,75,0,0,1,193,0,0,97,61,0,0,0,248,9,144,2,16,0,0,0,0,2,41,1,159],[0,0,7,172,2,32,0,65,0,0,0,0,0,45,4,53,0,0,0,64,2,0,4,61,0,0,0,32,9,32,0,57],[0,0,7,175,11,0,0,65,0,0,0,0,0,185,4,53,0,0,0,33,11,32,0,57,0,0,0,0,12,10,4,51],[0,0,0,0,13,12,0,75,0,0,15,106,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,0,14,189,0,25],[0,0,0,32,13,208,0,57,0,0,0,0,15,173,0,25,0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53],[0,0,0,0,14,205,0,75,0,0,15,99,0,0,65,61,0,0,0,0,10,188,0,25,0,0,0,0,0,10,4,53],[0,0,0,0,11,7,4,51,0,0,0,0,12,11,0,75,0,0,15,119,0,0,97,61,0,0,0,0,12,0,0,25],[0,0,0,0,13,172,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,124,0,25,0,0,0,0,14,14,4,51],[0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75,0,0,15,112,0,0,65,61,0,0,0,0,7,171,0,25],[0,0,0,0,0,7,4,53,0,0,0,0,10,8,4,51,0,0,0,0,11,10,0,75,0,0,15,132,0,0,97,61],[0,0,0,0,11,0,0,25,0,0,0,0,12,123,0,25,0,0,0,32,11,176,0,57,0,0,0,0,13,139,0,25],[0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53,0,0,0,0,12,171,0,75,0,0,15,125,0,0,65,61],[0,0,0,0,5,81,3,79,0,0,0,0,1,122,0,25,0,0,0,31,7,64,1,143,0,0,0,0,0,1,4,53],[0,0,0,5,8,64,2,114,0,0,15,147,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16],[0,0,0,0,12,177,0,25,0,0,0,0,11,181,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53],[0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75,0,0,15,139,0,0,65,61,0,0,0,0,10,7,0,75],[0,0,15,162,0,0,97,61,0,0,0,5,8,128,2,16,0,0,0,0,5,133,3,79,0,0,0,0,8,129,0,25],[0,0,0,3,7,112,2,16,0,0,0,0,10,8,4,51,0,0,0,0,10,122,1,207,0,0,0,0,10,122,2,47],[0,0,0,0,5,5,4,59,0,0,1,0,7,112,0,137,0,0,0,0,5,117,2,47,0,0,0,0,5,117,1,207],[0,0,0,0,5,165,1,159,0,0,0,0,0,88,4,53,0,0,0,0,1,65,0,25,0,0,0,0,0,1,4,53],[0,0,0,0,4,6,4,51,0,0,0,0,5,4,0,75,0,0,15,175,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,0,7,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,101,0,25,0,0,0,0,8,8,4,51],[0,0,0,0,0,135,4,53,0,0,0,0,7,69,0,75,0,0,15,168,0,0,65,61,0,0,0,0,1,20,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,1,33,0,73,0,0,0,32,4,16,0,138,0,0,0,0,0,66,4,53],[0,0,0,31,1,16,0,57,0,0,0,0,3,49,1,111,0,0,0,0,1,35,0,25,0,0,0,0,3,49,0,75],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57,0,0,7,159,4,16,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,3,48,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63,0,0,7,155,1,0,0,65],[0,0,7,155,3,144,0,156,0,0,0,0,9,1,128,25,0,0,0,64,3,144,2,16,0,0,0,0,2,2,4,51],[0,0,7,155,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,96,2,32,2,16,0,0,0,0,2,50,1,159],[0,0,10,249,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,7,193,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,19,3,0,0,57,0,0,12,95,0,0,1,61],[0,0,7,166,1,48,0,156,0,0,1,89,0,0,33,61,0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63],[0,0,0,1,1,0,0,58,0,0,0,0,5,19,4,54,0,0,0,0,2,0,0,49,0,0,0,1,1,0,3,103],[0,0,0,0,6,33,3,79,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,7,64,2,16,0,0,7,160,8,0,0,65,0,0,0,0,4,4,0,75],[0,0,0,0,8,7,192,25,0,0,7,167,4,96,1,151,0,0,0,0,4,132,1,159,0,0,0,0,0,69,4,53],[0,0,0,64,5,0,4,61,0,0,0,13,4,0,0,41,0,0,1,4,4,64,0,57,0,0,0,0,6,65,3,79],[0,0,0,0,6,6,4,59,0,0,0,128,7,96,0,140,0,0,16,240,0,0,65,61,0,0,0,128,7,96,2,112],[0,0,7,168,8,96,0,156,0,0,0,0,7,6,160,25,0,0,7,168,8,96,0,156,0,0,0,0,8,0,0,25],[0,0,0,16,8,0,32,57,0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25],[0,0,0,64,8,112,2,112,0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191],[0,0,7,155,7,128,0,156,0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156],[0,0,0,0,9,8,160,25,0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25],[0,0,0,16,8,144,2,112,0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57],[0,0,0,32,8,0,0,138,0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,133,0,25],[0,0,0,0,9,88,0,75,0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63],[0,0,0,2,8,112,0,57,0,0,0,0,8,133,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114],[0,0,16,31,0,0,97,61,0,0,0,0,10,33,3,79,0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16],[0,0,0,0,13,200,0,25,0,0,0,0,12,202,3,79,0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53],[0,0,0,1,11,176,0,57,0,0,0,0,12,155,0,75,0,0,16,23,0,0,65,61,0,0,0,0,9,0,0,75],[0,0,16,33,0,0,97,61,0,0,0,0,9,5,4,51,0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,9,8,4,51,0,0,7,167,9,144,1,151,0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159],[0,0,7,169,9,144,0,65,0,0,0,0,0,152,4,53,0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137],[0,0,0,0,6,118,1,207,0,0,0,255,7,112,0,140,0,0,0,0,6,0,32,25,0,0,0,33,7,80,0,57],[0,0,17,1,0,0,1,61,0,0,7,166,6,48,0,156,0,0,1,89,0,0,33,61,0,0,0,64,6,48,0,57],[0,0,0,64,0,96,4,63,0,0,0,0,7,18,3,79,0,0,0,1,6,0,0,58,0,0,0,0,6,99,4,54],[0,0,0,0,7,112,3,80,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,8,80,2,16,0,0,7,160,9,0,0,65,0,0,0,0,5,5,0,75,0,0,0,0,9,8,192,25],[0,0,7,167,5,112,1,151,0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53,0,0,0,64,4,64,0,138],[0,0,0,0,5,66,3,79,0,0,0,64,4,0,4,61,0,0,0,0,5,5,4,59,0,0,0,128,6,80,0,140],[0,0,17,78,0,0,65,61,0,0,0,128,6,80,2,112,0,0,7,168,7,80,0,156,0,0,0,0,6,5,160,25],[0,0,7,168,7,80,0,156,0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191],[0,0,7,159,9,96,0,156,0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112,0,0,7,159,9,96,0,156],[0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191,0,0,7,155,6,112,0,156,0,0,0,0,9,8,160,25],[0,0,0,32,8,112,2,112,0,0,7,155,6,112,0,156,0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191],[0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25],[0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57,0,0,0,32,7,0,0,138,0,0,0,65,8,96,0,57],[0,0,0,0,7,120,1,111,0,0,0,0,7,116,0,25,0,0,0,0,8,71,0,75,0,0,0,0,8,0,0,25],[0,0,0,1,8,0,64,57,0,0,7,159,9,112,0,156,0,0,1,89,0,0,33,61,0,0,0,1,8,128,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57,0,0,0,0,7,116,4,54],[0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114,0,0,16,125,0,0,97,61,0,0,0,0,9,18,3,79],[0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,183,0,25,0,0,0,0,11,185,3,79],[0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75],[0,0,16,117,0,0,65,61,0,0,0,0,8,0,0,75,0,0,16,127,0,0,97,61,0,0,0,0,8,4,4,51],[0,0,0,0,8,8,0,75,0,0,1,193,0,0,97,61,0,0,0,0,8,7,4,51,0,0,7,167,8,128,1,151],[0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159,0,0,7,169,8,128,0,65,0,0,0,0,0,135,4,53],[0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137,0,0,0,0,5,101,1,207,0,0,0,255,6,96,0,140],[0,0,0,0,5,0,32,25,0,0,0,33,6,64,0,57,0,0,17,95,0,0,1,61,0,0,7,166,1,48,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,1,48,0,57,0,0,0,64,0,16,4,63,0,0,0,1,1,0,0,58],[0,0,0,0,5,19,4,54,0,0,0,0,2,0,0,49,0,0,0,1,1,0,3,103,0,0,0,0,6,33,3,79],[0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59,0,0,0,0,0,101,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,7,64,2,16,0,0,7,160,8,0,0,65,0,0,0,0,4,4,0,75,0,0,0,0,8,7,192,25],[0,0,7,167,4,96,1,151,0,0,0,0,4,132,1,159,0,0,0,0,0,69,4,53,0,0,0,64,5,0,4,61],[0,0,0,13,4,0,0,41,0,0,1,4,4,64,0,57,0,0,0,0,6,65,3,79,0,0,0,0,6,6,4,59],[0,0,0,128,7,96,0,140,0,0,17,239,0,0,65,61,0,0,0,128,7,96,2,112,0,0,7,168,8,96,0,156],[0,0,0,0,7,6,160,25,0,0,7,168,8,96,0,156,0,0,0,0,8,0,0,25,0,0,0,16,8,0,32,57],[0,0,0,8,9,128,1,191,0,0,7,159,10,112,0,156,0,0,0,0,9,8,160,25,0,0,0,64,8,112,2,112],[0,0,7,159,10,112,0,156,0,0,0,0,8,7,160,25,0,0,0,4,10,144,1,191,0,0,7,155,7,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,32,9,128,2,112,0,0,7,155,7,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,2,7,160,1,191,0,0,255,255,8,144,0,140,0,0,0,0,7,10,160,25,0,0,0,16,8,144,2,112],[0,0,0,0,8,9,160,25,0,0,0,255,8,128,0,140,0,0,0,1,7,112,32,57,0,0,0,32,8,0,0,138],[0,0,0,65,9,112,0,57,0,0,0,0,8,137,1,111,0,0,0,0,8,133,0,25,0,0,0,0,9,88,0,75],[0,0,0,0,9,0,0,25,0,0,0,1,9,0,64,57,0,0,7,159,10,128,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,9,144,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,128,4,63,0,0,0,2,8,112,0,57],[0,0,0,0,8,133,4,54,0,0,0,33,9,112,0,57,0,0,0,5,9,144,2,114,0,0,16,222,0,0,97,61],[0,0,0,0,10,33,3,79,0,0,0,0,11,0,0,25,0,0,0,5,12,176,2,16,0,0,0,0,13,200,0,25],[0,0,0,0,12,202,3,79,0,0,0,0,12,12,4,59,0,0,0,0,0,205,4,53,0,0,0,1,11,176,0,57],[0,0,0,0,12,155,0,75,0,0,16,214,0,0,65,61,0,0,0,0,9,0,0,75,0,0,16,224,0,0,97,61],[0,0,0,0,9,5,4,51,0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,8,4,51],[0,0,7,167,9,144,1,151,0,0,0,248,10,112,2,16,0,0,0,0,9,154,1,159,0,0,7,169,9,144,0,65],[0,0,0,0,0,152,4,53,0,0,0,3,7,112,2,16,0,0,0,248,7,112,0,137,0,0,0,0,6,118,1,207],[0,0,0,255,7,112,0,140,0,0,0,0,6,0,32,25,0,0,0,33,7,80,0,57,0,0,18,0,0,0,1,61],[0,0,7,166,7,80,0,156,0,0,1,89,0,0,33,61,0,0,0,64,7,80,0,57,0,0,0,64,0,112,4,63],[0,0,0,0,8,33,3,79,0,0,0,1,7,0,0,58,0,0,0,0,7,117,4,54,0,0,0,0,8,128,3,80],[0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,1,193,0,0,97,61,0,0,0,248,9,96,2,16],[0,0,7,160,10,0,0,65,0,0,0,0,6,6,0,75,0,0,0,0,10,9,192,25,0,0,7,167,6,128,1,151],[0,0,0,0,6,166,1,159,0,0,0,0,0,103,4,53,0,0,0,64,6,0,4,61,0,0,0,64,4,64,0,138],[0,0,0,0,7,65,3,79,0,0,0,0,7,7,4,59,0,0,0,128,8,112,0,140,0,0,18,77,0,0,65,61],[0,0,0,128,8,112,2,112,0,0,7,168,9,112,0,156,0,0,0,0,8,7,160,25,0,0,7,168,9,112,0,156],[0,0,0,0,9,0,0,25,0,0,0,16,9,0,32,57,0,0,0,8,10,144,1,191,0,0,7,159,11,128,0,156],[0,0,0,0,10,9,160,25,0,0,0,64,9,128,2,112,0,0,7,159,11,128,0,156,0,0,0,0,9,8,160,25],[0,0,0,4,11,160,1,191,0,0,7,155,8,144,0,156,0,0,0,0,11,10,160,25,0,0,0,32,10,144,2,112],[0,0,7,155,8,144,0,156,0,0,0,0,10,9,160,25,0,0,0,2,8,176,1,191,0,0,255,255,9,160,0,140],[0,0,0,0,8,11,160,25,0,0,0,16,9,160,2,112,0,0,0,0,9,10,160,25,0,0,0,255,9,144,0,140],[0,0,0,1,8,128,32,57,0,0,0,32,9,0,0,138,0,0,0,65,10,128,0,57,0,0,0,0,9,154,1,111],[0,0,0,0,9,150,0,25,0,0,0,0,10,105,0,75,0,0,0,0,10,0,0,25,0,0,0,1,10,0,64,57],[0,0,7,159,11,144,0,156,0,0,1,89,0,0,33,61,0,0,0,1,10,160,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,144,4,63,0,0,0,2,9,128,0,57,0,0,0,0,9,150,4,54,0,0,0,33,10,128,0,57],[0,0,0,5,10,160,2,114,0,0,17,60,0,0,97,61,0,0,0,0,11,33,3,79,0,0,0,0,12,0,0,25],[0,0,0,5,13,192,2,16,0,0,0,0,14,217,0,25,0,0,0,0,13,219,3,79,0,0,0,0,13,13,4,59],[0,0,0,0,0,222,4,53,0,0,0,1,12,192,0,57,0,0,0,0,13,172,0,75,0,0,17,52,0,0,65,61],[0,0,0,0,10,0,0,75,0,0,17,62,0,0,97,61,0,0,0,0,10,6,4,51,0,0,0,0,10,10,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,10,9,4,51,0,0,7,167,10,160,1,151,0,0,0,248,11,128,2,16],[0,0,0,0,10,171,1,159,0,0,7,169,10,160,0,65,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16],[0,0,0,248,8,128,0,137,0,0,0,0,7,135,1,207,0,0,0,255,8,128,0,140,0,0,0,0,7,0,32,25],[0,0,0,33,8,96,0,57,0,0,18,94,0,0,1,61,0,0,7,166,6,64,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,6,64,0,57,0,0,0,64,0,96,4,63,0,0,0,0,7,18,3,79,0,0,0,1,6,0,0,58],[0,0,0,0,6,100,4,54,0,0,0,0,7,112,3,80,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,8,80,2,16,0,0,7,160,9,0,0,65,0,0,0,0,5,5,0,75],[0,0,0,0,9,8,192,25,0,0,7,167,5,112,1,151,0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53],[0,0,0,64,5,0,4,61,0,9,0,0,0,5,0,29,0,0,0,32,5,80,0,57,0,0,0,0,6,3,4,51],[0,0,0,0,7,6,0,75,0,0,17,110,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,0,8,87,0,25],[0,0,0,32,7,112,0,57,0,0,0,0,9,55,0,25,0,0,0,0,9,9,4,51,0,0,0,0,0,152,4,53],[0,0,0,0,8,103,0,75,0,0,17,103,0,0,65,61,0,0,0,0,3,86,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,5,4,4,51,0,0,0,0,6,5,0,75,0,0,17,123,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,0,7,54,0,25,0,0,0,32,6,96,0,57,0,0,0,0,8,70,0,25,0,0,0,0,8,8,4,51],[0,0,0,0,0,135,4,53,0,0,0,0,7,86,0,75,0,0,17,116,0,0,65,61,0,0,0,0,3,53,0,25],[0,0,0,0,0,3,4,53,0,0,0,9,5,0,0,41,0,0,0,0,3,83,0,73,0,0,0,32,4,48,0,138],[0,0,0,0,0,69,4,53,0,0,0,31,3,48,0,57,0,7,0,32,0,0,0,146,0,0,0,7,3,48,1,127],[0,0,0,0,4,83,0,25,0,0,0,0,3,52,0,75,0,0,0,0,3,0,0,25,0,0,0,1,3,0,64,57],[0,8,0,0,0,4,0,29,0,0,7,159,4,64,0,156,0,0,1,89,0,0,33,61,0,0,0,1,3,48,1,144],[0,0,1,89,0,0,193,61,0,0,0,8,3,0,0,41,0,0,0,64,0,48,4,63,0,0,7,166,3,48,0,156],[0,0,1,89,0,0,33,61,0,0,0,13,6,0,0,41,0,0,0,68,3,96,0,57,0,0,0,0,3,50,3,79],[0,0,0,0,3,3,4,59,0,0,0,8,7,0,0,41,0,0,0,64,4,112,0,57,0,0,0,64,0,64,4,63],[0,0,0,32,4,112,0,57,0,0,7,170,5,0,0,65,0,0,0,0,0,84,4,53,0,0,0,21,4,0,0,57],[0,0,0,0,0,71,4,53,0,0,0,96,3,48,2,16,0,0,0,33,4,112,0,57,0,0,0,0,0,52,4,53],[0,0,1,36,3,96,0,57,0,0,0,0,4,50,3,79,0,0,0,64,5,0,4,61,0,6,0,0,0,5,0,29],[0,0,0,0,4,4,4,59,0,0,0,128,5,64,0,140,0,0,19,9,0,0,65,61,0,0,0,128,5,64,2,112],[0,0,7,168,6,64,0,156,0,0,0,0,5,4,160,25,0,0,7,168,6,64,0,156,0,0,0,0,6,0,0,25],[0,0,0,16,6,0,32,57,0,0,0,8,7,96,1,191,0,0,7,159,8,80,0,156,0,0,0,0,7,6,160,25],[0,0,0,64,6,80,2,112,0,0,7,159,8,80,0,156,0,0,0,0,6,5,160,25,0,0,0,4,8,112,1,191],[0,0,7,155,5,96,0,156,0,0,0,0,8,7,160,25,0,0,0,32,7,96,2,112,0,0,7,155,5,96,0,156],[0,0,0,0,7,6,160,25,0,0,0,2,5,128,1,191,0,0,255,255,6,112,0,140,0,0,0,0,5,8,160,25],[0,0,0,16,6,112,2,112,0,0,0,0,6,7,160,25,0,0,0,255,6,96,0,140,0,0,0,1,5,80,32,57],[0,0,0,65,6,80,0,57,0,0,0,7,6,96,1,127,0,0,0,6,6,96,0,41,0,0,0,6,7,96,0,108],[0,0,0,0,7,0,0,25,0,0,0,1,7,0,64,57,0,0,7,159,8,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,7,112,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,96,4,63,0,0,0,2,6,80,0,57],[0,0,0,6,7,0,0,41,0,0,0,0,6,103,4,54,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,17,219,0,0,97,61,0,0,0,0,8,18,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,17,211,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,17,221,0,0,97,61,0,0,0,6,7,0,0,41,0,0,0,0,7,7,4,51,0,0,0,0,7,7,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16],[0,0,0,0,7,120,1,159,0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16],[0,0,0,248,5,80,0,137,0,0,0,0,4,84,1,207,0,0,0,255,5,80,0,140,0,0,0,0,4,0,32,25],[0,0,0,6,5,0,0,41,0,0,0,33,5,80,0,57,0,0,19,28,0,0,1,61,0,0,7,166,7,80,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,7,80,0,57,0,0,0,64,0,112,4,63,0,0,0,0,8,33,3,79],[0,0,0,1,7,0,0,58,0,0,0,0,7,117,4,54,0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59],[0,0,0,0,0,135,4,53,0,0,1,193,0,0,97,61,0,0,0,248,9,96,2,16,0,0,7,160,10,0,0,65],[0,0,0,0,6,6,0,75,0,0,0,0,10,9,192,25,0,0,7,167,6,128,1,151,0,0,0,0,6,166,1,159],[0,0,0,0,0,103,4,53,0,0,0,64,6,0,4,61,0,0,0,96,4,64,0,138,0,0,0,0,7,65,3,79],[0,0,0,0,7,7,4,59,0,0,0,128,8,112,0,140,0,0,18,171,0,0,65,61,0,0,0,128,8,112,2,112],[0,0,7,168,9,112,0,156,0,0,0,0,8,7,160,25,0,0,7,168,9,112,0,156,0,0,0,0,9,0,0,25],[0,0,0,16,9,0,32,57,0,0,0,8,10,144,1,191,0,0,7,159,11,128,0,156,0,0,0,0,10,9,160,25],[0,0,0,64,9,128,2,112,0,0,7,159,11,128,0,156,0,0,0,0,9,8,160,25,0,0,0,4,11,160,1,191],[0,0,7,155,8,144,0,156,0,0,0,0,11,10,160,25,0,0,0,32,10,144,2,112,0,0,7,155,8,144,0,156],[0,0,0,0,10,9,160,25,0,0,0,2,8,176,1,191,0,0,255,255,9,160,0,140,0,0,0,0,8,11,160,25],[0,0,0,16,9,160,2,112,0,0,0,0,9,10,160,25,0,0,0,255,9,144,0,140,0,0,0,1,8,128,32,57],[0,0,0,32,9,0,0,138,0,0,0,65,10,128,0,57,0,0,0,0,9,154,1,111,0,0,0,0,9,150,0,25],[0,0,0,0,10,105,0,75,0,0,0,0,10,0,0,25,0,0,0,1,10,0,64,57,0,0,7,159,11,144,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,10,160,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,144,4,63],[0,0,0,2,9,128,0,57,0,0,0,0,9,150,4,54,0,0,0,33,10,128,0,57,0,0,0,5,10,160,2,114],[0,0,18,59,0,0,97,61,0,0,0,0,11,33,3,79,0,0,0,0,12,0,0,25,0,0,0,5,13,192,2,16],[0,0,0,0,14,217,0,25,0,0,0,0,13,219,3,79,0,0,0,0,13,13,4,59,0,0,0,0,0,222,4,53],[0,0,0,1,12,192,0,57,0,0,0,0,13,172,0,75,0,0,18,51,0,0,65,61,0,0,0,0,10,0,0,75],[0,0,18,61,0,0,97,61,0,0,0,0,10,6,4,51,0,0,0,0,10,10,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,10,9,4,51,0,0,7,167,10,160,1,151,0,0,0,248,11,128,2,16,0,0,0,0,10,171,1,159],[0,0,7,169,10,160,0,65,0,0,0,0,0,169,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,0,137],[0,0,0,0,7,135,1,207,0,0,0,255,8,128,0,140,0,0,0,0,7,0,32,25,0,0,0,33,8,96,0,57],[0,0,18,188,0,0,1,61,0,0,7,166,8,96,0,156,0,0,1,89,0,0,33,61,0,0,0,64,8,96,0,57],[0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,134,4,54],[0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59,0,0,0,0,0,152,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,10,112,2,16,0,0,7,160,11,0,0,65,0,0,0,0,7,7,0,75,0,0,0,0,11,10,192,25],[0,0,7,167,7,144,1,151,0,0,0,0,7,183,1,159,0,0,0,0,0,120,4,53,0,0,0,64,7,0,4,61],[0,0,0,32,4,64,0,138,0,0,0,0,8,65,3,79,0,0,0,0,8,8,4,59,0,0,0,128,9,128,0,140],[0,0,19,99,0,0,65,61,0,0,0,128,9,128,2,112,0,0,7,168,10,128,0,156,0,0,0,0,9,8,160,25],[0,0,7,168,10,128,0,156,0,0,0,0,10,0,0,25,0,0,0,16,10,0,32,57,0,0,0,8,11,160,1,191],[0,0,7,159,12,144,0,156,0,0,0,0,11,10,160,25,0,0,0,64,10,144,2,112,0,0,7,159,12,144,0,156],[0,0,0,0,10,9,160,25,0,0,0,4,12,176,1,191,0,0,7,155,9,160,0,156,0,0,0,0,12,11,160,25],[0,0,0,32,11,160,2,112,0,0,7,155,9,160,0,156,0,0,0,0,11,10,160,25,0,0,0,2,9,192,1,191],[0,0,255,255,10,176,0,140,0,0,0,0,9,12,160,25,0,0,0,16,10,176,2,112,0,0,0,0,10,11,160,25],[0,0,0,255,10,160,0,140,0,0,0,1,9,144,32,57,0,0,0,32,10,0,0,138,0,0,0,65,11,144,0,57],[0,0,0,0,10,171,1,111,0,0,0,0,10,167,0,25,0,0,0,0,11,122,0,75,0,0,0,0,11,0,0,25],[0,0,0,1,11,0,64,57,0,0,7,159,12,160,0,156,0,0,1,89,0,0,33,61,0,0,0,1,11,176,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,160,4,63,0,0,0,2,10,144,0,57,0,0,0,0,10,167,4,54],[0,0,0,33,11,144,0,57,0,0,0,5,11,176,2,114,0,0,18,153,0,0,97,61,0,0,0,0,12,33,3,79],[0,0,0,0,13,0,0,25,0,0,0,5,14,208,2,16,0,0,0,0,15,234,0,25,0,0,0,0,14,236,3,79],[0,0,0,0,14,14,4,59,0,0,0,0,0,239,4,53,0,0,0,1,13,208,0,57,0,0,0,0,14,189,0,75],[0,0,18,145,0,0,65,61,0,0,0,0,11,0,0,75,0,0,18,155,0,0,97,61,0,0,0,0,11,7,4,51],[0,0,0,0,11,11,0,75,0,0,1,193,0,0,97,61,0,0,0,0,11,10,4,51,0,0,7,167,11,176,1,151],[0,0,0,248,12,144,2,16,0,0,0,0,11,188,1,159,0,0,7,169,11,176,0,65,0,0,0,0,0,186,4,53],[0,0,0,3,9,144,2,16,0,0,0,248,9,144,0,137,0,0,0,0,8,152,1,207,0,0,0,255,9,144,0,140],[0,0,0,0,8,0,32,25,0,0,0,33,9,112,0,57,0,0,19,116,0,0,1,61,0,0,7,166,8,96,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,8,96,0,57,0,0,0,64,0,128,4,63,0,0,0,0,9,33,3,79],[0,0,0,1,8,0,0,58,0,0,0,0,8,134,4,54,0,0,0,0,9,144,3,80,0,0,0,0,9,9,4,59],[0,0,0,0,0,152,4,53,0,0,1,193,0,0,97,61,0,0,0,248,10,112,2,16,0,0,7,160,11,0,0,65],[0,0,0,0,7,7,0,75,0,0,0,0,11,10,192,25,0,0,7,167,7,144,1,151,0,0,0,0,7,183,1,159],[0,0,0,0,0,120,4,53,0,0,0,64,7,0,4,61,0,0,0,64,4,64,0,138,0,0,0,0,8,65,3,79],[0,0,0,0,8,8,4,59,0,0,0,128,9,128,0,140,0,0,19,194,0,0,65,61,0,0,0,128,9,128,2,112],[0,0,7,168,10,128,0,156,0,0,0,0,9,8,160,25,0,0,7,168,10,128,0,156,0,0,0,0,10,0,0,25],[0,0,0,16,10,0,32,57,0,0,0,8,11,160,1,191,0,0,7,159,12,144,0,156,0,0,0,0,11,10,160,25],[0,0,0,64,10,144,2,112,0,0,7,159,12,144,0,156,0,0,0,0,10,9,160,25,0,0,0,4,12,176,1,191],[0,0,7,155,9,160,0,156,0,0,0,0,12,11,160,25,0,0,0,32,11,160,2,112,0,0,7,155,9,160,0,156],[0,0,0,0,11,10,160,25,0,0,0,2,9,192,1,191,0,0,255,255,10,176,0,140,0,0,0,0,9,12,160,25],[0,0,0,16,10,176,2,112,0,0,0,0,10,11,160,25,0,0,0,255,10,160,0,140,0,0,0,1,9,144,32,57],[0,0,0,32,10,0,0,138,0,0,0,65,11,144,0,57,0,0,0,0,10,171,1,111,0,0,0,0,10,167,0,25],[0,0,0,0,11,122,0,75,0,0,0,0,11,0,0,25,0,0,0,1,11,0,64,57,0,0,7,159,12,160,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,11,176,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,160,4,63],[0,0,0,2,10,144,0,57,0,0,0,0,10,167,4,54,0,0,0,33,11,144,0,57,0,0,0,5,11,176,2,114],[0,0,18,247,0,0,97,61,0,0,0,0,12,33,3,79,0,0,0,0,13,0,0,25,0,0,0,5,14,208,2,16],[0,0,0,0,15,234,0,25,0,0,0,0,14,236,3,79,0,0,0,0,14,14,4,59,0,0,0,0,0,239,4,53],[0,0,0,1,13,208,0,57,0,0,0,0,14,189,0,75,0,0,18,239,0,0,65,61,0,0,0,0,11,0,0,75],[0,0,18,249,0,0,97,61,0,0,0,0,11,7,4,51,0,0,0,0,11,11,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,11,10,4,51,0,0,7,167,11,176,1,151,0,0,0,248,12,144,2,16,0,0,0,0,11,188,1,159],[0,0,7,169,11,176,0,65,0,0,0,0,0,186,4,53,0,0,0,3,9,144,2,16,0,0,0,248,9,144,0,137],[0,0,0,0,8,152,1,207,0,0,0,255,9,144,0,140,0,0,0,0,8,0,32,25,0,0,0,33,9,112,0,57],[0,0,19,211,0,0,1,61,0,0,0,6,5,0,0,41,0,0,7,166,5,80,0,156,0,0,1,89,0,0,33,61],[0,0,0,6,7,0,0,41,0,0,0,64,5,112,0,57,0,0,0,64,0,80,4,63,0,0,0,0,6,18,3,79],[0,0,0,1,5,0,0,58,0,0,0,0,5,87,4,54,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59],[0,0,0,0,0,101,4,53,0,0,1,193,0,0,97,61,0,0,0,248,7,64,2,16,0,0,7,160,8,0,0,65],[0,0,0,0,4,4,0,75,0,0,0,0,8,7,192,25,0,0,7,167,4,96,1,151,0,0,0,0,4,132,1,159],[0,0,0,0,0,69,4,53,0,0,0,12,10,0,0,41,0,0,0,0,6,161,0,73,0,0,0,160,4,48,0,57],[0,0,0,0,3,66,3,79,0,0,0,0,5,3,4,59,0,0,0,31,3,96,0,138,0,0,7,160,6,48,1,151],[0,0,7,160,7,80,1,151,0,0,7,160,8,0,0,65,0,0,0,0,9,103,0,75,0,0,0,0,9,0,0,25],[0,0,0,0,9,8,64,25,0,0,0,0,6,103,1,63,0,0,0,0,7,53,0,75,0,0,0,0,8,0,64,25],[0,0,7,160,6,96,0,156,0,0,0,0,9,8,192,25,0,0,0,0,6,9,0,75,0,0,0,159,0,0,193,61],[0,0,0,0,6,165,0,25,0,0,0,0,5,98,3,79,0,0,0,0,5,5,4,59,0,0,7,159,7,80,0,156],[0,0,0,159,0,0,33,61,0,0,0,0,7,81,0,73,0,0,0,32,6,96,0,57,0,0,7,160,8,0,0,65],[0,0,0,0,9,118,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,8,32,25,0,0,7,160,7,112,1,151],[0,0,7,160,10,96,1,151,0,0,0,0,11,122,0,75,0,0,0,0,8,0,128,25,0,0,0,0,7,122,1,63],[0,0,7,160,7,112,0,156,0,0,0,0,8,9,192,25,0,0,0,0,7,8,0,75,0,0,0,159,0,0,193,61],[0,0,0,1,7,80,0,140,0,0,21,96,0,0,193,61,0,0,0,0,5,98,3,79,0,0,0,0,5,5,4,59],[0,0,0,1,6,0,0,138,0,0,7,160,7,0,0,65,0,0,0,0,6,101,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,7,32,25,0,0,7,160,5,80,1,151,0,0,7,160,8,80,0,156,0,0,0,0,7,0,128,25],[0,0,7,160,5,80,1,103,0,0,7,160,5,80,0,156,0,0,0,0,7,6,192,25,0,5,0,96,0,0,0,61],[0,0,0,0,5,7,0,75,0,0,22,99,0,0,193,61,0,0,0,64,5,0,4,61,0,5,0,0,0,5,0,29],[0,0,7,166,5,80,0,156,0,0,1,89,0,0,33,61,0,0,0,5,7,0,0,41,0,0,0,64,5,112,0,57],[0,0,0,64,0,80,4,63,0,0,0,32,5,112,0,57,0,0,7,169,6,0,0,65,0,0,0,0,0,101,4,53],[0,0,0,1,5,0,0,57,0,0,0,0,0,87,4,53,0,0,22,99,0,0,1,61,0,0,7,166,9,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79],[0,0,0,1,9,0,0,58,0,0,0,0,9,151,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59],[0,0,0,0,0,169,4,53,0,0,1,193,0,0,97,61,0,0,0,248,11,128,2,16,0,0,7,160,12,0,0,65],[0,0,0,0,8,8,0,75,0,0,0,0,12,11,192,25,0,0,7,167,8,160,1,151,0,0,0,0,8,200,1,159],[0,0,0,0,0,137,4,53,0,0,0,64,8,0,4,61,0,9,0,64,0,64,0,146,0,0,0,9,9,16,3,96],[0,0,0,0,9,9,4,59,0,0,0,128,10,144,0,140,0,0,20,51,0,0,65,61,0,0,0,128,10,144,2,112],[0,0,7,168,11,144,0,156,0,0,0,0,10,9,160,25,0,0,7,168,11,144,0,156,0,0,0,0,11,0,0,25],[0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,7,159,13,160,0,156,0,0,0,0,12,11,160,25],[0,0,0,64,11,160,2,112,0,0,7,159,13,160,0,156,0,0,0,0,11,10,160,25,0,0,0,4,13,192,1,191],[0,0,7,155,10,176,0,156,0,0,0,0,13,12,160,25,0,0,0,32,12,176,2,112,0,0,7,155,10,176,0,156],[0,0,0,0,12,11,160,25,0,0,0,2,10,208,1,191,0,0,255,255,11,192,0,140,0,0,0,0,10,13,160,25],[0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140,0,0,0,1,10,160,32,57],[0,0,0,32,11,0,0,138,0,0,0,65,12,160,0,57,0,0,0,0,11,188,1,111,0,0,0,0,11,184,0,25],[0,0,0,0,12,139,0,75,0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57,0,0,7,159,13,176,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,12,192,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,176,4,63],[0,0,0,2,11,160,0,57,0,0,0,0,11,184,4,54,0,0,0,33,12,160,0,57,0,0,0,5,12,192,2,114],[0,0,19,175,0,0,97,61,0,0,0,0,13,33,3,79,0,0,0,0,14,0,0,25,0,0,0,5,15,224,2,16],[0,0,0,0,4,251,0,25,0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59,0,0,0,0,0,244,4,53],[0,0,0,1,14,224,0,57,0,0,0,0,4,206,0,75,0,0,19,167,0,0,65,61,0,0,0,0,4,0,0,75],[0,0,19,177,0,0,97,61,0,0,0,0,4,8,4,51,0,0,0,0,4,4,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,4,11,4,51,0,0,7,167,4,64,1,151,0,0,0,248,12,160,2,16,0,0,0,0,4,76,1,159],[0,0,7,169,4,64,0,65,0,0,0,0,0,75,4,53,0,0,0,3,4,160,2,16,0,0,0,248,4,64,0,137],[0,0,0,0,9,73,1,207,0,0,0,255,4,64,0,140,0,0,0,0,9,0,32,25,0,0,0,33,4,128,0,57],[0,0,0,0,0,148,4,53,0,0,20,69,0,0,1,61,0,0,7,166,9,112,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,9,112,0,57,0,0,0,64,0,144,4,63,0,0,0,0,10,33,3,79,0,0,0,1,9,0,0,58],[0,0,0,0,9,151,4,54,0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,169,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,11,128,2,16,0,0,7,160,12,0,0,65,0,0,0,0,8,8,0,75],[0,0,0,0,12,11,192,25,0,0,7,167,8,160,1,151,0,0,0,0,8,200,1,159,0,0,0,0,0,137,4,53],[0,0,0,64,9,0,4,61,0,0,7,166,8,144,0,156,0,0,1,89,0,0,33,61,0,0,0,32,8,64,0,138],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,64,10,144,0,57,0,0,0,64,0,160,4,63],[0,0,0,32,10,144,0,57,0,0,7,170,11,0,0,65,0,0,0,0,0,186,4,53,0,0,0,21,10,0,0,57],[0,0,0,0,0,169,4,53,0,0,0,96,8,128,2,16,0,0,0,33,10,144,0,57,0,0,0,0,0,138,4,53],[0,0,0,192,4,64,0,57,0,0,0,0,4,65,3,79,0,0,0,64,8,0,4,61,0,0,0,0,4,4,4,59],[0,9,0,0,0,4,0,29,0,0,0,128,10,64,0,140,0,0,20,168,0,0,65,61,0,0,0,9,4,0,0,41],[0,0,0,128,10,64,2,112,0,0,7,168,11,64,0,156,0,0,0,0,10,4,160,25,0,0,7,168,11,64,0,156],[0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,7,159,13,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112,0,0,7,159,13,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,4,13,192,1,191,0,0,7,155,10,176,0,156,0,0,0,0,13,12,160,25,0,0,0,32,12,176,2,112],[0,0,7,155,10,176,0,156,0,0,0,0,12,11,160,25,0,0,0,2,10,208,1,191,0,0,255,255,11,192,0,140],[0,0,0,0,10,13,160,25,0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140],[0,0,0,1,10,160,32,57,0,0,0,32,11,0,0,138,0,0,0,65,12,160,0,57,0,0,0,0,11,188,1,111],[0,0,0,0,11,184,0,25,0,0,0,0,12,139,0,75,0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57],[0,0,7,159,13,176,0,156,0,0,1,89,0,0,33,61,0,0,0,1,12,192,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,176,4,63,0,0,0,2,11,160,0,57,0,0,0,0,11,184,4,54,0,0,0,33,12,160,0,57],[0,0,0,5,12,192,2,114,0,0,20,32,0,0,97,61,0,0,0,0,13,33,3,79,0,0,0,0,14,0,0,25],[0,0,0,5,15,224,2,16,0,0,0,0,4,251,0,25,0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59],[0,0,0,0,0,244,4,53,0,0,0,1,14,224,0,57,0,0,0,0,4,206,0,75,0,0,20,24,0,0,65,61],[0,0,0,0,4,0,0,75,0,0,20,34,0,0,97,61,0,0,0,0,4,8,4,51,0,0,0,0,4,4,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,4,11,4,51,0,0,7,167,4,64,1,151,0,0,0,248,12,160,2,16],[0,0,0,0,4,76,1,159,0,0,7,169,4,64,0,65,0,0,0,0,0,75,4,53,0,0,0,3,4,160,2,16],[0,0,0,248,4,64,0,137,0,0,0,9,10,64,1,239,0,0,0,255,4,64,0,140,0,0,0,0,10,0,32,25],[0,0,0,33,4,128,0,57,0,0,0,0,0,164,4,53,0,0,20,187,0,0,1,61,0,0,7,166,4,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,4,128,0,57,0,0,0,64,0,64,4,63,0,0,0,0,4,33,3,79],[0,0,0,1,10,0,0,58,0,0,0,0,10,168,4,54,0,0,0,0,4,64,3,80,0,0,0,0,11,4,4,59],[0,0,0,0,0,186,4,53,0,0,1,193,0,0,97,61,0,0,0,248,4,144,2,16,0,0,7,160,12,0,0,65],[0,0,0,0,9,9,0,75,0,0,0,0,12,4,192,25,0,0,7,167,4,176,1,151,0,0,0,0,4,196,1,159],[0,0,0,0,0,74,4,53,0,0,0,64,10,0,4,61,0,0,7,166,4,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,9,12,0,0,41,0,0,0,32,4,192,0,138,0,0,0,0,4,65,3,79,0,0,0,0,4,4,4,59],[0,0,0,64,9,160,0,57,0,0,0,64,0,144,4,63,0,0,0,32,9,160,0,57,0,0,7,170,11,0,0,65],[0,0,0,0,0,185,4,53,0,0,0,21,9,0,0,57,0,0,0,0,0,154,4,53,0,0,0,96,4,64,2,16],[0,0,0,33,9,160,0,57,0,0,0,0,0,73,4,53,0,0,0,192,4,192,0,57,0,0,0,0,4,65,3,79],[0,0,0,64,9,0,4,61,0,0,0,0,4,4,4,59,0,9,0,0,0,4,0,29,0,0,0,128,11,64,0,140],[0,0,21,140,0,0,65,61,0,0,0,9,4,0,0,41,0,0,0,128,11,64,2,112,0,0,7,168,12,64,0,156],[0,0,0,0,11,4,160,25,0,0,7,168,12,64,0,156,0,0,0,0,12,0,0,25,0,0,0,16,12,0,32,57],[0,0,0,8,13,192,1,191,0,0,7,159,14,176,0,156,0,0,0,0,13,12,160,25,0,0,0,64,12,176,2,112],[0,0,7,159,14,176,0,156,0,0,0,0,12,11,160,25,0,0,0,4,14,208,1,191,0,0,7,155,11,192,0,156],[0,0,0,0,14,13,160,25,0,0,0,32,13,192,2,112,0,0,7,155,11,192,0,156,0,0,0,0,13,12,160,25],[0,0,0,2,4,224,1,191,0,0,255,255,12,208,0,140,0,0,0,0,4,14,160,25,0,0,0,16,12,208,2,112],[0,0,0,0,12,13,160,25,0,0,0,255,12,192,0,140,0,0,0,1,4,64,32,57,0,0,0,32,12,0,0,138],[0,8,0,0,0,4,0,29,0,0,0,65,13,64,0,57,0,0,0,0,12,205,1,111,0,0,0,0,12,201,0,25],[0,0,0,0,13,156,0,75,0,0,0,0,13,0,0,25,0,0,0,1,13,0,64,57,0,0,7,159,14,192,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,13,208,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,192,4,63],[0,0,0,8,4,0,0,41,0,0,0,2,12,64,0,57,0,0,0,0,12,201,4,54,0,0,0,33,13,64,0,57],[0,0,0,5,13,208,2,114,0,0,20,148,0,0,97,61,0,0,0,0,14,33,3,79,0,0,0,0,15,0,0,25],[0,0,0,5,4,240,2,16,0,0,0,0,11,76,0,25,0,0,0,0,4,78,3,79,0,0,0,0,4,4,4,59],[0,0,0,0,0,75,4,53,0,0,0,1,15,240,0,57,0,0,0,0,4,223,0,75,0,0,20,140,0,0,65,61],[0,0,0,0,4,0,0,75,0,0,20,150,0,0,97,61,0,0,0,0,4,9,4,51,0,0,0,0,4,4,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,4,12,4,51,0,0,7,167,4,64,1,151,0,0,0,8,13,0,0,41],[0,0,0,248,11,208,2,16,0,0,0,0,4,75,1,159,0,0,7,169,4,64,0,65,0,0,0,0,0,76,4,53],[0,0,0,3,4,208,2,16,0,0,0,248,4,64,0,137,0,0,0,9,11,64,1,239,0,0,0,255,4,64,0,140],[0,0,0,0,11,0,32,25,0,0,0,33,4,144,0,57,0,0,0,0,0,180,4,53,0,0,21,159,0,0,1,61],[0,0,7,166,4,128,0,156,0,0,1,89,0,0,33,61,0,0,0,64,4,128,0,57,0,0,0,64,0,64,4,63],[0,0,0,0,4,33,3,79,0,0,0,1,10,0,0,58,0,0,0,0,10,168,4,54,0,0,0,0,4,64,3,80],[0,0,0,0,11,4,4,59,0,0,0,0,0,186,4,53,0,0,1,193,0,0,97,61,0,0,0,9,13,0,0,41],[0,0,0,248,4,208,2,16,0,0,7,160,12,0,0,65,0,0,0,0,13,13,0,75,0,0,0,0,12,4,192,25],[0,0,7,167,4,176,1,151,0,0,0,0,4,196,1,159,0,0,0,0,0,74,4,53,0,0,0,64,4,0,4,61],[0,0,0,32,10,64,0,57,0,0,0,0,11,3,4,51,0,0,0,0,12,11,0,75,0,0,20,200,0,0,97,61],[0,0,0,0,12,0,0,25,0,0,0,0,13,172,0,25,0,0,0,32,12,192,0,57,0,0,0,0,14,60,0,25],[0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75,0,0,20,193,0,0,65,61],[0,0,0,0,3,171,0,25,0,0,0,0,0,3,4,53,0,0,0,0,10,5,4,51,0,0,0,0,11,10,0,75],[0,0,20,213,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,0,12,59,0,25,0,0,0,32,11,176,0,57],[0,0,0,0,13,91,0,25,0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53,0,0,0,0,12,171,0,75],[0,0,20,206,0,0,65,61,0,0,0,0,3,58,0,25,0,0,0,0,0,3,4,53,0,0,0,0,5,6,4,51],[0,0,0,0,10,5,0,75,0,0,20,226,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,0,11,58,0,25],[0,0,0,32,10,160,0,57,0,0,0,0,12,106,0,25,0,0,0,0,12,12,4,51,0,0,0,0,0,203,4,53],[0,0,0,0,11,90,0,75,0,0,20,219,0,0,65,61,0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,5,7,4,51,0,0,0,0,6,5,0,75,0,0,20,239,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,0,10,54,0,25,0,0,0,32,6,96,0,57,0,0,0,0,11,118,0,25,0,0,0,0,11,11,4,51],[0,0,0,0,0,186,4,53,0,0,0,0,10,86,0,75,0,0,20,232,0,0,65,61,0,0,0,0,3,53,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,5,9,4,51,0,0,0,0,6,5,0,75,0,0,20,252,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,0,7,54,0,25,0,0,0,32,6,96,0,57,0,0,0,0,10,150,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,167,4,53,0,0,0,0,7,86,0,75,0,0,20,245,0,0,65,61],[0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53,0,0,0,0,5,8,4,51,0,0,0,0,6,5,0,75],[0,0,21,9,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,7,54,0,25,0,0,0,32,6,96,0,57],[0,0,0,0,9,134,0,25,0,0,0,0,9,9,4,51,0,0,0,0,0,151,4,53,0,0,0,0,7,86,0,75],[0,0,21,2,0,0,65,61,0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53,0,0,0,0,3,67,0,73],[0,0,0,32,5,48,0,138,0,0,0,0,0,84,4,53,0,0,0,31,5,48,0,57,0,0,0,32,3,0,0,138],[0,0,0,0,5,53,1,111,0,0,0,0,7,69,0,25,0,0,0,0,5,87,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,7,159,6,112,0,156,0,0,1,89,0,0,33,61,0,0,0,1,5,80,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,12,13,0,0,41,0,0,0,0,6,210,0,73],[0,0,0,13,5,0,0,41,0,0,1,196,12,80,0,57,0,0,0,0,5,193,3,79,0,0,0,0,5,5,4,59],[0,0,0,31,9,96,0,138,0,0,7,160,6,144,1,151,0,0,7,160,8,80,1,151,0,0,7,160,10,0,0,65],[0,0,0,0,11,104,0,75,0,0,0,0,11,0,0,25,0,0,0,0,11,10,64,25,0,0,0,0,6,104,1,63],[0,0,0,0,8,149,0,75,0,0,0,0,10,0,64,25,0,0,7,160,6,96,0,156,0,0,0,0,11,10,192,25],[0,0,0,0,6,11,0,75,0,0,0,159,0,0,193,61,0,0,0,0,6,213,0,25,0,0,0,0,5,97,3,79],[0,0,0,0,5,5,4,59,0,0,7,159,8,80,0,156,0,0,0,159,0,0,33,61,0,0,0,0,8,82,0,73],[0,0,0,32,6,96,0,57,0,0,7,160,10,0,0,65,0,0,0,0,11,134,0,75,0,0,0,0,11,0,0,25],[0,0,0,0,11,10,32,25,0,0,7,160,8,128,1,151,0,13,0,0,0,6,0,29,0,0,7,160,13,96,1,151],[0,0,0,0,14,141,0,75,0,0,0,0,10,0,128,25,0,0,0,0,8,141,1,63,0,0,7,160,8,128,0,156],[0,0,0,0,10,11,192,25,0,0,0,0,8,10,0,75,0,0,0,159,0,0,193,61,0,0,0,1,8,80,0,140],[0,0,23,61,0,0,193,61,0,0,0,13,8,16,3,96,0,0,0,0,8,8,4,59,0,0,0,1,10,0,0,138],[0,0,7,160,11,0,0,65,0,0,0,0,10,168,0,75,0,0,0,0,10,0,0,25,0,0,0,0,10,11,32,25],[0,0,7,160,8,128,1,151,0,0,7,160,13,128,0,156,0,0,0,0,11,0,128,25,0,0,7,160,8,128,1,103],[0,0,7,160,8,128,0,156,0,0,0,0,11,10,192,25,0,0,0,96,8,0,0,57,0,0,0,0,10,11,0,75],[0,0,23,158,0,0,193,61,0,0,7,166,8,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,8,112,0,57],[0,0,0,64,0,128,4,63,0,0,0,32,8,112,0,57,0,0,7,169,10,0,0,65,0,0,0,0,0,168,4,53],[0,0,0,1,8,0,0,57,0,0,0,0,0,135,4,53,0,0,0,0,8,7,0,25,0,0,23,158,0,0,1,61],[0,0,0,64,6,0,4,61,0,5,0,0,0,6,0,29,0,0,0,56,6,80,0,140,0,0,22,81,0,0,65,61],[0,0,0,32,7,80,2,112,0,0,7,155,6,80,0,156,0,0,0,0,7,5,160,25,0,0,7,155,6,80,0,156],[0,0,0,0,8,0,0,25,0,0,0,4,8,0,32,57,0,0,0,2,6,128,1,191,0,0,255,255,9,112,0,140],[0,0,0,0,6,8,160,25,0,0,0,16,8,112,2,112,0,0,0,0,8,7,160,25,0,0,0,255,7,128,0,140],[0,0,0,0,7,0,0,25,0,0,0,1,7,0,32,57,0,0,0,5,8,0,0,41,0,0,7,166,8,128,0,156],[0,0,1,89,0,0,33,61,0,0,0,0,6,118,1,159,0,0,0,5,9,0,0,41,0,0,0,64,7,144,0,57],[0,0,0,64,0,112,4,63,0,0,0,0,8,18,3,79,0,0,0,2,7,96,0,58,0,0,0,0,7,121,4,54],[0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59,0,0,0,0,0,135,4,53,0,0,1,193,0,0,97,61],[0,0,7,167,8,128,1,151,0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159,0,0,7,171,8,128,1,199],[0,0,0,0,0,135,4,53,0,0,0,3,6,96,2,16,0,0,0,248,6,96,1,95,0,0,0,0,5,101,1,207],[0,0,0,5,6,0,0,41,0,0,0,33,6,96,0,57,0,0,0,0,0,86,4,53,0,0,22,99,0,0,1,61],[0,0,7,166,4,144,0,156,0,0,1,89,0,0,33,61,0,0,0,64,4,144,0,57,0,0,0,64,0,64,4,63],[0,0,0,0,4,33,3,79,0,0,0,1,11,0,0,58,0,0,0,0,11,185,4,54,0,0,0,0,4,64,3,80],[0,0,0,0,12,4,4,59,0,0,0,0,0,203,4,53,0,0,1,193,0,0,97,61,0,0,0,9,14,0,0,41],[0,0,0,248,4,224,2,16,0,0,7,160,13,0,0,65,0,0,0,0,14,14,0,75,0,0,0,0,13,4,192,25],[0,0,7,167,4,192,1,151,0,0,0,0,4,212,1,159,0,0,0,0,0,75,4,53,0,0,0,64,4,0,4,61],[0,0,0,32,11,64,0,57,0,0,0,0,12,3,4,51,0,0,0,0,13,12,0,75,0,0,21,172,0,0,97,61],[0,0,0,0,13,0,0,25,0,0,0,0,14,189,0,25,0,0,0,32,13,208,0,57,0,0,0,0,15,61,0,25],[0,0,0,0,15,15,4,51,0,0,0,0,0,254,4,53,0,0,0,0,14,205,0,75,0,0,21,165,0,0,65,61],[0,0,0,0,3,188,0,25,0,0,0,0,0,3,4,53,0,0,0,0,11,5,4,51,0,0,0,0,12,11,0,75],[0,0,21,185,0,0,97,61,0,0,0,0,12,0,0,25,0,0,0,0,13,60,0,25,0,0,0,32,12,192,0,57],[0,0,0,0,14,92,0,25,0,0,0,0,14,14,4,51,0,0,0,0,0,237,4,53,0,0,0,0,13,188,0,75],[0,0,21,178,0,0,65,61,0,0,0,0,3,59,0,25,0,0,0,0,0,3,4,53,0,0,0,0,5,6,4,51],[0,0,0,0,11,5,0,75,0,0,21,198,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,0,12,59,0,25],[0,0,0,32,11,176,0,57,0,0,0,0,13,107,0,25,0,0,0,0,13,13,4,51,0,0,0,0,0,220,4,53],[0,0,0,0,12,91,0,75,0,0,21,191,0,0,65,61,0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,5,7,4,51,0,0,0,0,6,5,0,75,0,0,21,211,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,0,11,54,0,25,0,0,0,32,6,96,0,57,0,0,0,0,12,118,0,25,0,0,0,0,12,12,4,51],[0,0,0,0,0,203,4,53,0,0,0,0,11,86,0,75,0,0,21,204,0,0,65,61,0,0,0,0,3,53,0,25],[0,0,0,0,0,3,4,53,0,0,0,0,5,8,4,51,0,0,0,0,6,5,0,75,0,0,21,224,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,0,7,54,0,25,0,0,0,32,6,96,0,57,0,0,0,0,11,134,0,25],[0,0,0,0,11,11,4,51,0,0,0,0,0,183,4,53,0,0,0,0,7,86,0,75,0,0,21,217,0,0,65,61],[0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53,0,0,0,0,5,10,4,51,0,0,0,0,6,5,0,75],[0,0,21,237,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,7,54,0,25,0,0,0,32,6,96,0,57],[0,0,0,0,8,166,0,25,0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53,0,0,0,0,7,86,0,75],[0,0,21,230,0,0,65,61,0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53,0,0,0,0,5,9,4,51],[0,0,0,0,6,5,0,75,0,0,21,250,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,7,54,0,25],[0,0,0,32,6,96,0,57,0,0,0,0,8,150,0,25,0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53],[0,0,0,0,7,86,0,75,0,0,21,243,0,0,65,61,0,0,0,0,3,53,0,25,0,0,0,0,0,3,4,53],[0,0,0,0,3,67,0,73,0,0,0,32,5,48,0,138,0,0,0,0,0,84,4,53,0,0,0,31,5,48,0,57],[0,0,0,32,3,0,0,138,0,0,0,0,5,53,1,111,0,0,0,0,7,69,0,25,0,0,0,0,5,87,0,75],[0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,7,159,6,112,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,5,80,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63,0,0,0,12,13,0,0,41],[0,0,0,0,6,210,0,73,0,0,0,13,5,0,0,41,0,0,1,196,12,80,0,57,0,0,0,0,5,193,3,79],[0,0,0,0,5,5,4,59,0,0,0,31,9,96,0,138,0,0,7,160,6,144,1,151,0,0,7,160,8,80,1,151],[0,0,7,160,10,0,0,65,0,0,0,0,11,104,0,75,0,0,0,0,11,0,0,25,0,0,0,0,11,10,64,25],[0,0,0,0,6,104,1,63,0,0,0,0,8,149,0,75,0,0,0,0,10,0,64,25,0,0,7,160,6,96,0,156],[0,0,0,0,11,10,192,25,0,0,0,0,6,11,0,75,0,0,0,159,0,0,193,61,0,0,0,0,6,213,0,25],[0,0,0,0,5,97,3,79,0,0,0,0,5,5,4,59,0,0,7,159,8,80,0,156,0,0,0,159,0,0,33,61],[0,0,0,0,8,82,0,73,0,0,0,32,6,96,0,57,0,0,7,160,10,0,0,65,0,0,0,0,11,134,0,75],[0,0,0,0,11,0,0,25,0,0,0,0,11,10,32,25,0,0,7,160,8,128,1,151,0,13,0,0,0,6,0,29],[0,0,7,160,13,96,1,151,0,0,0,0,14,141,0,75,0,0,0,0,10,0,128,25,0,0,0,0,8,141,1,63],[0,0,7,160,8,128,0,156,0,0,0,0,10,11,192,25,0,0,0,0,8,10,0,75,0,0,0,159,0,0,193,61],[0,0,0,1,8,80,0,140,0,0,23,101,0,0,193,61,0,0,0,13,8,16,3,96,0,0,0,0,8,8,4,59],[0,0,0,1,10,0,0,138,0,0,7,160,11,0,0,65,0,0,0,0,10,168,0,75,0,0,0,0,10,0,0,25],[0,0,0,0,10,11,32,25,0,0,7,160,8,128,1,151,0,0,7,160,13,128,0,156,0,0,0,0,11,0,128,25],[0,0,7,160,8,128,1,103,0,0,7,160,8,128,0,156,0,0,0,0,11,10,192,25,0,0,0,96,8,0,0,57],[0,0,0,0,10,11,0,75,0,0,24,125,0,0,193,61,0,0,7,166,8,112,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63,0,0,0,32,8,112,0,57,0,0,7,169,10,0,0,65],[0,0,0,0,0,168,4,53,0,0,0,1,8,0,0,57,0,0,0,0,0,135,4,53,0,0,0,0,8,7,0,25],[0,0,24,125,0,0,1,61,0,0,0,5,6,0,0,41,0,0,7,166,6,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,5,8,0,0,41,0,0,0,64,6,128,0,57,0,0,0,64,0,96,4,63,0,0,0,0,7,18,3,79],[0,0,0,1,6,0,0,58,0,0,0,0,6,104,4,54,0,0,0,0,7,112,3,80,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,1,193,0,0,97,61,0,0,0,248,5,80,2,16,0,0,7,167,7,112,1,151],[0,0,0,0,5,87,1,159,0,0,7,160,5,80,1,103,0,0,0,0,0,86,4,53,0,0,0,32,4,64,0,57],[0,0,0,0,4,66,3,79,0,0,0,0,4,4,4,59,0,0,7,160,5,0,0,65,0,0,0,0,6,52,0,75],[0,0,0,0,6,0,0,25,0,0,0,0,6,5,128,25,0,0,7,160,3,48,1,151,0,0,7,160,7,64,1,151],[0,0,0,0,8,55,0,75,0,0,0,0,5,0,128,25,0,0,0,0,3,55,1,63,0,0,7,160,3,48,0,156],[0,0,0,0,5,6,192,25,0,0,0,0,3,5,0,75,0,0,0,12,3,0,0,41,0,0,0,159,0,0,193,61],[0,0,0,0,4,52,0,25,0,0,0,0,3,66,3,79,0,0,0,0,3,3,4,59,0,0,7,159,5,48,0,156],[0,0,0,159,0,0,33,61,0,0,0,32,5,48,0,140,0,0,0,159,0,0,65,61,0,0,0,0,5,49,0,73],[0,0,0,32,4,64,0,57,0,0,7,160,6,0,0,65,0,0,0,0,7,84,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,6,32,25,0,0,7,160,5,80,1,151,0,0,7,160,8,64,1,151,0,0,0,0,9,88,0,75],[0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156,0,0,0,0,6,7,192,25],[0,0,0,0,5,6,0,75,0,0,0,159,0,0,193,61,0,0,0,0,5,66,3,79,0,0,0,64,6,0,4,61],[0,4,0,0,0,6,0,29,0,0,0,0,5,5,4,59,0,0,0,128,6,80,0,140,0,0,22,216,0,0,65,61],[0,0,0,128,6,80,2,112,0,0,7,168,7,80,0,156,0,0,0,0,6,5,160,25,0,0,7,168,7,80,0,156],[0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191,0,0,7,159,9,96,0,156],[0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112,0,0,7,159,9,96,0,156,0,0,0,0,7,6,160,25],[0,0,0,4,9,128,1,191,0,0,7,155,6,112,0,156,0,0,0,0,9,8,160,25,0,0,0,32,8,112,2,112],[0,0,7,155,6,112,0,156,0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191,0,0,255,255,7,128,0,140],[0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25,0,0,0,255,7,112,0,140],[0,0,0,1,6,96,32,57,0,0,0,65,7,96,0,57,0,0,0,7,7,112,1,127,0,0,0,4,7,112,0,41],[0,0,0,4,8,112,0,108,0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57,0,0,7,159,9,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,8,128,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,112,4,63],[0,0,0,2,7,96,0,57,0,0,0,4,8,0,0,41,0,0,0,0,7,120,4,54,0,0,0,33,8,96,0,57],[0,0,0,5,8,128,2,114,0,0,22,196,0,0,97,61,0,0,0,0,9,18,3,79,0,0,0,0,10,0,0,25],[0,0,0,5,11,160,2,16,0,0,0,0,12,183,0,25,0,0,0,0,11,185,3,79,0,0,0,0,11,11,4,59],[0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57,0,0,0,0,11,138,0,75,0,0,22,188,0,0,65,61],[0,0,0,0,8,0,0,75,0,0,22,198,0,0,97,61,0,0,0,4,8,0,0,41,0,0,0,0,8,8,4,51],[0,0,0,0,8,8,0,75,0,0,1,193,0,0,97,61,0,0,0,0,8,7,4,51,0,0,7,167,8,128,1,151],[0,0,0,248,9,96,2,16,0,0,0,0,8,137,1,159,0,0,7,169,8,128,0,65,0,0,0,0,0,135,4,53],[0,0,0,3,6,96,2,16,0,0,0,248,6,96,0,137,0,0,0,0,5,101,1,207,0,0,0,255,6,96,0,140],[0,0,0,0,5,0,32,25,0,0,0,4,6,0,0,41,0,0,0,33,6,96,0,57,0,0,22,235,0,0,1,61],[0,0,0,4,6,0,0,41,0,0,7,166,6,96,0,156,0,0,1,89,0,0,33,61,0,0,0,4,8,0,0,41],[0,0,0,64,6,128,0,57,0,0,0,64,0,96,4,63,0,0,0,0,7,18,3,79,0,0,0,1,6,0,0,58],[0,0,0,0,6,104,4,54,0,0,0,0,7,112,3,80,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,1,193,0,0,97,61,0,0,0,248,8,80,2,16,0,0,7,160,9,0,0,65,0,0,0,0,5,5,0,75],[0,0,0,0,9,8,192,25,0,0,7,167,5,112,1,151,0,0,0,0,5,149,1,159,0,0,0,0,0,86,4,53],[0,0,0,64,5,48,0,140,0,0,0,159,0,0,65,61,0,0,0,64,5,0,4,61,0,3,0,0,0,5,0,29],[0,0,0,32,4,64,0,57,0,0,0,0,5,66,3,79,0,0,0,0,5,5,4,59,0,0,0,128,6,80,0,140],[0,0,24,41,0,0,65,61,0,0,0,128,6,80,2,112,0,0,7,168,7,80,0,156,0,0,0,0,6,5,160,25],[0,0,7,168,7,80,0,156,0,0,0,0,7,0,0,25,0,0,0,16,7,0,32,57,0,0,0,8,8,112,1,191],[0,0,7,159,9,96,0,156,0,0,0,0,8,7,160,25,0,0,0,64,7,96,2,112,0,0,7,159,9,96,0,156],[0,0,0,0,7,6,160,25,0,0,0,4,9,128,1,191,0,0,7,155,6,112,0,156,0,0,0,0,9,8,160,25],[0,0,0,32,8,112,2,112,0,0,7,155,6,112,0,156,0,0,0,0,8,7,160,25,0,0,0,2,6,144,1,191],[0,0,255,255,7,128,0,140,0,0,0,0,6,9,160,25,0,0,0,16,7,128,2,112,0,0,0,0,7,8,160,25],[0,0,0,255,7,112,0,140,0,0,0,1,6,96,32,57,0,0,0,65,7,96,0,57,0,0,0,7,7,112,1,127],[0,0,0,3,7,112,0,41,0,0,0,3,8,112,0,108,0,0,0,0,8,0,0,25,0,0,0,1,8,0,64,57],[0,0,7,159,9,112,0,156,0,0,1,89,0,0,33,61,0,0,0,1,8,128,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,112,4,63,0,0,0,2,7,96,0,57,0,0,0,3,8,0,0,41,0,0,0,0,7,120,4,54],[0,0,0,33,8,96,0,57,0,0,0,5,8,128,2,114,0,0,23,41,0,0,97,61,0,0,0,0,1,18,3,79],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,167,0,25,0,0,0,0,10,161,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,137,0,75],[0,0,23,33,0,0,65,61,0,0,0,0,1,0,0,75,0,0,23,43,0,0,97,61,0,0,0,3,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,0,1,1,0,75,0,0,1,193,0,0,97,61,0,0,0,0,1,7,4,51],[0,0,7,167,1,16,1,151,0,0,0,248,8,96,2,16,0,0,0,0,1,24,1,159,0,0,7,169,1,16,0,65],[0,0,0,0,0,23,4,53,0,0,0,3,1,96,2,16,0,0,0,248,1,16,0,137,0,0,0,0,5,21,1,207],[0,0,0,255,1,16,0,140,0,0,0,0,5,0,32,25,0,0,0,3,1,0,0,41,0,0,0,33,1,16,0,57],[0,0,24,60,0,0,1,61,0,0,0,56,8,80,0,140,0,0,23,141,0,0,65,61,0,0,0,32,10,80,2,112],[0,0,7,155,8,80,0,156,0,0,0,0,10,5,160,25,0,0,7,155,8,80,0,156,0,0,0,0,11,0,0,25],[0,0,0,4,11,0,32,57,0,0,0,2,8,176,1,191,0,0,255,255,13,160,0,140,0,0,0,0,8,11,160,25],[0,0,0,16,11,160,2,112,0,0,0,0,11,10,160,25,0,0,0,255,10,176,0,140,0,0,0,0,10,0,0,25],[0,0,0,1,10,0,32,57,0,0,7,166,11,112,0,156,0,0,1,89,0,0,33,61,0,0,0,0,8,168,1,159],[0,0,0,64,10,112,0,57,0,0,0,64,0,160,4,63,0,0,0,0,11,33,3,79,0,0,0,2,10,128,0,58],[0,0,0,0,10,167,4,54,0,0,0,0,11,176,3,80,0,0,0,0,11,11,4,59,0,0,0,0,0,186,4,53],[0,0,1,193,0,0,97,61,0,0,7,167,11,176,1,151,0,0,0,248,13,128,2,16,0,0,0,0,11,189,1,159],[0,0,7,171,11,176,1,199,0,0,0,0,0,186,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,1,95],[0,0,0,0,8,133,1,207,0,0,0,33,10,112,0,57,0,0,0,0,0,138,4,53,0,0,0,0,8,7,0,25],[0,0,23,158,0,0,1,61,0,0,0,56,8,80,0,140,0,0,24,108,0,0,65,61,0,0,0,32,10,80,2,112],[0,0,7,155,8,80,0,156,0,0,0,0,10,5,160,25,0,0,7,155,8,80,0,156,0,0,0,0,11,0,0,25],[0,0,0,4,11,0,32,57,0,0,0,2,8,176,1,191,0,0,255,255,13,160,0,140,0,0,0,0,8,11,160,25],[0,0,0,16,11,160,2,112,0,0,0,0,11,10,160,25,0,0,0,255,10,176,0,140,0,0,0,0,10,0,0,25],[0,0,0,1,10,0,32,57,0,0,7,166,11,112,0,156,0,0,1,89,0,0,33,61,0,0,0,0,8,168,1,159],[0,0,0,64,10,112,0,57,0,0,0,64,0,160,4,63,0,0,0,0,11,33,3,79,0,0,0,2,10,128,0,58],[0,0,0,0,10,167,4,54,0,0,0,0,11,176,3,80,0,0,0,0,11,11,4,59,0,0,0,0,0,186,4,53],[0,0,1,193,0,0,97,61,0,0,7,167,11,176,1,151,0,0,0,248,13,128,2,16,0,0,0,0,11,189,1,159],[0,0,7,171,11,176,1,199,0,0,0,0,0,186,4,53,0,0,0,3,8,128,2,16,0,0,0,248,8,128,1,95],[0,0,0,0,8,133,1,207,0,0,0,33,10,112,0,57,0,0,0,0,0,138,4,53,0,0,0,0,8,7,0,25],[0,0,24,125,0,0,1,61,0,0,7,166,8,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,8,112,0,57],[0,0,0,64,0,128,4,63,0,0,0,0,10,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,135,4,54],[0,0,0,0,10,160,3,80,0,0,0,0,10,10,4,59,0,0,0,0,0,168,4,53,0,0,1,193,0,0,97,61],[0,0,0,248,11,80,2,16,0,0,7,167,10,160,1,151,0,0,0,0,10,186,1,159,0,0,7,160,10,160,1,103],[0,0,0,0,0,168,4,53,0,0,0,0,8,7,0,25,0,0,0,64,7,0,4,61,0,0,7,166,10,112,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,10,112,0,57,0,0,0,64,0,160,4,63,0,0,0,0,13,33,3,79],[0,0,0,1,6,0,0,58,0,7,0,0,0,6,0,29,0,0,0,0,15,103,4,54,0,0,0,0,6,208,3,80],[0,8,0,0,0,6,3,83,0,0,0,0,6,6,4,59,0,9,0,0,0,6,0,29,0,0,0,0,0,111,4,53],[0,0,1,193,0,0,97,61,0,0,0,9,6,0,0,41,0,0,7,167,6,96,1,151,0,6,0,0,0,6,0,29],[0,0,7,172,11,96,1,199,0,0,0,0,0,191,4,53,0,0,0,32,11,192,0,57,0,0,0,0,11,177,3,79],[0,0,0,0,12,11,4,59,0,0,7,160,11,0,0,65,0,0,0,0,15,156,0,75,0,0,0,0,15,0,0,25],[0,0,0,0,15,11,128,25,0,0,7,160,9,144,1,151,0,0,7,160,14,192,1,151,0,0,0,0,10,158,0,75],[0,0,0,0,11,0,128,25,0,0,0,0,9,158,1,63,0,0,7,160,9,144,0,156,0,0,0,0,11,15,192,25],[0,0,0,0,9,11,0,75,0,0,0,12,6,0,0,41,0,0,0,159,0,0,193,61,0,0,0,0,9,108,0,25],[0,0,0,0,10,145,3,79,0,0,0,0,6,10,4,59,0,12,0,0,0,6,0,29,0,0,7,159,10,96,0,156],[0,0,0,159,0,0,33,61,0,0,0,12,6,0,0,41,0,0,0,32,10,96,0,140,0,0,0,159,0,0,65,61],[0,0,0,12,2,32,0,106,0,0,0,32,6,144,0,57,0,0,7,160,9,0,0,65,0,0,0,0,10,38,0,75],[0,0,0,0,10,0,0,25,0,0,0,0,10,9,32,25,0,0,7,160,2,32,1,151,0,4,0,0,0,6,0,29],[0,0,7,160,11,96,1,151,0,0,0,0,12,43,0,75,0,0,0,0,9,0,128,25,0,0,0,0,2,43,1,63],[0,0,7,160,2,32,0,156,0,0,0,0,9,10,192,25,0,0,0,0,2,9,0,75,0,0,0,159,0,0,193,61],[0,0,0,4,9,16,3,96,0,0,0,64,2,0,4,61,0,0,0,0,6,9,4,59,0,5,0,0,0,6,0,29],[0,0,0,128,10,96,0,140,0,0,0,32,15,32,0,57,0,0,25,8,0,0,65,61,0,0,0,5,6,0,0,41],[0,0,0,128,10,96,2,112,0,0,7,168,11,96,0,156,0,0,0,0,10,6,160,25,0,0,7,168,11,96,0,156],[0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,7,159,14,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112,0,0,7,159,14,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,4,14,192,1,191,0,0,7,155,10,176,0,156,0,0,0,0,14,12,160,25,0,0,0,32,12,176,2,112],[0,0,7,155,10,176,0,156,0,0,0,0,12,11,160,25,0,0,0,2,10,224,1,191,0,0,255,255,11,192,0,140],[0,0,0,0,10,14,160,25,0,0,0,16,11,192,2,112,0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140],[0,0,0,1,10,160,32,57,0,0,0,65,11,160,0,57,0,0,0,0,11,59,1,111,0,0,0,0,12,178,0,25],[0,0,0,0,11,44,0,75,0,0,0,0,14,0,0,25,0,0,0,1,14,0,64,57,0,0,7,159,11,192,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,11,224,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,192,4,63],[0,0,0,2,11,160,0,57,0,0,0,0,0,178,4,53,0,0,0,33,11,160,0,57,0,0,0,5,14,176,2,114],[0,0,24,22,0,0,97,61,0,0,0,0,12,0,0,25,0,0,0,5,11,192,2,16,0,0,0,0,9,191,0,25],[0,0,0,0,11,189,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,185,4,53,0,0,0,1,12,192,0,57],[0,0,0,0,9,236,0,75,0,0,24,14,0,0,65,61,0,0,0,0,6,0,0,75,0,0,24,24,0,0,97,61],[0,0,0,0,9,2,4,51,0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,15,4,51],[0,0,7,167,9,144,1,151,0,0,0,248,11,160,2,16,0,0,0,0,9,155,1,159,0,0,7,169,9,144,0,65],[0,0,0,0,0,159,4,53,0,0,0,3,9,160,2,16,0,0,0,248,9,144,0,137,0,0,0,5,10,144,1,239],[0,0,0,255,9,144,0,140,0,0,0,0,10,0,32,25,0,0,0,33,9,32,0,57,0,0,0,0,0,169,4,53],[0,0,25,25,0,0,1,61,0,0,0,3,6,0,0,41,0,0,7,166,6,96,0,156,0,0,1,89,0,0,33,61],[0,0,0,3,7,0,0,41,0,0,0,64,6,112,0,57,0,0,0,64,0,96,4,63,0,0,0,0,6,18,3,79],[0,0,0,1,1,0,0,58,0,0,0,0,1,23,4,54,0,0,0,0,6,96,3,80,0,0,0,0,6,6,4,59],[0,0,0,0,0,97,4,53,0,0,1,193,0,0,97,61,0,0,0,248,7,80,2,16,0,0,7,160,8,0,0,65],[0,0,0,0,5,5,0,75,0,0,0,0,8,7,192,25,0,0,7,167,5,96,1,151,0,0,0,0,5,133,1,159],[0,0,0,0,0,81,4,53,0,0,0,65,1,48,0,140,0,0,1,193,0,0,65,61,0,0,0,32,1,64,0,57],[0,0,0,0,1,18,3,79,0,0,0,0,1,1,4,59,0,0,0,248,1,16,2,112,0,2,0,0,0,1,0,29],[0,0,0,27,1,16,0,138,0,0,0,2,1,16,0,140,0,0,29,6,0,0,129,61,0,0,0,13,1,0,0,41],[0,1,1,68,0,16,0,61,0,0,0,1,1,32,3,96,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,26,146,0,0,97,61,0,0,7,164,1,0,0,65,0,0,0,0,0,16,4,57,0,0,7,155,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,7,155,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,7,165,1,16,1,199,0,0,128,11,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,24,107,0,0,97,61,0,0,0,0,2,1,4,59,0,0,0,1,1,32,2,16,0,0,0,0,3,2,0,75],[0,0,24,99,0,0,97,61,0,0,0,9,3,0,0,138,0,0,0,0,3,49,0,75,0,0,24,103,0,0,33,61],[0,0,0,0,50,33,0,217,0,0,0,2,2,32,0,140,0,0,24,103,0,0,193,61,0,0,0,2,1,16,0,41],[0,0,0,8,3,16,0,57,0,0,0,2,1,48,0,108,0,0,25,110,0,0,129,61,0,0,7,195,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,1,196,0,0,1,61,0,0,0,0,0,1,4,47],[0,0,7,166,8,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,8,112,0,57,0,0,0,64,0,128,4,63],[0,0,0,0,10,33,3,79,0,0,0,1,8,0,0,58,0,0,0,0,8,135,4,54,0,0,0,0,10,160,3,80],[0,0,0,0,10,10,4,59,0,0,0,0,0,168,4,53,0,0,1,193,0,0,97,61,0,0,0,248,11,80,2,16],[0,0,7,167,10,160,1,151,0,0,0,0,10,186,1,159,0,0,7,160,10,160,1,103,0,0,0,0,0,168,4,53],[0,0,0,0,8,7,0,25,0,0,0,64,7,0,4,61,0,0,7,166,10,112,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,10,112,0,57,0,0,0,64,0,160,4,63,0,0,0,0,13,33,3,79,0,0,0,1,6,0,0,58],[0,9,0,0,0,6,0,29,0,0,0,0,10,103,4,54,0,0,0,0,6,208,3,80,0,7,0,0,0,6,3,83],[0,0,0,0,6,6,4,59,0,8,0,0,0,6,0,29,0,0,0,0,0,106,4,53,0,0,1,193,0,0,97,61],[0,0,0,8,6,0,0,41,0,0,7,167,6,96,1,151,0,5,0,0,0,6,0,29,0,0,7,172,15,96,1,199],[0,0,0,0,0,250,4,53,0,0,0,32,10,192,0,57,0,0,0,0,10,161,3,79,0,0,0,0,10,10,4,59],[0,0,7,160,12,0,0,65,0,0,0,0,15,154,0,75,0,0,0,0,15,0,0,25,0,0,0,0,15,12,128,25],[0,0,7,160,9,144,1,151,0,0,7,160,14,160,1,151,0,0,0,0,11,158,0,75,0,0,0,0,12,0,128,25],[0,0,0,0,9,158,1,63,0,0,7,160,9,144,0,156,0,0,0,0,12,15,192,25,0,0,0,0,9,12,0,75],[0,0,0,12,6,0,0,41,0,0,0,159,0,0,193,61,0,0,0,0,9,106,0,25,0,0,0,0,10,145,3,79],[0,0,0,0,6,10,4,59,0,12,0,0,0,6,0,29,0,0,7,159,10,96,0,156,0,0,0,159,0,0,33,61],[0,0,0,12,6,0,0,41,0,0,0,32,10,96,0,140,0,0,0,159,0,0,65,61,0,0,0,12,2,32,0,106],[0,0,0,32,6,144,0,57,0,0,7,160,9,0,0,65,0,0,0,0,10,38,0,75,0,0,0,0,10,0,0,25],[0,0,0,0,10,9,32,25,0,0,7,160,2,32,1,151,0,4,0,0,0,6,0,29,0,0,7,160,11,96,1,151],[0,0,0,0,14,43,0,75,0,0,0,0,9,0,128,25,0,0,0,0,2,43,1,63,0,0,7,160,2,32,0,156],[0,0,0,0,9,10,192,25,0,0,0,0,2,9,0,75,0,0,0,159,0,0,193,61,0,0,0,4,9,16,3,96],[0,0,0,64,2,0,4,61,0,0,0,0,6,9,4,59,0,6,0,0,0,6,0,29,0,0,0,128,10,96,0,140],[0,0,0,32,15,32,0,57,0,0,25,186,0,0,65,61,0,0,0,6,6,0,0,41,0,0,0,128,10,96,2,112],[0,0,7,168,11,96,0,156,0,0,0,0,10,6,160,25,0,0,7,168,11,96,0,156,0,0,0,0,11,0,0,25],[0,0,0,16,11,0,32,57,0,0,0,8,14,176,1,191,0,0,7,159,12,160,0,156,0,0,0,0,14,11,160,25],[0,0,0,64,11,160,2,112,0,0,7,159,12,160,0,156,0,0,0,0,11,10,160,25,0,0,0,4,10,224,1,191],[0,0,7,155,12,176,0,156,0,0,0,0,10,14,160,25,0,0,0,32,12,176,2,112,0,0,7,155,14,176,0,156],[0,0,0,0,12,11,160,25,0,0,0,2,11,160,1,191,0,0,255,255,14,192,0,140,0,0,0,0,11,10,160,25],[0,0,0,16,10,192,2,112,0,0,0,0,10,12,160,25,0,0,0,255,10,160,0,140,0,0,0,1,11,176,32,57],[0,0,0,65,10,176,0,57,0,0,0,0,10,58,1,111,0,0,0,0,10,162,0,25,0,0,0,0,12,42,0,75],[0,0,0,0,14,0,0,25,0,0,0,1,14,0,64,57,0,0,7,159,12,160,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,12,224,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,160,4,63,0,0,0,2,10,176,0,57],[0,0,0,0,0,162,4,53,0,0,0,33,10,176,0,57,0,0,0,5,10,160,2,114,0,0,24,245,0,0,97,61],[0,0,0,0,14,0,0,25,0,0,0,5,12,224,2,16,0,0,0,0,9,207,0,25,0,0,0,0,12,205,3,79],[0,0,0,0,12,12,4,59,0,0,0,0,0,201,4,53,0,0,0,1,14,224,0,57,0,0,0,0,9,174,0,75],[0,0,24,237,0,0,65,61,0,0,0,0,6,0,0,75,0,0,24,247,0,0,97,61,0,0,0,0,9,2,4,51],[0,0,0,0,9,9,0,75,0,0,1,193,0,0,97,61,0,0,0,0,9,15,4,51,0,0,7,167,9,144,1,151],[0,0,0,248,10,176,2,16,0,0,0,0,9,154,1,159,0,0,7,169,9,144,0,65,0,0,0,0,0,159,4,53],[0,0,0,3,9,176,2,16,0,0,0,248,9,144,0,137,0,0,0,6,10,144,1,239,0,0,0,255,9,144,0,140],[0,0,0,0,10,0,32,25,0,0,0,33,9,32,0,57,0,0,0,0,0,169,4,53,0,0,25,203,0,0,1,61],[0,0,7,166,9,32,0,156,0,0,1,89,0,0,33,61,0,0,0,64,9,32,0,57,0,0,0,64,0,144,4,63],[0,0,0,9,6,0,0,41,0,0,0,0,0,111,4,53,0,0,0,7,6,0,0,41,0,0,0,0,0,98,4,53],[0,0,0,0,9,6,0,75,0,0,1,193,0,0,97,61,0,0,0,5,6,0,0,41,0,0,0,248,9,96,2,16],[0,0,7,160,10,0,0,65,0,0,0,0,11,6,0,75,0,0,0,0,10,9,192,25,0,0,0,6,9,160,1,175],[0,0,0,0,0,159,4,53,0,0,0,12,6,0,0,41,0,0,0,64,9,96,0,140,0,0,0,159,0,0,65,61],[0,0,0,64,9,0,4,61,0,0,0,4,6,0,0,41,0,5,0,32,0,96,0,61,0,0,0,5,10,16,3,96],[0,0,0,0,6,10,4,59,0,9,0,0,0,6,0,29,0,0,0,128,10,96,0,140,0,0,0,32,14,144,0,57],[0,0,26,32,0,0,65,61,0,0,0,9,6,0,0,41,0,0,0,128,10,96,2,112,0,0,7,168,11,96,0,156],[0,0,0,0,10,6,160,25,0,0,7,168,11,96,0,156,0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57],[0,0,0,8,12,176,1,191,0,0,7,159,15,160,0,156,0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112],[0,0,7,159,15,160,0,156,0,0,0,0,11,10,160,25,0,0,0,4,15,192,1,191,0,0,7,155,10,176,0,156],[0,0,0,0,15,12,160,25,0,0,0,32,12,176,2,112,0,0,7,155,10,176,0,156,0,0,0,0,12,11,160,25],[0,0,0,2,6,240,1,191,0,0,255,255,11,192,0,140,0,0,0,0,6,15,160,25,0,0,0,16,11,192,2,112],[0,0,0,0,11,12,160,25,0,0,0,255,11,176,0,140,0,0,0,1,6,96,32,57,0,6,0,0,0,6,0,29],[0,0,0,65,11,96,0,57,0,0,0,0,11,59,1,111,0,0,0,0,12,185,0,25,0,0,0,0,11,156,0,75],[0,0,0,0,15,0,0,25,0,0,0,1,15,0,64,57,0,0,7,159,11,192,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,11,240,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,192,4,63,0,0,0,6,6,0,0,41],[0,0,0,2,11,96,0,57,0,0,0,0,0,185,4,53,0,0,0,33,11,96,0,57,0,0,0,5,12,176,2,114],[0,0,25,90,0,0,97,61,0,0,0,0,15,0,0,25,0,0,0,5,11,240,2,16,0,0,0,0,10,190,0,25],[0,0,0,0,11,189,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,186,4,53,0,0,0,1,15,240,0,57],[0,0,0,0,10,207,0,75,0,0,25,82,0,0,65,61,0,0,0,0,6,0,0,75,0,0,25,92,0,0,97,61],[0,0,0,0,10,9,4,51,0,0,0,0,10,10,0,75,0,0,1,193,0,0,97,61,0,0,0,0,10,14,4,51],[0,0,7,167,10,160,1,151,0,0,0,6,6,0,0,41,0,0,0,248,11,96,2,16,0,0,0,0,10,171,1,159],[0,0,7,169,10,160,0,65,0,0,0,0,0,174,4,53,0,0,0,3,10,96,2,16,0,0,0,248,10,160,0,137],[0,0,0,9,11,160,1,239,0,0,0,255,10,160,0,140,0,0,0,0,11,0,32,25,0,0,0,33,10,144,0,57],[0,0,0,0,0,186,4,53,0,0,26,51,0,0,1,61,0,0,0,128,1,48,0,140,0,2,0,0,0,3,0,29],[0,0,26,146,0,0,65,61,0,0,0,128,1,48,2,112,0,0,7,168,2,48,0,156,0,0,0,0,1,3,160,25],[0,0,7,168,2,48,0,156,0,0,0,0,2,0,0,25,0,0,0,16,2,0,32,57,0,0,0,8,4,32,1,191],[0,0,7,159,5,16,0,156,0,0,0,0,4,2,160,25,0,0,0,64,2,16,2,112,0,0,7,159,5,16,0,156],[0,0,0,0,2,1,160,25,0,0,0,4,1,64,1,191,0,0,7,155,5,32,0,156,0,0,0,0,1,4,160,25],[0,0,0,32,4,32,2,112,0,0,7,155,5,32,0,156,0,0,0,0,4,2,160,25,0,0,0,2,5,16,1,191],[0,0,255,255,2,64,0,140,0,0,0,0,5,1,160,25,0,0,0,16,1,64,2,112,0,0,0,0,1,4,160,25],[0,0,0,255,1,16,0,140,0,0,0,1,5,80,32,57,0,0,0,65,1,80,0,57,0,0,0,7,2,16,1,127],[0,0,0,64,1,0,4,61,0,0,0,0,2,33,0,25,0,0,0,0,4,18,0,75,0,0,0,0,4,0,0,25],[0,0,0,1,4,0,64,57,0,0,7,159,6,32,0,156,0,0,1,89,0,0,33,61,0,0,0,1,4,64,1,144],[0,0,1,89,0,0,193,61,0,0,0,64,0,32,4,63,0,0,0,2,2,80,0,57,0,0,0,0,6,33,4,54],[0,0,0,1,2,0,3,103,0,0,0,0,4,0,0,49,0,0,0,33,7,80,0,57,0,0,0,5,7,112,2,114],[0,0,25,167,0,0,97,61,0,0,0,0,8,66,3,79,0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16],[0,0,0,0,11,166,0,25,0,0,0,0,10,168,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,9,144,0,57,0,0,0,0,10,121,0,75,0,0,25,159,0,0,65,61,0,0,0,0,7,0,0,75],[0,0,25,169,0,0,97,61,0,0,0,0,7,1,4,51,0,0,0,0,7,7,0,75,0,0,1,193,0,0,97,61],[0,0,0,0,7,6,4,51,0,0,7,167,7,112,1,151,0,0,0,248,8,80,2,16,0,0,0,0,7,120,1,159],[0,0,7,169,7,112,0,65,0,0,0,0,0,118,4,53,0,0,0,3,5,80,2,16,0,0,0,248,5,80,0,137],[0,0,0,0,3,83,1,207,0,0,0,255,5,80,0,140,0,0,0,0,3,0,32,25,0,0,0,33,5,16,0,57],[0,0,0,0,0,53,4,53,0,0,26,168,0,0,1,61,0,0,7,166,9,32,0,156,0,0,1,89,0,0,33,61],[0,0,0,64,9,32,0,57,0,0,0,64,0,144,4,63,0,0,0,8,6,0,0,41,0,0,0,0,0,111,4,53],[0,0,0,9,6,0,0,41,0,0,0,0,0,98,4,53,0,0,0,0,9,6,0,75,0,0,1,193,0,0,97,61],[0,0,0,6,6,0,0,41,0,0,0,248,9,96,2,16,0,0,7,160,10,0,0,65,0,0,0,0,11,6,0,75],[0,0,0,0,10,9,192,25,0,0,0,5,9,160,1,175,0,0,0,0,0,159,4,53,0,0,0,12,6,0,0,41],[0,0,0,64,9,96,0,140,0,0,0,159,0,0,65,61,0,0,0,64,9,0,4,61,0,0,0,4,6,0,0,41],[0,5,0,32,0,96,0,61,0,0,0,5,10,16,3,96,0,0,0,0,6,10,4,59,0,8,0,0,0,6,0,29],[0,0,0,128,10,96,0,140,0,0,0,32,14,144,0,57,0,0,27,17,0,0,65,61,0,0,0,8,6,0,0,41],[0,0,0,128,10,96,2,112,0,0,7,168,11,96,0,156,0,0,0,0,10,6,160,25,0,0,7,168,11,96,0,156],[0,0,0,0,11,0,0,25,0,0,0,16,11,0,32,57,0,0,0,8,12,176,1,191,0,0,7,159,15,160,0,156],[0,0,0,0,12,11,160,25,0,0,0,64,11,160,2,112,0,0,7,159,15,160,0,156,0,0,0,0,11,10,160,25],[0,0,0,4,10,192,1,191,0,0,7,155,15,176,0,156,0,0,0,0,10,12,160,25,0,0,0,32,12,176,2,112],[0,0,7,155,15,176,0,156,0,0,0,0,12,11,160,25,0,0,0,2,6,160,1,191,0,0,255,255,15,192,0,140],[0,0,0,0,6,10,160,25,0,0,0,16,10,192,2,112,0,0,0,0,10,12,160,25,0,0,0,255,10,160,0,140],[0,0,0,1,6,96,32,57,0,6,0,0,0,6,0,29,0,0,0,65,10,96,0,57,0,0,0,0,10,58,1,111],[0,0,0,0,10,169,0,25,0,0,0,0,12,154,0,75,0,0,0,0,12,0,0,25,0,0,0,1,12,0,64,57],[0,0,7,159,15,160,0,156,0,0,1,89,0,0,33,61,0,0,0,1,12,192,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,160,4,63,0,0,0,6,6,0,0,41,0,0,0,2,10,96,0,57,0,0,0,0,0,169,4,53],[0,0,0,33,10,96,0,57,0,0,0,5,10,160,2,114,0,0,26,12,0,0,97,61,0,0,0,0,12,0,0,25],[0,0,0,5,15,192,2,16,0,0,0,0,11,254,0,25,0,0,0,0,15,253,3,79,0,0,0,0,15,15,4,59],[0,0,0,0,0,251,4,53,0,0,0,1,12,192,0,57,0,0,0,0,11,172,0,75,0,0,26,4,0,0,65,61],[0,0,0,0,6,0,0,75,0,0,26,14,0,0,97,61,0,0,0,0,10,9,4,51,0,0,0,0,10,10,0,75],[0,0,1,193,0,0,97,61,0,0,0,0,10,14,4,51,0,0,7,167,10,160,1,151,0,0,0,6,6,0,0,41],[0,0,0,248,11,96,2,16,0,0,0,0,10,171,1,159,0,0,7,169,10,160,0,65,0,0,0,0,0,174,4,53],[0,0,0,3,10,96,2,16,0,0,0,248,10,160,0,137,0,0,0,8,11,160,1,239,0,0,0,255,10,160,0,140],[0,0,0,0,11,0,32,25,0,0,0,33,10,144,0,57,0,0,0,0,0,186,4,53,0,0,27,36,0,0,1,61],[0,0,7,166,10,144,0,156,0,0,1,89,0,0,33,61,0,0,0,64,10,144,0,57,0,0,0,64,0,160,4,63],[0,0,0,7,11,0,0,41,0,0,0,0,0,185,4,53,0,0,0,8,6,0,3,95,0,0,0,0,10,6,4,59],[0,0,0,0,0,174,4,53,0,0,0,0,11,11,0,75,0,0,1,193,0,0,97,61,0,0,0,9,6,0,0,41],[0,0,0,248,11,96,2,16,0,0,7,160,12,0,0,65,0,0,0,0,13,6,0,75,0,0,0,0,12,11,192,25],[0,0,7,167,10,160,1,151,0,0,0,0,10,202,1,159,0,0,0,0,0,174,4,53,0,0,0,12,6,0,0,41],[0,0,0,65,10,96,0,140,0,0,1,193,0,0,65,61,0,0,0,5,6,0,0,41,0,0,0,32,10,96,0,57],[0,0,0,0,11,161,3,79,0,0,0,0,10,0,4,21,0,0,0,17,10,160,0,138,0,0,0,32,10,160,0,201],[0,0,7,160,13,0,0,65,0,0,0,0,11,11,4,59,0,0,0,248,12,176,2,112,0,0,0,27,11,192,0,140],[0,0,26,71,0,0,97,61,0,0,0,0,10,0,4,21,0,0,0,16,10,160,0,138,0,0,0,32,10,160,0,201],[0,0,7,174,13,0,0,65,0,0,0,28,11,192,0,140,0,0,29,6,0,0,193,61,0,0,0,64,12,0,4,61],[0,0,7,166,11,192,0,156,0,0,1,89,0,0,33,61,0,0,0,64,11,192,0,57,0,0,0,64,0,176,4,63],[0,0,0,7,11,0,0,41,0,0,0,0,14,188,4,54,0,0,0,8,6,0,3,95,0,0,0,0,15,6,4,59],[0,0,0,0,0,254,4,53,0,0,0,0,11,11,0,75,0,0,1,193,0,0,97,61,0,0,7,167,11,240,1,151],[0,0,0,0,11,219,1,159,0,0,0,0,0,190,4,53,0,0,0,0,11,4,4,51,0,0,0,0,13,8,4,51],[0,0,0,5,10,160,2,112,0,0,0,0,10,12,0,31,0,0,0,0,10,93,0,25,0,0,0,0,10,186,0,25],[0,0,0,0,11,7,4,51,0,0,0,0,10,186,0,25,0,0,0,0,11,2,4,51,0,0,0,0,10,186,0,25],[0,0,0,0,11,9,4,51,0,0,0,0,10,186,0,25,0,0,0,0,11,12,4,51,0,0,0,0,10,186,0,25],[0,0,0,64,13,0,4,61,0,0,7,159,6,160,1,151,0,9,0,0,0,6,0,29,0,0,0,56,11,96,0,140],[0,6,0,64,0,208,0,61,0,12,0,32,0,208,0,61,0,0,27,129,0,0,65,61,0,0,0,9,6,0,0,41],[0,0,0,32,15,96,2,112,0,0,7,155,11,96,0,156,0,0,0,0,15,6,160,25,0,0,7,155,11,96,0,156],[0,0,0,0,14,0,0,25,0,0,0,4,14,0,32,57,0,0,0,2,11,224,1,191,0,0,255,255,10,240,0,140],[0,0,0,0,11,14,160,25,0,0,0,16,10,240,2,112,0,0,0,0,10,15,160,25,0,0,0,255,10,160,0,140],[0,0,0,0,15,0,0,25,0,0,0,1,15,0,32,57,0,0,7,166,10,208,0,156,0,0,1,89,0,0,33,61],[0,0,0,0,11,251,1,159,0,0,0,6,6,0,0,41,0,0,0,64,0,96,4,63,0,0,0,2,10,176,0,58],[0,0,0,0,0,173,4,53,0,0,0,8,6,0,3,95,0,0,0,0,15,6,4,59,0,0,0,12,6,0,0,41],[0,0,0,0,0,246,4,53,0,0,1,193,0,0,97,61,0,0,7,167,10,240,1,151,0,0,0,248,14,176,2,16],[0,0,0,0,10,174,1,159,0,0,7,173,10,160,1,199,0,0,0,12,6,0,0,41,0,0,0,0,0,166,4,53],[0,0,0,3,10,176,2,16,0,0,0,248,10,160,1,95,0,0,0,9,10,160,1,239,0,0,0,33,11,208,0,57],[0,0,0,0,0,171,4,53,0,0,27,148,0,0,1,61,0,0,0,64,1,0,4,61,0,0,7,166,2,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,64,2,16,0,57,0,0,0,64,0,32,4,63,0,0,0,1,2,0,0,58],[0,0,0,0,3,33,4,54,0,0,0,0,4,0,0,49,0,0,0,1,2,0,3,103,0,0,0,0,5,66,3,79],[0,0,0,0,5,80,3,80,0,0,0,0,5,5,4,59,0,0,0,0,0,83,4,53,0,0,1,193,0,0,97,61],[0,0,0,2,8,0,0,41,0,0,0,248,6,128,2,16,0,0,7,160,7,0,0,65,0,0,0,0,8,8,0,75],[0,0,0,0,7,6,192,25,0,0,7,167,5,80,1,151,0,0,0,0,5,117,1,159,0,0,0,0,0,83,4,53],[0,0,0,1,3,0,0,41,0,0,0,128,3,48,0,57,0,0,0,0,3,50,3,79,0,0,0,13,5,64,0,106],[0,0,0,35,5,80,0,138,0,0,0,0,3,3,4,59,0,0,7,160,6,0,0,65,0,0,0,0,7,83,0,75],[0,0,0,0,7,0,0,25,0,0,0,0,7,6,128,25,0,0,7,160,5,80,1,151,0,0,7,160,8,48,1,151],[0,0,0,0,9,88,0,75,0,0,0,0,6,0,128,25,0,0,0,0,5,88,1,63,0,0,7,160,5,80,0,156],[0,0,0,0,6,7,192,25,0,0,0,0,5,6,0,75,0,0,0,12,6,0,0,41,0,0,0,159,0,0,193,61],[0,0,0,10,5,0,0,41,0,0,0,0,5,5,4,51,0,0,0,9,7,0,0,41,0,0,0,0,7,7,4,51],[0,0,0,8,8,0,0,41,0,0,0,0,8,8,4,51,0,0,0,6,9,0,0,41,0,0,0,0,9,9,4,51],[0,0,0,5,10,0,0,41,0,0,0,0,10,10,4,51,0,0,0,0,6,99,0,25,0,0,0,0,3,98,3,79],[0,0,0,0,3,3,4,59,0,0,7,159,11,48,0,156,0,0,0,159,0,0,33,61,0,0,0,0,11,52,0,73],[0,0,0,32,6,96,0,57,0,0,7,160,12,0,0,65,0,0,0,0,13,182,0,75,0,0,0,0,13,0,0,25],[0,0,0,0,13,12,32,25,0,0,7,160,11,176,1,151,0,0,7,160,14,96,1,151,0,0,0,0,15,190,0,75],[0,0,0,0,12,0,128,25,0,0,0,0,11,190,1,63,0,0,7,160,11,176,0,156,0,0,0,0,12,13,192,25],[0,0,0,0,11,12,0,75,0,0,0,159,0,0,193,61,0,0,0,0,5,87,0,25,0,0,0,0,5,133,0,25],[0,0,0,0,5,149,0,25,0,0,0,0,5,165,0,25,0,0,0,0,5,53,0,25,0,0,0,4,7,0,0,41],[0,0,0,0,7,7,4,51,0,0,0,0,5,117,0,25,0,0,0,3,7,0,0,41,0,0,0,0,7,7,4,51],[0,0,0,0,5,117,0,25,0,0,0,0,7,1,4,51,0,0,0,0,5,117,0,25,0,0,0,64,7,0,4,61],[0,0,7,159,5,80,1,151,0,0,0,56,8,80,0,140,0,0,0,64,9,112,0,57,0,0,0,0,8,66,3,79],[0,0,0,32,4,112,0,57,0,0,28,57,0,0,65,61,0,0,0,32,11,80,2,112,0,0,7,155,10,80,0,156],[0,0,0,0,11,5,160,25,0,0,7,155,10,80,0,156,0,0,0,0,12,0,0,25,0,0,0,4,12,0,32,57],[0,0,0,2,10,192,1,191,0,0,255,255,13,176,0,140,0,0,0,0,10,12,160,25,0,0,0,16,12,176,2,112],[0,0,0,0,12,11,160,25,0,0,0,255,11,192,0,140,0,0,0,0,11,0,0,25,0,0,0,1,11,0,32,57],[0,0,7,166,12,112,0,156,0,0,1,89,0,0,33,61,0,0,0,0,10,186,1,159,0,0,0,64,0,144,4,63],[0,0,0,2,9,160,0,58,0,0,0,0,0,151,4,53,0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59],[0,0,0,0,0,132,4,53,0,0,1,193,0,0,97,61,0,0,7,167,8,128,1,151,0,0,0,248,9,160,2,16],[0,0,0,0,8,137,1,159,0,0,7,173,8,128,1,199,0,0,0,0,0,132,4,53,0,0,0,3,4,160,2,16],[0,0,0,248,4,64,1,95,0,0,0,0,4,69,1,207,0,0,0,33,5,112,0,57,0,0,0,0,0,69,4,53],[0,0,28,71,0,0,1,61,0,0,7,166,10,144,0,156,0,0,1,89,0,0,33,61,0,0,0,64,10,144,0,57],[0,0,0,64,0,160,4,63,0,0,0,9,6,0,0,41,0,0,0,0,0,105,4,53,0,0,0,7,10,0,3,95],[0,0,0,0,10,10,4,59,0,0,0,0,0,174,4,53,0,0,0,0,11,6,0,75,0,0,1,193,0,0,97,61],[0,0,0,8,6,0,0,41,0,0,0,248,11,96,2,16,0,0,7,160,12,0,0,65,0,0,0,0,13,6,0,75],[0,0,0,0,12,11,192,25,0,0,7,167,10,160,1,151,0,0,0,0,10,202,1,159,0,0,0,0,0,174,4,53],[0,0,0,12,6,0,0,41,0,0,0,65,10,96,0,140,0,0,1,193,0,0,65,61,0,0,0,5,6,0,0,41],[0,0,0,32,10,96,0,57,0,0,0,0,10,161,3,79,0,0,0,0,11,0,4,21,0,0,0,15,11,176,0,138],[0,0,0,32,11,176,0,201,0,0,7,160,13,0,0,65,0,0,0,0,10,10,4,59,0,0,0,248,10,160,2,112],[0,0,0,27,12,160,0,140,0,0,27,56,0,0,97,61,0,0,0,0,11,0,4,21,0,0,0,14,11,176,0,138],[0,0,0,32,11,176,0,201,0,0,7,174,13,0,0,65,0,0,0,28,10,160,0,140,0,0,29,6,0,0,193,61],[0,0,0,64,12,0,4,61,0,0,7,166,10,192,0,156,0,0,1,89,0,0,33,61,0,0,0,64,10,192,0,57],[0,0,0,64,0,160,4,63,0,0,0,9,6,0,0,41,0,0,0,0,10,108,4,54,0,0,0,7,14,0,3,95],[0,0,0,0,14,14,4,59,0,8,0,0,0,14,0,29,0,0,0,0,0,234,4,53,0,0,0,0,14,6,0,75],[0,0,1,193,0,0,97,61,0,0,0,8,6,0,0,41,0,7,7,167,0,96,1,155,0,0,0,7,13,208,1,175],[0,0,0,0,0,218,4,53,0,0,0,0,10,4,4,51,0,0,0,0,13,8,4,51,0,0,0,5,11,176,2,112],[0,0,0,0,11,12,0,31,0,0,0,0,11,93,0,25,0,0,0,0,10,171,0,25,0,0,0,0,11,7,4,51],[0,0,0,0,10,186,0,25,0,0,0,0,11,2,4,51,0,0,0,0,10,186,0,25,0,0,0,0,11,9,4,51],[0,0,0,0,10,186,0,25,0,0,0,0,11,12,4,51,0,0,0,0,10,186,0,25,0,0,0,64,13,0,4,61],[0,0,7,159,15,160,1,151,0,0,0,56,10,240,0,140,0,6,0,64,0,208,0,61,0,12,0,32,0,208,0,61],[0,0,29,13,0,0,65,61,0,0,0,32,14,240,2,112,0,0,7,155,10,240,0,156,0,0,0,0,14,15,160,25],[0,0,7,155,10,240,0,156,0,0,0,0,6,0,0,25,0,0,0,4,6,0,32,57,0,0,0,2,10,96,1,191],[0,0,255,255,11,224,0,140,0,0,0,0,10,6,160,25,0,0,0,16,11,224,2,112,0,0,0,0,11,14,160,25],[0,0,0,255,11,176,0,140,0,0,0,0,14,0,0,25,0,0,0,1,14,0,32,57,0,0,7,166,11,208,0,156],[0,0,1,89,0,0,33,61,0,0,0,0,10,234,1,159,0,0,0,6,6,0,0,41,0,0,0,64,0,96,4,63],[0,0,0,8,6,0,0,41,0,0,0,12,11,0,0,41,0,0,0,0,0,107,4,53,0,0,0,2,11,160,0,58],[0,0,0,0,0,189,4,53,0,0,1,193,0,0,97,61,0,0,0,248,11,160,2,16,0,0,0,7,11,176,1,175],[0,0,7,173,11,176,1,199,0,0,0,12,6,0,0,41,0,0,0,0,0,182,4,53,0,0,0,3,10,160,2,16],[0,0,0,248,10,160,1,95,0,0,0,0,10,175,1,207,0,0,0,33,11,208,0,57,0,0,0,0,0,171,4,53],[0,0,29,29,0,0,1,61,0,0,7,166,10,208,0,156,0,0,1,89,0,0,33,61,0,0,0,6,6,0,0,41],[0,0,0,64,0,96,4,63,0,0,0,7,10,0,0,41,0,0,0,0,0,173,4,53,0,0,0,8,6,0,3,95],[0,0,0,0,15,6,4,59,0,0,0,12,6,0,0,41,0,0,0,0,0,246,4,53,0,0,0,0,10,10,0,75],[0,0,1,193,0,0,97,61,0,0,7,167,10,240,1,151,0,0,0,9,6,0,0,41,0,0,0,248,11,96,2,16],[0,0,0,0,10,171,1,159,0,0,7,172,10,160,0,65,0,0,0,12,6,0,0,41,0,0,0,0,0,166,4,53],[0,0,0,64,6,0,4,61,0,0,0,32,10,96,0,57,0,0,7,174,11,0,0,65,0,9,0,0,0,10,0,29],[0,0,0,0,0,186,4,53,0,12,0,0,0,6,0,29,0,0,0,33,14,96,0,57,0,0,0,0,15,13,4,51],[0,0,0,0,11,15,0,75,0,0,27,166,0,0,97,61,0,0,0,0,11,0,0,25,0,0,0,0,10,235,0,25],[0,0,0,32,11,176,0,57,0,0,0,0,6,219,0,25,0,0,0,0,6,6,4,51,0,0,0,0,0,106,4,53],[0,0,0,0,6,251,0,75,0,0,27,159,0,0,65,61,0,0,0,0,13,239,0,25,0,0,0,0,0,13,4,53],[0,0,0,0,14,4,4,51,0,0,0,0,6,14,0,75,0,0,27,179,0,0,97,61,0,0,0,0,11,0,0,25],[0,0,0,0,6,219,0,25,0,0,0,32,11,176,0,57,0,0,0,0,10,75,0,25,0,0,0,0,10,10,4,51],[0,0,0,0,0,166,4,53,0,0,0,0,6,235,0,75,0,0,27,172,0,0,65,61,0,0,0,0,13,222,0,25],[0,0,0,0,0,13,4,53,0,0,0,0,14,8,4,51,0,0,0,0,4,14,0,75,0,0,27,192,0,0,97,61],[0,0,0,0,4,0,0,25,0,0,0,0,6,212,0,25,0,0,0,32,4,64,0,57,0,0,0,0,10,132,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,166,4,53,0,0,0,0,6,228,0,75,0,0,27,185,0,0,65,61],[0,0,0,13,4,16,3,96,0,0,0,0,1,222,0,25,0,0,0,31,6,80,1,143,0,0,0,0,0,1,4,53],[0,0,0,5,8,80,2,114,0,0,27,207,0,0,97,61,0,0,0,0,13,0,0,25,0,0,0,5,10,208,2,16],[0,0,0,0,11,161,0,25,0,0,0,0,10,164,3,79,0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53],[0,0,0,1,13,208,0,57,0,0,0,0,10,141,0,75,0,0,27,199,0,0,65,61,0,0,0,0,10,6,0,75],[0,0,27,222,0,0,97,61,0,0,0,5,8,128,2,16,0,0,0,0,4,132,3,79,0,0,0,0,8,129,0,25],[0,0,0,3,6,96,2,16,0,0,0,0,10,8,4,51,0,0,0,0,10,106,1,207,0,0,0,0,10,106,2,47],[0,0,0,0,4,4,4,59,0,0,1,0,6,96,0,137,0,0,0,0,4,100,2,47,0,0,0,0,4,100,1,207],[0,0,0,0,4,164,1,159,0,0,0,0,0,72,4,53,0,0,0,0,1,81,0,25,0,0,0,0,0,1,4,53],[0,0,0,0,4,7,4,51,0,0,0,0,5,4,0,75,0,0,27,235,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,117,0,25,0,0,0,0,8,8,4,51],[0,0,0,0,0,134,4,53,0,0,0,0,6,69,0,75,0,0,27,228,0,0,65,61,0,0,0,0,1,20,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,4,12,4,51,0,0,0,0,5,4,0,75,0,0,27,248,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,7,197,0,25],[0,0,0,0,7,7,4,51,0,0,0,0,0,118,4,53,0,0,0,0,6,69,0,75,0,0,27,241,0,0,65,61],[0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,4,2,4,51,0,0,0,0,5,4,0,75],[0,0,28,5,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57],[0,0,0,0,7,37,0,25,0,0,0,0,7,7,4,51,0,0,0,0,0,118,4,53,0,0,0,0,6,69,0,75],[0,0,27,254,0,0,65,61,0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,2,9,4,51],[0,0,0,0,4,2,0,75,0,0,28,18,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,0,5,20,0,25],[0,0,0,32,4,64,0,57,0,0,0,0,6,148,0,25,0,0,0,0,6,6,4,51,0,0,0,0,0,101,4,53],[0,0,0,0,5,36,0,75,0,0,28,11,0,0,65,61,0,0,0,0,1,18,0,25,0,0,0,0,0,1,4,53],[0,0,0,12,4,0,0,41,0,0,0,0,1,65,0,73,0,0,0,32,2,16,0,138,0,0,0,0,0,36,4,53],[0,0,0,31,1,16,0,57,0,0,0,0,2,49,1,111,0,0,0,0,1,66,0,25,0,0,0,0,2,33,0,75],[0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,7,159,3,16,0,156,0,0,1,89,0,0,33,61],[0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63,0,0,7,155,1,0,0,65],[0,0,0,9,3,0,0,41,0,0,7,155,2,48,0,156,0,0,0,0,3,1,128,25,0,0,0,64,2,48,2,16],[0,0,0,12,3,0,0,41,0,0,0,0,3,3,4,51,0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20,0,0,7,155,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159,0,0,7,175,1,16,1,199],[0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,159,0,0,97,61],[0,0,29,193,0,0,1,61,0,0,7,166,10,112,0,156,0,0,1,89,0,0,33,61,0,0,0,64,0,144,4,63],[0,0,0,1,9,0,0,58,0,0,0,0,0,151,4,53,0,0,0,0,8,128,3,80,0,0,0,0,8,8,4,59],[0,0,0,0,0,132,4,53,0,0,1,193,0,0,97,61,0,0,7,167,8,128,1,151,0,0,0,248,5,80,2,16],[0,0,0,0,5,133,1,159,0,0,7,172,5,80,0,65,0,0,0,0,0,84,4,53,0,0,0,64,4,0,4,61],[0,0,0,32,5,64,0,57,0,0,0,0,8,7,4,51,0,0,0,0,9,8,0,75,0,0,28,84,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,0,10,89,0,25,0,0,0,32,9,144,0,57,0,0,0,0,11,121,0,25],[0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,28,77,0,0,65,61],[0,0,0,0,7,88,0,25,0,0,0,0,0,7,4,53,0,0,0,10,8,0,0,41,0,0,0,0,8,8,4,51],[0,0,0,0,9,8,0,75,0,0,28,98,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25],[0,0,0,32,9,144,0,57,0,0,0,10,11,144,0,41,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53],[0,0,0,0,10,137,0,75,0,0,28,91,0,0,65,61,0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53],[0,0,0,9,8,0,0,41,0,0,0,0,8,8,4,51,0,0,0,0,9,8,0,75,0,0,28,112,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57,0,0,0,9,11,144,0,41],[0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,28,105,0,0,65,61],[0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53,0,0,0,8,8,0,0,41,0,0,0,0,8,8,4,51],[0,0,0,0,9,8,0,75,0,0,28,126,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25],[0,0,0,32,9,144,0,57,0,0,0,8,11,144,0,41,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53],[0,0,0,0,10,137,0,75,0,0,28,119,0,0,65,61,0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53],[0,0,0,6,8,0,0,41,0,0,0,0,8,8,4,51,0,0,0,0,9,8,0,75,0,0,28,140,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25,0,0,0,32,9,144,0,57,0,0,0,6,11,144,0,41],[0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53,0,0,0,0,10,137,0,75,0,0,28,133,0,0,65,61],[0,0,0,0,7,120,0,25,0,0,0,0,0,7,4,53,0,0,0,5,8,0,0,41,0,0,0,0,8,8,4,51],[0,0,0,0,9,8,0,75,0,0,28,154,0,0,97,61,0,0,0,0,9,0,0,25,0,0,0,0,10,121,0,25],[0,0,0,32,9,144,0,57,0,0,0,5,11,144,0,41,0,0,0,0,11,11,4,51,0,0,0,0,0,186,4,53],[0,0,0,0,10,137,0,75,0,0,28,147,0,0,65,61,0,0,0,0,6,98,3,79,0,0,0,0,2,120,0,25],[0,0,0,31,7,48,1,143,0,0,0,0,0,2,4,53,0,0,0,5,8,48,2,114,0,0,28,169,0,0,97,61],[0,0,0,0,9,0,0,25,0,0,0,5,10,144,2,16,0,0,0,0,11,162,0,25,0,0,0,0,10,166,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,0,171,4,53,0,0,0,1,9,144,0,57,0,0,0,0,10,137,0,75],[0,0,28,161,0,0,65,61,0,0,0,0,9,7,0,75,0,0,28,184,0,0,97,61,0,0,0,5,8,128,2,16],[0,0,0,0,6,134,3,79,0,0,0,0,8,130,0,25,0,0,0,3,7,112,2,16,0,0,0,0,9,8,4,51],[0,0,0,0,9,121,1,207,0,0,0,0,9,121,2,47,0,0,0,0,6,6,4,59,0,0,1,0,7,112,0,137],[0,0,0,0,6,118,2,47,0,0,0,0,6,118,1,207,0,0,0,0,6,150,1,159,0,0,0,0,0,104,4,53],[0,0,0,0,2,50,0,25,0,0,0,0,0,2,4,53,0,0,0,0,3,1,4,51,0,0,0,0,6,3,0,75],[0,0,28,197,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,0,7,38,0,25,0,0,0,32,6,96,0,57],[0,0,0,0,8,22,0,25,0,0,0,0,8,8,4,51,0,0,0,0,0,135,4,53,0,0,0,0,7,54,0,75],[0,0,28,190,0,0,65,61,0,0,0,0,1,35,0,25,0,0,0,0,0,1,4,53,0,0,0,4,2,0,0,41],[0,0,0,0,2,2,4,51,0,0,0,0,3,2,0,75,0,0,28,211,0,0,97,61,0,0,0,0,3,0,0,25],[0,0,0,0,6,19,0,25,0,0,0,32,3,48,0,57,0,0,0,4,7,48,0,41,0,0,0,0,7,7,4,51],[0,0,0,0,0,118,4,53,0,0,0,0,6,35,0,75,0,0,28,204,0,0,65,61,0,0,0,0,1,18,0,25],[0,0,0,0,0,1,4,53,0,0,0,3,2,0,0,41,0,0,0,0,2,2,4,51,0,0,0,0,3,2,0,75],[0,0,28,225,0,0,97,61,0,0,0,0,3,0,0,25,0,0,0,0,6,19,0,25,0,0,0,32,3,48,0,57],[0,0,0,3,7,48,0,41,0,0,0,0,7,7,4,51,0,0,0,0,0,118,4,53,0,0,0,0,6,35,0,75],[0,0,28,218,0,0,65,61,0,0,0,0,1,18,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,65,0,73],[0,0,0,32,2,16,0,138,0,0,0,0,0,36,4,53,0,0,0,31,1,16,0,57,0,0,0,7,2,16,1,127],[0,0,0,0,1,66,0,25,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57],[0,0,7,159,3,16,0,156,0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,7,155,1,0,0,65,0,0,7,155,2,80,0,156,0,0,0,0,5,1,128,25],[0,0,0,64,2,80,2,16,0,0,0,0,3,4,4,51,0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20,0,0,7,155,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159,0,0,7,175,1,16,1,199],[0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,159,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,11,86,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,7,194,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,15,3,0,0,57],[0,0,12,95,0,0,1,61,0,0,7,166,10,208,0,156,0,0,1,89,0,0,33,61,0,0,0,6,6,0,0,41],[0,0,0,64,0,96,4,63,0,0,0,8,6,0,0,41,0,0,0,12,10,0,0,41,0,0,0,0,0,106,4,53],[0,0,0,9,6,0,0,41,0,0,0,0,0,109,4,53,0,0,0,0,10,6,0,75,0,0,1,193,0,0,97,61],[0,0,0,248,10,240,2,16,0,0,0,7,10,160,1,175,0,0,7,172,10,160,0,65,0,0,0,12,6,0,0,41],[0,0,0,0,0,166,4,53,0,0,0,64,6,0,4,61,0,0,0,32,10,96,0,57,0,0,7,175,11,0,0,65],[0,9,0,0,0,10,0,29,0,0,0,0,0,186,4,53,0,12,0,0,0,6,0,29,0,0,0,33,14,96,0,57],[0,0,0,0,15,13,4,51,0,0,0,0,11,15,0,75,0,0,29,47,0,0,97,61,0,0,0,0,11,0,0,25],[0,0,0,0,10,235,0,25,0,0,0,32,11,176,0,57,0,0,0,0,6,219,0,25,0,0,0,0,6,6,4,51],[0,0,0,0,0,106,4,53,0,0,0,0,6,251,0,75,0,0,29,40,0,0,65,61,0,0,0,0,13,239,0,25],[0,0,0,0,0,13,4,53,0,0,0,0,14,4,4,51,0,0,0,0,6,14,0,75,0,0,29,60,0,0,97,61],[0,0,0,0,11,0,0,25,0,0,0,0,6,219,0,25,0,0,0,32,11,176,0,57,0,0,0,0,10,75,0,25],[0,0,0,0,10,10,4,51,0,0,0,0,0,166,4,53,0,0,0,0,6,235,0,75,0,0,29,53,0,0,65,61],[0,0,0,0,13,222,0,25,0,0,0,0,0,13,4,53,0,0,0,0,14,8,4,51,0,0,0,0,4,14,0,75],[0,0,29,73,0,0,97,61,0,0,0,0,4,0,0,25,0,0,0,0,6,212,0,25,0,0,0,32,4,64,0,57],[0,0,0,0,10,132,0,25,0,0,0,0,10,10,4,51,0,0,0,0,0,166,4,53,0,0,0,0,6,228,0,75],[0,0,29,66,0,0,65,61,0,0,0,13,4,16,3,96,0,0,0,0,1,222,0,25,0,0,0,31,6,80,1,143],[0,0,0,0,0,1,4,53,0,0,0,5,8,80,2,114,0,0,29,88,0,0,97,61,0,0,0,0,13,0,0,25],[0,0,0,5,10,208,2,16,0,0,0,0,11,161,0,25,0,0,0,0,10,164,3,79,0,0,0,0,10,10,4,59],[0,0,0,0,0,171,4,53,0,0,0,1,13,208,0,57,0,0,0,0,10,141,0,75,0,0,29,80,0,0,65,61],[0,0,0,0,10,6,0,75,0,0,29,103,0,0,97,61,0,0,0,5,8,128,2,16,0,0,0,0,4,132,3,79],[0,0,0,0,8,129,0,25,0,0,0,3,6,96,2,16,0,0,0,0,10,8,4,51,0,0,0,0,10,106,1,207],[0,0,0,0,10,106,2,47,0,0,0,0,4,4,4,59,0,0,1,0,6,96,0,137,0,0,0,0,4,100,2,47],[0,0,0,0,4,100,1,207,0,0,0,0,4,164,1,159,0,0,0,0,0,72,4,53,0,0,0,0,1,81,0,25],[0,0,0,0,0,1,4,53,0,0,0,0,4,7,4,51,0,0,0,0,5,4,0,75,0,0,29,116,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57,0,0,0,0,8,117,0,25],[0,0,0,0,8,8,4,51,0,0,0,0,0,134,4,53,0,0,0,0,6,69,0,75,0,0,29,109,0,0,65,61],[0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,4,12,4,51,0,0,0,0,5,4,0,75],[0,0,29,129,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25,0,0,0,32,5,80,0,57],[0,0,0,0,7,197,0,25,0,0,0,0,7,7,4,51,0,0,0,0,0,118,4,53,0,0,0,0,6,69,0,75],[0,0,29,122,0,0,65,61,0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53,0,0,0,0,4,2,4,51],[0,0,0,0,5,4,0,75,0,0,29,142,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,0,6,21,0,25],[0,0,0,32,5,80,0,57,0,0,0,0,7,37,0,25,0,0,0,0,7,7,4,51,0,0,0,0,0,118,4,53],[0,0,0,0,6,69,0,75,0,0,29,135,0,0,65,61,0,0,0,0,1,20,0,25,0,0,0,0,0,1,4,53],[0,0,0,0,2,9,4,51,0,0,0,0,4,2,0,75,0,0,29,155,0,0,97,61,0,0,0,0,4,0,0,25],[0,0,0,0,5,20,0,25,0,0,0,32,4,64,0,57,0,0,0,0,6,148,0,25,0,0,0,0,6,6,4,51],[0,0,0,0,0,101,4,53,0,0,0,0,5,36,0,75,0,0,29,148,0,0,65,61,0,0,0,0,1,18,0,25],[0,0,0,0,0,1,4,53,0,0,0,12,4,0,0,41,0,0,0,0,1,65,0,73,0,0,0,32,2,16,0,138],[0,0,0,0,0,36,4,53,0,0,0,31,1,16,0,57,0,0,0,0,2,49,1,111,0,0,0,0,1,66,0,25],[0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,7,159,3,16,0,156],[0,0,1,89,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,89,0,0,193,61,0,0,0,64,0,16,4,63],[0,0,7,155,1,0,0,65,0,0,0,9,3,0,0,41,0,0,7,155,2,48,0,156,0,0,0,0,3,1,128,25],[0,0,0,64,2,48,2,16,0,0,0,12,3,0,0,41,0,0,0,0,3,3,4,51,0,0,7,155,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,96,3,48,2,16,0,0,0,0,2,35,1,159,0,0,0,0,3,0,4,20],[0,0,7,155,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159],[0,0,7,175,1,16,1,199,0,0,128,16,2,0,0,57,30,104,30,94,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,159,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,2,0,4,21,0,0,0,10,2,32,0,105],[0,0,0,0,2,0,0,2,0,0,11,86,0,0,1,61,0,0,0,0,3,0,4,20,0,0,0,0,4,18,0,25],[0,0,0,0,2,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,7,155,2,16,1,151],[0,0,0,1,1,80,1,144,0,0,30,31,0,0,193,61,0,0,0,0,1,0,0,49,0,0,0,0,5,65,0,75],[0,0,30,31,0,0,65,61,0,0,0,1,2,32,3,103,0,0,7,176,5,48,0,156,0,0,30,35,0,0,129,61],[0,0,0,0,1,65,0,73,0,0,7,155,1,16,1,151,0,0,0,0,1,18,3,223,0,0,0,192,2,48,2,16],[0,0,7,177,2,32,1,151,0,0,7,178,2,32,1,199,0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57],[30,104,30,99,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,7,155,3,48,1,151],[0,0,0,1,2,32,1,144,0,0,30,42,0,0,97,61,0,0,0,63,2,48,0,57,0,0,7,179,4,32,1,151],[0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,7,159,6,64,0,156,0,0,30,69,0,0,33,61,0,0,0,1,5,80,1,144],[0,0,30,69,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57],[0,0,0,5,5,80,2,114,0,0,29,253,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75],[0,0,29,245,0,0,65,61,0,0,0,0,5,0,0,75,0,0,29,255,0,0,97,61,0,0,0,31,5,48,1,143],[0,0,0,5,3,48,2,114,0,0,30,11,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,54,0,75,0,0,30,3,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,30,26,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,6,3,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,5,80,0,137,0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,19,4,53,0,0,0,0,1,2,4,51,0,0,0,32,1,16,0,140],[0,0,30,75,0,0,193,61,0,0,0,0,1,4,4,51,0,0,0,0,0,1,4,45,0,0,7,195,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,30,72,0,0,1,61,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,7,191,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,8,3,0,0,57,0,0,30,81,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,30,53,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,30,46,0,0,65,61,0,0,0,0,5,4,0,75,0,0,30,67,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,30,106,0,1,4,48,0,0,7,195,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,7,196,1,0,0,65,0,0,30,106,0,1,4,48,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,7,181,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53,0,0,7,161,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,7,155,2,0,0,65],[0,0,7,155,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,7,182,1,16,1,199],[0,0,30,106,0,1,4,48,0,0,0,0,0,1,4,47,0,0,30,97,0,33,4,35,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,30,102,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,30,104,0,0,4,50,0,0,30,105,0,1,4,46,0,0,30,106,0,1,4,48,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,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[255,255,255,255,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],[235,228,163,215,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,0,255,255,255,255,255,255,255,255],[128,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],[8,195,121,160,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],[69,110,99,111,100,105,110,103,32,117,110,115,117,112,112,111,114,116,101,100,32,116,120,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,100,0,0,0,128,0,0,0,0,0,0,0,0],[154,138,5,146,172,137,197,173,59,198,223,130,36,193,123,72,89,118,245,151,223,16,78,226,13,13,244,21,36,31,103,11],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,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,255,255,255,255,255,255,255,191],[0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[129,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],[148,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],[184,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],[192,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],[248,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,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],[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,0,0,0,0,0,0,0,1,0,0,0,0],[0,0,0,0,255,255,255,255,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,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,0,0,0,0,1,255,255,255,224],[7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[107,101,99,99,97,107,50,53,54,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0],[132,142,27,250,26,196,227,87,107,114,139,218,103,33,178,21,199,10,119,153,165,180,134,98,130,167,27,171,149,75,170,200],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,31],[194,248,120,113,118,184,172,107,247,33,91,74,220,193,224,105,191,74,184,45,154,177,223,5,165,122,145,212,37,147,91,110],[173,124,91,239,2,120,22,168,0,218,23,54,68,79,181,138,128,126,244,201,96,59,120,72,103,63,126,58,104,235,20,165],[25,180,83,206,69,170,170,243,163,0,245,169,236,149,134,155,79,40,171,16,67,11,87,46,226,24,195,166,165,224,125,111],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,95],[25,1,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,0,0,0,255,255,255,255,255,255,255,127],[79,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[128,128,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],[85,110,115,117,112,112,111,114,116,101,100,32,116,120,32,116,121,112,101,0,0,0,0,0,0,0,0,0,0,0,0,0],[73,110,118,97,108,105,100,32,118,32,118,97,108,117,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[78,72,123,113,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,36,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,255,255,255,255,255,255,255,159],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,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],[161,135,70,180,171,129,132,196,113,180,222,52,244,51,34,63,179,4,137,162,144,246,227,135,212,103,1,116,178,89,133,86]],"0x000000000000000000000000000000000000800e":[[0,2,0,0,0,0,0,2,0,12,0,0,0,0,0,2,0,1,0,0,0,1,3,85,0,0,0,0,3,1,0,25],[0,0,0,96,4,48,2,112,0,0,1,44,0,64,1,157,0,0,0,128,3,0,0,57,0,0,0,64,0,48,4,63],[0,2,0,0,0,4,0,29,0,0,1,44,3,64,1,151,0,0,0,1,2,32,1,144,0,0,1,242,0,0,193,61],[0,0,0,4,2,48,0,140,0,0,2,74,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112],[0,0,1,46,4,32,0,156,0,0,1,128,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,128,2,32,0,140],[0,0,2,74,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,8,2,4,59,0,0,0,68,2,16,3,112],[0,0,0,0,4,2,4,59,0,0,0,36,2,16,3,112,0,0,0,0,14,2,4,59,0,7,0,0,0,4,0,29],[0,0,1,48,2,64,0,156,0,0,2,74,0,0,33,61,0,0,0,7,2,0,0,41,0,0,0,35,2,32,0,57],[0,0,1,49,4,0,0,65,0,0,0,0,5,50,0,75,0,0,0,0,5,0,0,25,0,0,0,0,5,4,128,25],[0,0,1,49,2,32,1,151,0,0,0,0,6,2,0,75,0,0,0,0,4,0,128,25,0,0,1,49,2,32,0,156],[0,0,0,0,4,5,192,25,0,0,0,0,2,4,0,75,0,0,2,74,0,0,193,61,0,0,0,7,2,0,0,41],[0,0,0,4,2,32,0,57,0,0,0,0,2,33,3,79,0,0,0,0,6,2,4,59,0,0,1,48,2,96,0,156],[0,0,2,74,0,0,33,61,0,0,0,7,2,0,0,41,0,0,0,36,5,32,0,57,0,1,0,0,0,86,0,29],[0,0,0,1,2,48,0,108,0,0,2,74,0,0,65,61,0,0,0,100,2,16,3,112,0,0,0,0,2,2,4,59],[0,9,0,0,0,2,0,29,0,0,1,48,2,32,0,156,0,0,2,74,0,0,33,61,0,0,0,9,2,0,0,41],[0,0,0,35,2,32,0,57,0,0,1,49,4,0,0,65,0,0,0,0,7,50,0,75,0,0,0,0,7,0,0,25],[0,0,0,0,7,4,128,25,0,0,1,49,2,32,1,151,0,0,0,0,9,2,0,75,0,0,0,0,4,0,128,25],[0,0,1,49,2,32,0,156,0,0,0,0,4,7,192,25,0,0,0,0,2,4,0,75,0,0,2,74,0,0,193,61],[0,0,0,9,2,0,0,41,0,0,0,4,2,32,0,57,0,0,0,0,2,33,3,79,0,0,0,0,2,2,4,59],[0,11,0,0,0,2,0,29,0,0,1,48,2,32,0,156,0,0,2,74,0,0,33,61,0,0,0,9,2,0,0,41],[0,0,0,36,4,32,0,57,0,10,0,0,0,4,0,29,0,0,0,11,2,64,0,41,0,0,0,0,2,50,0,75],[0,0,2,74,0,0,33,61,0,0,0,0,2,0,4,17,0,0,128,8,2,32,0,140,0,0,1,250,0,0,193,61],[0,0,0,9,2,224,0,140,0,0,2,2,0,0,129,61,0,12,0,2,0,0,0,61,0,0,1,16,41,128,0,201],[0,0,1,17,10,0,0,138,0,8,0,0,0,0,0,29,0,0,0,0,7,0,0,25,0,6,0,0,0,14,0,29],[0,0,0,0,2,8,0,75,0,0,0,101,0,0,97,61,0,0,0,0,50,137,0,217,0,0,1,16,2,32,0,140],[0,0,2,239,0,0,193,61,0,0,0,0,2,151,0,75,0,0,0,206,0,0,129,61,0,0,0,0,2,167,0,75],[0,0,2,239,0,0,33,61,0,0,1,16,4,112,0,57,0,0,0,0,2,100,0,75,0,0,2,74,0,0,33,61],[0,0,0,0,2,87,0,25,0,0,0,60,2,32,0,57,0,0,0,0,3,33,3,79,0,0,0,0,3,3,4,59],[0,0,1,48,3,48,1,152,0,0,0,0,7,4,0,25,0,0,0,96,0,0,193,61,0,0,0,1,15,0,0,138],[0,0,0,8,3,240,0,107,0,0,2,239,0,0,97,61,0,0,0,12,11,0,0,41,0,0,0,10,3,176,0,41],[0,0,0,0,7,49,3,79,0,0,0,8,3,32,0,138,0,0,0,0,2,49,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,2,2,4,59,0,0,0,0,2,114,0,75,0,0,2,42,0,0,193,61,0,0,0,33,2,0,0,138],[0,0,0,0,2,43,0,75,0,0,2,239,0,0,33,61,0,0,0,12,11,0,0,41,0,0,0,32,2,176,0,57],[0,0,0,11,7,32,0,108,0,0,1,86,0,0,129,61,0,0,0,10,2,32,0,41,0,0,0,0,2,33,3,79],[0,0,0,0,2,2,4,59,0,0,0,251,7,32,2,112,0,0,0,248,2,32,2,112,0,0,0,7,13,32,1,144],[0,0,0,32,7,0,96,57,0,0,0,33,2,176,0,57,0,12,0,0,0,39,0,30,0,0,2,239,0,0,65,61],[0,0,0,12,12,0,0,41,0,0,0,11,12,192,0,108,0,0,2,74,0,0,33,61,0,0,0,10,2,32,0,41],[0,0,0,72,12,48,0,57,0,0,0,0,12,193,3,79,0,0,0,40,3,48,0,57,0,0,0,0,14,49,3,79],[0,0,0,0,2,33,3,79,0,0,0,0,3,2,4,59,0,0,0,0,2,14,4,59,0,5,0,0,0,2,0,29],[0,0,0,6,14,0,0,41,0,0,0,0,11,12,4,59,0,0,0,31,2,112,0,140,0,0,0,3,2,112,2,16],[0,0,0,171,0,0,33,61,0,0,1,0,12,32,0,137,0,0,0,0,12,207,1,207,0,0,0,0,14,32,0,73],[0,0,1,0,15,0,0,138,0,0,0,0,14,254,0,75,0,0,0,6,14,0,0,41,0,0,0,0,12,0,64,25],[0,0,0,0,3,195,1,111,0,0,0,0,12,7,0,75,0,0,0,204,0,0,97,61,0,0,1,0,12,32,0,140],[0,0,2,239,0,0,33,61,0,0,0,0,199,114,0,217,0,0,0,8,7,112,0,140,0,0,2,239,0,0,193,61],[0,0,1,0,7,32,0,137,0,0,0,0,3,115,2,47,0,0,0,0,2,2,0,75,0,0,0,0,3,0,96,25],[0,0,0,8,2,0,0,41,0,8,0,1,0,32,0,61,0,0,0,0,2,13,0,75,0,0,0,193,0,0,97,61],[0,0,0,3,2,208,0,140,0,0,0,193,0,0,97,61,0,0,0,1,2,208,0,140,0,0,0,197,0,0,193,61],[0,0,0,5,2,48,0,41,0,0,0,0,2,178,0,75,0,0,0,0,7,4,0,25,0,0,0,96,0,0,97,61],[0,0,1,108,0,0,1,61,0,0,0,0,2,179,0,75,0,0,0,0,7,4,0,25,0,0,0,96,0,0,97,61],[0,0,1,90,0,0,1,61,0,0,0,2,2,208,0,140,0,0,1,100,0,0,193,61,0,0,0,5,2,48,0,105],[0,0,0,0,2,178,0,75,0,0,0,0,7,4,0,25,0,0,0,96,0,0,97,61,0,0,1,118,0,0,1,61],[0,0,0,0,3,0,0,25,0,0,0,180,0,0,1,61,0,0,0,9,2,0,0,41,0,0,0,6,2,32,0,57],[0,0,0,0,2,33,3,79,0,0,0,0,2,2,4,59,0,0,255,255,2,32,1,143,0,0,0,8,2,32,0,107],[0,0,2,12,0,0,193,61,0,0,0,3,3,224,2,16,0,0,1,0,2,48,0,137,0,0,0,1,4,0,0,138],[0,8,0,0,0,2,0,29,0,4,0,0,0,4,0,29,0,0,0,0,4,36,1,207,0,0,0,0,2,48,0,73],[0,3,1,0,0,0,0,146,0,0,0,3,2,32,0,108,0,0,0,0,4,0,64,25,0,5,0,0,0,4,0,29],[0,9,0,0,0,3,0,29,0,0,1,0,2,48,0,140,0,0,2,22,0,0,33,61,0,0,0,0,3,0,0,25],[0,0,0,232,0,0,1,61,0,0,0,0,2,210,0,75,0,0,0,0,3,4,0,25,0,0,1,90,0,0,193,61],[0,0,0,0,2,8,0,75,0,0,0,237,0,0,97,61,0,0,0,0,66,137,0,217,0,0,1,16,2,32,0,140],[0,0,2,239,0,0,193,61,0,0,0,0,2,147,0,75,0,0,2,76,0,0,129,61,0,0,0,0,2,163,0,75],[0,0,2,239,0,0,33,61,0,0,1,16,4,48,0,57,0,0,0,0,2,100,0,75,0,0,2,74,0,0,33,61],[0,0,0,0,2,83,0,25,0,0,0,60,13,32,0,57,0,0,0,0,2,209,3,79,0,0,0,0,2,2,4,59],[0,0,1,48,7,32,1,152,0,0,0,0,3,4,0,25,0,0,0,232,0,0,97,61,0,0,0,12,15,224,0,42],[0,0,2,239,0,0,65,61,0,0,0,11,2,240,0,108,0,0,2,74,0,0,33,61,0,0,0,10,3,0,0,41],[0,0,0,12,2,48,0,41,0,0,0,0,2,33,3,79,0,0,0,0,2,2,4,59,0,0,0,31,3,224,0,140],[0,0,1,8,0,0,33,61,0,0,0,5,2,32,1,127,0,0,0,0,3,14,0,75,0,0,2,231,0,0,97,61],[0,0,0,9,179,224,0,249,0,0,0,8,3,48,0,140,0,0,2,239,0,0,193,61,0,0,0,9,3,0,0,107],[0,0,2,231,0,0,97,61,0,0,0,8,2,32,2,80,0,0,0,0,2,39,0,75,0,0,2,231,0,0,193,61],[0,0,0,11,2,240,0,108,0,0,1,86,0,0,129,61,0,0,0,10,2,240,0,41,0,0,0,0,2,33,3,79],[0,0,0,0,2,2,4,59,0,0,0,251,7,32,2,112,0,0,0,248,2,32,2,112,0,0,0,7,3,32,1,144],[0,0,0,32,7,0,96,57,0,0,0,1,2,240,0,57,0,12,0,0,0,39,0,29,0,0,0,12,12,240,0,107],[0,0,2,239,0,0,161,61,0,0,0,12,12,0,0,41,0,0,0,11,12,192,0,108,0,0,2,74,0,0,33,61],[0,0,0,10,2,32,0,41,0,0,0,64,12,208,0,57,0,0,0,0,12,193,3,79,0,0,0,32,13,208,0,57],[0,0,0,0,13,209,3,79,0,0,0,0,2,33,3,79,0,0,0,0,2,2,4,59,0,0,0,0,15,13,4,59],[0,0,0,0,13,12,4,59,0,0,0,31,12,112,0,140,0,0,0,3,12,112,2,16,0,0,1,57,0,0,33,61],[0,0,1,0,14,192,0,137,0,0,0,4,14,224,1,239,0,0,0,0,11,192,0,73,0,7,0,0,0,13,0,29],[0,0,0,0,13,15,0,25,0,0,0,3,11,176,0,108,0,0,0,0,15,13,0,25,0,0,0,7,13,0,0,41],[0,0,0,0,14,0,64,25,0,0,0,0,2,226,1,111,0,0,0,6,14,0,0,41,0,0,0,0,11,7,0,75],[0,0,1,84,0,0,97,61,0,0,1,0,11,192,0,140,0,0,2,239,0,0,33,61,0,0,0,0,183,124,0,217],[0,0,0,8,7,112,0,140,0,0,2,239,0,0,193,61,0,0,1,0,7,192,0,137,0,0,0,0,2,114,2,47],[0,0,0,0,7,12,0,75,0,0,0,0,2,0,96,25,0,0,0,0,7,3,0,75,0,0,0,229,0,0,97,61],[0,0,0,3,7,48,0,140,0,0,0,229,0,0,97,61,0,0,0,1,7,48,0,140,0,0,1,77,0,0,193,61],[0,0,0,0,2,242,0,25,0,0,0,0,2,210,0,75,0,0,0,0,3,4,0,25,0,0,0,232,0,0,97,61],[0,0,1,108,0,0,1,61,0,0,0,2,3,48,0,140,0,0,1,100,0,0,193,61,0,0,0,0,2,47,0,73],[0,0,0,0,2,210,0,75,0,0,0,0,3,4,0,25,0,0,0,232,0,0,97,61,0,0,1,118,0,0,1,61],[0,0,0,0,2,0,0,25,0,0,1,66,0,0,1,61,0,0,1,88,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,50,1,0,0,57,0,0,2,242,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,58,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,92,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,93,1,0,0,65,0,0,2,101,0,0,1,61],[0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,21,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,94,1,0,0,65,0,0,2,89,0,0,1,61],[0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,46,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,97,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,1,98,1,0,0,65,0,0,2,101,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,47,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,95,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,96,1,0,0,65,0,0,2,101,0,0,1,61],[0,0,1,47,2,32,0,156,0,0,2,74,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,64,2,32,0,140],[0,0,2,74,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,5,2,4,59,0,0,1,48,2,80,0,156],[0,0,2,74,0,0,33,61,0,0,0,35,2,80,0,57,0,0,1,49,4,0,0,65,0,0,0,0,6,50,0,75],[0,0,0,0,6,0,0,25,0,0,0,0,6,4,128,25,0,0,1,49,2,32,1,151,0,0,0,0,7,2,0,75],[0,0,0,0,4,0,128,25,0,0,1,49,2,32,0,156,0,0,0,0,4,6,192,25,0,0,0,0,2,4,0,75],[0,0,2,74,0,0,193,61,0,0,0,4,2,80,0,57,0,0,0,0,2,33,3,79,0,0,0,0,2,2,4,59],[0,11,0,0,0,2,0,29,0,0,1,48,2,32,0,156,0,0,2,74,0,0,33,61,0,0,0,36,4,80,0,57],[0,0,0,11,2,64,0,41,0,0,0,0,6,35,0,75,0,0,2,74,0,0,65,61,0,0,0,36,6,16,3,112],[0,0,0,0,6,6,4,59,0,0,1,48,7,96,0,156,0,0,2,74,0,0,33,61,0,0,0,35,7,96,0,57],[0,0,1,49,8,0,0,65,0,0,0,0,9,55,0,75,0,0,0,0,9,0,0,25,0,0,0,0,9,8,128,25],[0,0,1,49,7,112,1,151,0,0,0,0,10,7,0,75,0,0,0,0,8,0,128,25,0,0,1,49,7,112,0,156],[0,0,0,0,8,9,192,25,0,0,0,0,7,8,0,75,0,0,2,74,0,0,193,61,0,0,0,4,7,96,0,57],[0,0,0,0,8,113,3,79,0,0,0,0,8,8,4,59,0,10,0,0,0,8,0,29,0,0,1,48,8,128,0,156],[0,0,2,74,0,0,33,61,0,0,0,36,9,96,0,57,0,9,0,0,0,9,0,29,0,0,0,10,8,144,0,41],[0,0,0,0,3,56,0,75,0,0,2,74,0,0,33,61,0,0,0,0,3,0,4,17,0,0,128,1,3,48,0,140],[0,0,2,245,0,0,193,61,0,0,0,2,3,112,0,57,0,0,0,0,3,49,3,79,0,0,0,0,3,3,4,59],[0,0,0,3,3,48,2,16,0,0,1,53,3,48,1,151,0,0,0,2,8,48,1,191,0,0,0,10,7,128,0,107],[0,0,2,74,0,0,65,61,0,0,0,10,7,128,0,105,0,0,0,2,9,112,2,16,0,0,0,11,9,144,0,108],[0,0,2,253,0,0,193,61,0,0,0,10,9,128,0,107,0,0,1,228,0,0,97,61,0,0,0,6,9,96,0,57],[0,0,0,0,8,152,0,25,0,0,0,14,6,96,0,57,0,0,0,12,5,80,0,57,0,0,0,0,9,0,0,25],[0,0,0,0,10,152,0,25,0,0,0,0,10,161,3,79,0,0,0,0,10,10,4,59,0,0,0,3,10,160,2,16],[0,0,1,53,10,160,1,151,0,0,0,0,11,58,0,75,0,0,3,19,0,0,129,61,0,0,0,0,10,166,0,25],[0,0,0,2,11,144,2,16,0,0,0,0,11,181,0,25,0,0,0,0,11,177,3,79,0,0,0,0,10,161,3,79],[0,0,0,0,10,10,4,59,0,0,0,0,11,11,4,59,0,0,0,0,10,186,1,63,0,0,1,48,10,160,1,152],[0,0,3,29,0,0,193,61,0,0,0,2,9,144,0,57,0,0,0,0,10,121,0,75,0,0,1,208,0,0,65,61],[0,0,0,11,3,0,0,41,0,0,0,31,3,48,1,144,0,0,3,11,0,0,193,61,0,0,0,11,3,0,0,41],[0,0,1,64,3,48,0,156,0,0,3,39,0,0,65,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,2,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,80,1,0,0,65,0,0,2,89,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,2,74,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,1,45,1,0,0,65,0,0,4,170,0,1,4,46,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,20,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,81,1,0,0,65,0,0,2,89,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,35,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,99,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,100,1,0,0,65,0,0,2,101,0,0,1,61],[0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,41,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,82,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,1,83,1,0,0,65,0,0,2,101,0,0,1,61,0,0,0,0,2,8,0,75,0,0,2,50,0,0,193,61],[0,0,0,7,2,0,0,41,0,0,0,96,2,32,0,57,0,0,0,0,3,0,0,25,0,0,0,6,8,0,0,41],[0,0,0,0,4,147,0,75,0,0,2,76,0,0,129,61,0,0,0,0,4,163,0,75,0,0,2,239,0,0,33,61],[0,0,1,16,4,48,0,57,0,0,0,0,7,100,0,75,0,0,2,74,0,0,33,61,0,0,0,0,3,50,0,25],[0,0,0,0,3,49,3,79,0,0,0,0,3,3,4,59,0,0,1,48,3,48,1,152,0,0,0,0,3,4,0,25],[0,0,2,28,0,0,97,61,0,0,2,70,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,24,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,91,1,0,0,65,0,0,2,89,0,0,1,61,0,0,0,0,50,137,0,217,0,0,1,16,2,32,0,140],[0,0,0,6,8,0,0,41,0,0,2,239,0,0,193,61,0,0,0,7,2,0,0,41,0,0,0,96,2,32,0,57],[0,0,0,0,3,0,0,25,0,0,0,0,4,147,0,75,0,0,2,76,0,0,129,61,0,0,0,0,4,163,0,75],[0,0,2,239,0,0,33,61,0,0,1,16,4,48,0,57,0,0,0,0,7,100,0,75,0,0,2,74,0,0,33,61],[0,0,0,0,3,50,0,25,0,0,0,0,3,49,3,79,0,0,0,0,3,3,4,59,0,0,1,48,3,48,1,152],[0,0,0,0,3,4,0,25,0,0,2,57,0,0,97,61,0,0,0,12,1,128,0,42,0,0,2,239,0,0,65,61],[0,0,0,11,1,16,0,108,0,0,2,229,0,0,161,61,0,0,0,0,1,0,0,25,0,0,4,171,0,1,4,48],[0,0,0,12,3,0,0,41,0,0,0,11,2,48,0,108,0,0,2,92,0,0,193,61,0,0,0,0,2,0,4,20],[0,0,1,86,3,32,0,156,0,0,2,104,0,0,65,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,8,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,89,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,52,1,0,0,65,0,0,4,171,0,1,4,48],[0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,35,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,84,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,1,85,1,0,0,65,0,0,0,228,0,16,4,63,0,0,1,60,1,0,0,65,0,0,4,171,0,1,4,48],[0,0,1,44,3,80,1,151,0,0,0,0,1,49,3,79,0,0,0,1,4,0,0,41,0,0,0,2,3,64,0,105],[0,0,1,44,3,48,1,151,0,0,0,0,1,49,3,223,0,0,0,192,2,32,2,16,0,0,1,65,2,32,1,151],[0,0,1,66,2,32,1,199,0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57,4,169,4,164,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,1,44,3,48,1,151,0,0,0,1,2,32,1,144],[0,0,2,189,0,0,97,61,0,0,0,63,2,48,0,57,0,0,1,67,4,32,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,1,48,6,64,0,156,0,0,4,32,0,0,33,61,0,0,0,1,5,80,1,144,0,0,4,32,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114],[0,0,2,148,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75,0,0,2,140,0,0,65,61],[0,0,0,0,5,0,0,75,0,0,2,150,0,0,97,61,0,0,0,31,5,48,1,143,0,0,0,5,3,48,2,114],[0,0,2,162,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,54,0,75,0,0,2,154,0,0,65,61,0,0,0,0,6,5,0,75,0,0,2,177,0,0,97,61],[0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25,0,0,0,3,5,80,2,16],[0,0,0,0,6,3,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,19,4,53,0,0,1,44,3,0,0,65,0,0,0,64,1,0,4,61,0,0,1,44,5,16,0,156],[0,0,0,0,3,1,64,25,0,0,0,64,3,48,2,16,0,0,0,0,2,2,4,51,0,0,0,32,2,32,0,140],[0,0,2,216,0,0,193,61,0,0,0,0,2,4,4,51,0,0,0,0,0,33,4,53,0,0,1,78,1,48,1,199],[0,0,4,170,0,1,4,46,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,2,200,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,2,193,0,0,65,61],[0,0,0,0,5,4,0,75,0,0,2,214,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16],[0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,4,171,0,1,4,48],[0,0,0,68,2,16,0,57,0,0,1,87,4,0,0,65,0,0,0,0,0,66,4,53,0,0,0,36,2,16,0,57],[0,0,0,31,4,0,0,57,0,0,0,0,0,66,4,53,0,0,1,50,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,1,16,0,57,0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53,0,0,1,69,1,48,1,199],[0,0,4,171,0,1,4,48,0,0,0,0,1,8,0,75,0,0,2,239,0,0,193,61,0,0,1,50,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,21,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,1,90,1,0,0,65,0,0,2,89,0,0,1,61,0,0,1,88,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57,0,0,0,4,0,16,4,63,0,0,1,77,1,0,0,65],[0,0,4,171,0,1,4,48,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,31,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,51,1,0,0,65],[0,0,2,89,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,72,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,54,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,1,55,1,0,0,65,0,0,0,228,0,16,4,63,0,0,1,56,1,0,0,65],[0,0,1,4,0,16,4,63,0,0,1,57,1,0,0,65,0,0,4,171,0,1,4,48,0,0,1,50,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,2,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,1,63,1,0,0,65,0,0,2,89,0,0,1,61,0,0,1,50,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,36,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,1,58,1,0,0,65,0,0,0,196,0,16,4,63,0,0,1,59,1,0,0,65],[0,0,2,101,0,0,1,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,50,1,0,0,57,0,0,0,164,0,16,4,63,0,0,1,61,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,1,62,1,0,0,65,0,0,2,101,0,0,1,61,0,0,0,11,3,0,0,41],[0,0,0,32,3,48,1,144,0,0,3,50,0,0,193,61,0,0,1,50,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,2,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,1,79,1,0,0,65,0,0,2,89,0,0,1,61,0,0,0,0,3,0,4,20,0,0,1,44,5,48,0,156],[0,0,2,82,0,0,33,61,0,0,1,44,4,64,1,151,0,0,0,0,1,65,3,79,0,0,0,2,2,32,0,105],[0,0,1,44,2,32,1,151,0,0,0,0,1,33,3,223,0,0,0,192,2,48,2,16,0,0,1,65,2,32,1,151],[0,0,1,66,2,32,1,199,0,0,0,0,1,33,3,175,0,0,0,2,2,0,0,57,4,169,4,164,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,1,44,3,48,1,151,0,0,0,1,2,32,1,144],[0,0,4,36,0,0,97,61,0,0,0,63,2,48,0,57,0,0,1,67,4,32,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,1,48,6,64,0,156,0,0,4,32,0,0,33,61,0,0,0,1,5,80,1,144,0,0,4,32,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,0,5,50,4,54,0,0,0,1,4,0,3,103,0,0,0,31,6,48,0,57],[0,0,0,5,6,96,2,114,0,0,3,96,0,0,97,61,0,0,0,0,7,64,3,104,0,0,0,0,8,0,0,25],[0,0,0,5,9,128,2,16,0,0,0,0,10,149,0,25,0,0,0,0,9,151,3,79,0,0,0,0,9,9,4,59],[0,0,0,0,0,154,4,53,0,0,0,1,8,128,0,57,0,0,0,0,9,104,0,75,0,0,3,88,0,0,65,61],[0,0,0,0,6,0,0,75,0,0,3,98,0,0,97,61,0,0,0,31,6,48,1,143,0,0,0,5,3,48,2,114],[0,0,3,110,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,133,0,25],[0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,55,0,75,0,0,3,102,0,0,65,61,0,0,0,0,7,6,0,75,0,0,3,125,0,0,97,61],[0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,53,0,25,0,0,0,3,6,96,2,16],[0,0,0,0,7,3,4,51,0,0,0,0,7,103,1,207,0,0,0,0,7,103,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,6,96,0,137,0,0,0,0,1,97,2,47,0,0,0,0,1,97,1,207,0,0,0,0,1,113,1,159],[0,0,0,0,0,19,4,53,0,0,0,64,6,0,4,61,0,0,0,68,1,96,0,57,0,0,0,36,3,96,0,57],[0,12,0,0,0,6,0,29,0,0,0,4,6,96,0,57,0,0,0,0,2,2,4,51,0,0,0,32,2,32,0,140],[0,0,4,63,0,0,193,61,0,0,0,0,5,5,4,51,0,0,1,70,2,0,0,65,0,0,0,12,7,0,0,41],[0,0,0,0,0,39,4,53,0,0,0,32,2,0,0,57,0,0,0,0,0,38,4,53,0,0,0,10,6,0,0,41],[0,0,0,0,0,99,4,53,0,0,0,9,2,64,3,96,0,0,1,71,3,80,1,151,0,0,0,11,4,0,0,41],[0,0,0,219,4,64,2,16,0,0,1,72,4,64,1,151,0,0,0,0,4,52,1,159,0,0,0,31,3,96,1,143],[0,11,1,73,0,64,1,203,0,0,0,5,4,96,2,114,0,0,3,160,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,97,0,25,0,0,0,0,6,98,3,79,0,0,0,0,6,6,4,59],[0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75,0,0,3,152,0,0,65,61],[0,0,0,0,5,3,0,75,0,0,3,175,0,0,97,61,0,0,0,5,4,64,2,16,0,0,0,0,2,66,3,79],[0,0,0,0,4,65,0,25,0,0,0,3,3,48,2,16,0,0,0,0,5,4,4,51,0,0,0,0,5,53,1,207],[0,0,0,0,5,53,2,47,0,0,0,0,2,2,4,59,0,0,1,0,3,48,0,137,0,0,0,0,2,50,2,47],[0,0,0,0,2,50,1,207,0,0,0,0,2,82,1,159,0,0,0,0,0,36,4,53,0,0,0,10,2,0,0,41],[0,0,0,0,1,33,0,25,0,0,0,0,0,1,4,53,0,0,0,31,1,32,0,57,0,0,0,32,2,0,0,138],[0,0,0,0,1,33,1,111,0,0,1,44,2,0,0,65,0,0,0,12,4,0,0,41,0,0,1,44,3,64,0,156],[0,0,0,0,3,2,0,25,0,0,0,0,3,4,64,25,0,0,0,64,3,48,2,16,0,0,0,68,1,16,0,57],[0,0,1,44,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,19,1,159],[0,0,0,0,3,0,4,20,0,0,1,44,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,128,8,2,0,0,57,4,169,4,154,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,1,44,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,3,217,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,12,9,128,0,41,0,0,0,0,8,129,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75],[0,0,3,209,0,0,65,61,0,0,0,0,7,5,0,75,0,0,3,232,0,0,97,61,0,0,0,5,6,96,2,16],[0,0,0,0,7,97,3,79,0,0,0,12,6,96,0,41,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51],[0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53],[0,0,0,1,2,32,1,144,0,0,4,78,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143],[0,0,0,12,1,32,0,41,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57],[0,0,1,48,4,16,0,156,0,0,4,32,0,0,33,61,0,0,0,1,2,32,1,144,0,0,4,32,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140,0,0,2,74,0,0,65,61,0,0,1,74,1,0,0,65],[0,0,0,0,0,16,4,57,0,0,128,4,1,0,0,57,0,0,0,4,0,16,4,67,0,0,1,44,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,1,44,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,1,75,1,16,1,199,0,0,128,2,2,0,0,57,4,169,4,159,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,4,113,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75,0,0,2,74,0,0,97,61],[0,0,0,64,4,0,4,61,0,0,1,76,1,0,0,65,0,0,0,0,0,20,4,53,0,0,0,4,1,64,0,57],[0,0,0,11,2,0,0,41,0,0,0,0,0,33,4,53,0,0,1,44,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,1,44,3,32,0,156,0,0,0,0,2,1,128,25,0,0,1,44,3,64,0,156,0,12,0,0,0,4,0,29],[0,0,0,0,1,4,64,25,0,10,0,64,0,16,2,24,0,0,0,192,1,32,2,16,0,0,0,10,1,16,1,175],[0,0,1,77,1,16,1,199,0,0,128,4,2,0,0,57,4,169,4,154,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,4,114,0,0,97,61,0,0,0,12,1,0,0,41,0,0,1,48,1,16,0,156,0,0,4,146,0,0,161,61],[0,0,1,88,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,2,242,0,0,1,61],[0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,4,47,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,4,40,0,0,65,61,0,0,0,0,5,4,0,75],[0,0,4,61,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51],[0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159],[0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,4,171,0,1,4,48,0,0,1,50,2,0,0,65],[0,0,0,12,4,0,0,41,0,0,0,0,0,36,4,53,0,0,0,32,2,0,0,57,0,0,0,0,0,38,4,53],[0,0,0,25,2,0,0,57,0,0,0,0,0,35,4,53,0,0,1,68,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,1,44,1,0,0,65,0,0,1,44,2,64,0,156,0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16],[0,0,1,69,1,16,1,199,0,0,4,171,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,4,91,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,4,83,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,4,106,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,1,44,1,0,0,65,0,0,1,44,4,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159],[0,0,4,171,0,1,4,48,0,0,0,0,0,1,4,47,0,0,0,64,2,0,4,61,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,0,31,4,48,1,143,0,0,1,44,3,48,1,151,0,0,0,5,5,48,2,114],[0,0,4,130,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,4,122,0,0,65,61,0,0,0,0,6,4,0,75,0,0,4,145,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,4,106,0,0,1,61,0,0,0,12,2,0,0,41,0,0,0,64,0,32,4,63],[0,0,0,11,1,0,0,41,0,0,0,0,0,18,4,53,0,0,0,10,1,0,0,41,0,0,1,78,1,16,1,199],[0,0,4,170,0,1,4,46,0,0,0,0,0,1,4,47,0,0,4,157,0,33,4,33,0,0,0,1,2,0,0,57],[0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,4,162,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,4,167,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,4,169,0,0,4,50,0,0,4,170,0,1,4,46,0,0,4,171,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,96,6,216,181],[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,245,230,154,71],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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],[8,195,121,160,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,98,111,111,116,108,111,97,100,101,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,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,7,255,248],[69,110,99,111,100,101,100,32,100,97,116,97,32,108,101,110,103,116,104,32,115,104,111,117,108,100,32,98,101,32,52,32],[116,105,109,101,115,32,115,104,111,114,116,101,114,32,116,104,97,110,32,116,104,101,32,111,114,105,103,105,110,97,108,32],[98,121,116,101,99,111,100,101,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,164,0,0,0,128,0,0,0,0,0,0,0,0],[69,110,99,111,100,101,100,32,99,104,117,110,107,32,105,110,100,101,120,32,105,115,32,111,117,116,32,111,102,32,98,111],[117,110,100,115,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[69,110,99,111,100,101,100,32,99,104,117,110,107,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101],[32,111,114,105,103,105,110,97,108,32,98,121,116,101,99,111,100,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[112,111,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,0,0,0,0,0,0,0,0,32,0,0],[0,0,0,0,255,255,255,255,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,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,0,0,0,0,1,255,255,255,224],[115,104,97,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,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,100,0,0,0,0,0,0,0,0,0,0,0,0],[98,248,75,36,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,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,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],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0],[121,196,249,41,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,36,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[112,114,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],[112,112,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],[73,110,97,112,112,114,111,112,114,105,97,116,101,32,99,97,108,108,101,114,0,0,0,0,0,0,0,0,0,0,0,0],[73,110,99,111,114,114,101,99,116,32,110,117,109,98,101,114,32,111,102,32,105,110,105,116,105,97,108,32,115,116,111,114],[97,103,101,32,100,105,102,102,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[69,120,116,114,97,32,100,97,116,97,32,105,110,32,95,99,111,109,112,114,101,115,115,101,100,83,116,97,116,101,68,105],[102,102,115,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,0,0,0,0,0,1,0,0,0,0],[107,101,99,99,97,107,50,53,54,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0],[78,72,123,113,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],[79,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[114,119,58,32,101,110,117,109,32,107,101,121,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,0,0,0,0],[105,119,58,32,105,110,105,116,105,97,108,32,107,101,121,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,0],[116,114,97,110,115,102,111,114,109,32,111,114,32,110,111,32,99,111,109,112,114,101,115,115,105,111,110,58,32,99,111,109],[112,114,101,115,115,101,100,32,97,110,100,32,102,105,110,97,108,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0],[117,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0],[115,117,98,58,32,105,110,105,116,105,97,108,32,109,105,110,117,115,32,99,111,110,118,101,114,116,101,100,32,110,111,116],[32,101,113,117,97,108,32,116,111,32,102,105,110,97,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[97,100,100,58,32,105,110,105,116,105,97,108,32,112,108,117,115,32,99,111,110,118,101,114,116,101,100,32,110,111,116,32],[101,113,117,97,108,32,116,111,32,102,105,110,97,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[101,110,117,109,101,114,97,116,105,111,110,32,105,110,100,101,120,32,115,105,122,101,32,105,115,32,116,111,111,32,108,97],[114,103,101,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,0,0,0,0,0,0,0,0,0,0],[147,237,218,30,222,226,171,166,87,171,181,200,3,117,136,80,212,87,97,62,0,250,54,95,145,189,19,44,198,68,90,138]],"0x0000000000000000000000000000000000008005":[[0,1,0,0,0,0,0,2,0,7,0,0,0,0,0,2,0,0,0,0,7,1,3,79,0,0,0,0,0,7,3,85],[0,0,0,128,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,0,1,7,0,25,0,0,0,96,1,16,2,112],[0,0,0,47,1,16,1,151,0,0,0,1,2,32,1,144,0,0,0,45,0,0,193,61,0,0,0,4,2,16,0,140],[0,0,0,92,0,0,65,61,0,0,0,0,2,7,4,59,0,0,0,224,2,32,2,112,0,0,0,49,3,32,0,156],[0,0,0,53,0,0,97,61,0,0,0,50,2,32,0,156,0,0,0,92,0,0,193,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,0,92,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,64,1,16,0,140],[0,0,0,92,0,0,65,61,0,0,0,4,1,112,3,112,0,0,0,0,1,1,4,59,0,0,0,51,2,16,0,156],[0,0,0,92,0,0,33,61,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,0,1,0,0,25],[0,7,0,0,0,7,3,83,0,184,0,161,0,0,4,15,0,0,0,7,2,0,3,95,0,0,0,36,2,32,3,112],[0,0,0,0,2,2,4,59,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,0,1,0,0,25],[0,184,0,161,0,0,4,15,0,0,0,0,1,1,4,26,0,0,0,128,0,16,4,63,0,0,0,59,1,0,0,65],[0,0,0,185,0,1,4,46,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,0,92,0,0,193,61],[0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,48,1,0,0,65],[0,0,0,185,0,1,4,46,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,92,0,0,193,61],[0,0,0,4,2,16,0,138,0,0,0,64,2,32,0,140,0,0,0,92,0,0,65,61,0,0,0,4,2,112,3,112],[0,0,0,0,2,2,4,59,0,3,0,0,0,2,0,29,0,0,0,51,2,32,0,156,0,0,0,92,0,0,33,61],[0,0,0,36,2,112,3,112,0,0,0,0,2,2,4,59,0,0,0,52,3,32,0,156,0,0,0,92,0,0,33,61],[0,0,0,35,3,32,0,57,0,0,0,53,4,0,0,65,0,0,0,0,5,19,0,75,0,0,0,0,5,0,0,25],[0,0,0,0,5,4,128,25,0,0,0,53,3,48,1,151,0,0,0,0,6,3,0,75,0,0,0,0,4,0,128,25],[0,0,0,53,3,48,0,156,0,0,0,0,4,5,192,25,0,0,0,0,3,4,0,75,0,0,0,92,0,0,193,61],[0,0,0,4,3,32,0,57,0,0,0,0,3,55,3,79,0,0,0,0,3,3,4,59,0,2,0,0,0,3,0,29],[0,0,0,52,3,48,0,156,0,0,0,92,0,0,33,61,0,1,0,36,0,32,0,61,0,0,0,2,2,0,0,41],[0,0,0,6,2,32,2,16,0,0,0,1,2,32,0,41,0,0,0,0,1,18,0,75,0,0,0,94,0,0,161,61],[0,0,0,0,1,0,0,25,0,0,0,186,0,1,4,48,0,0,0,0,1,0,4,17,0,0,128,6,1,16,0,140],[0,0,0,149,0,0,193,61,0,0,0,2,1,0,0,107,0,0,0,147,0,0,97,61,0,0,0,47,4,0,0,65],[0,0,128,16,5,0,0,57,0,0,0,0,2,0,0,25,0,7,0,0,0,5,0,29,0,5,0,0,0,2,0,29],[0,0,0,6,1,32,2,16,0,0,0,1,1,16,0,41,0,0,0,32,2,16,0,57,0,0,0,0,2,32,3,103],[0,0,0,0,1,16,3,103,0,0,0,0,1,1,4,59,0,6,0,0,0,1,0,29,0,0,0,0,1,2,4,59],[0,4,0,0,0,1,0,29,0,0,0,3,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63],[0,0,0,0,1,0,4,20,0,0,0,47,2,16,0,156,0,0,0,0,1,4,128,25,0,0,0,192,1,16,2,16],[0,0,0,58,1,16,1,199,0,0,0,0,2,5,0,25,0,184,0,179,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,92,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,6,2,0,0,41,0,0,0,0,0,32,4,53],[0,0,0,32,0,16,4,63,0,0,0,0,1,0,4,20,0,0,0,47,2,16,0,156,0,0,0,47,1,0,128,65],[0,0,0,192,1,16,2,16,0,0,0,58,1,16,1,199,0,0,0,7,2,0,0,41,0,184,0,179,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,0,92,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,4,2,0,0,41],[0,0,0,0,0,33,4,27,0,0,0,5,2,0,0,41,0,0,0,1,2,32,0,57,0,0,0,2,1,32,0,108],[0,0,0,47,4,0,0,65,0,0,0,7,5,0,0,41,0,0,0,103,0,0,65,61,0,0,0,0,1,0,0,25],[0,0,0,185,0,1,4,46,0,0,0,54,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,45,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,55,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,0,56,1,0,0,65,0,0,0,228,0,16,4,63,0,0,0,57,1,0,0,65],[0,0,0,186,0,1,4,48,0,0,0,47,2,0,0,65,0,0,0,47,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,0,3,0,4,20,0,0,0,47,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,64,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,58,1,16,1,199,0,0,128,16,2,0,0,57],[0,184,0,179,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,177,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25,0,0,0,186,0,1,4,48,0,0,0,182,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,0,184,0,0,4,50,0,0,0,185,0,1,4,46,0,0,0,186,0,1,4,48,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,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,173,126,35,46],[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,49,10,176,137],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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],[8,195,121,160,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,100,101,112,108,111,121,101,114,32,115,121],[115,116,101,109,32,99,111,110,116,114,97,99,116,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,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,32,0,0,0,128,0,0,0,0,0,0,0,0],[45,190,79,211,31,131,177,86,189,1,11,166,220,219,188,181,72,177,28,249,224,128,88,180,255,86,83,72,18,128,54,40]],"0x0000000000000000000000000000000000008002":[[0,2,0,0,0,0,0,2,0,0,0,128,4,0,0,57,0,0,0,64,0,64,4,63,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,0,87,3,48,1,151,0,0,0,1,2,32,1,144,0,0,0,32,0,0,193,61],[0,0,0,4,2,48,0,140,0,0,0,219,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112],[0,0,0,89,5,32,0,156,0,0,0,40,0,0,33,61,0,0,0,93,4,32,0,156,0,0,0,128,0,0,97,61],[0,0,0,94,4,32,0,156,0,0,0,155,0,0,97,61,0,0,0,95,2,32,0,156,0,0,0,219,0,0,193,61],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,219,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,32,2,32,0,140,0,0,0,219,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59],[0,0,0,97,2,16,0,156,0,0,0,219,0,0,33,61,0,0,0,0,1,1,4,26,0,0,0,178,0,0,1,61],[0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,0,219,0,0,193,61,0,0,0,32,1,0,0,57],[0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,88,1,0,0,65,0,0,1,86,0,1,4,46],[0,0,0,90,5,32,0,156,0,0,0,181,0,0,97,61,0,0,0,91,5,32,0,156,0,0,0,209,0,0,97,61],[0,0,0,92,2,32,0,156,0,0,0,219,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75],[0,0,0,219,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,0,219,0,0,65,61],[0,0,0,96,3,0,0,65,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,0,0,97,1,16,1,151],[0,0,1,0,2,16,0,140,0,0,0,124,0,0,65,61,0,0,0,128,4,0,0,57,0,0,0,0,5,1,4,26],[0,0,0,0,2,5,0,75,0,0,0,120,0,0,193,61,0,2,0,0,0,5,0,29,0,0,0,98,2,0,0,65],[0,0,0,128,0,32,4,63,0,0,0,132,0,16,4,63,0,0,0,87,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,0,87,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,0,99,1,16,1,199],[0,0,128,3,2,0,0,57,1,85,1,80,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,87,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,0,92,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79,0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57],[0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,0,84,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,0,107,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,0,253,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,128,4,16,1,191],[0,0,0,64,0,64,4,63,0,0,0,32,1,48,0,140,0,0,0,219,0,0,65,61,0,0,0,128,1,0,4,61],[0,0,0,0,1,1,0,75,0,0,0,96,3,0,0,65,0,0,0,2,5,0,0,41,0,0,0,124,0,0,193,61],[0,0,0,100,1,80,1,151,0,0,0,96,3,0,0,65,0,0,0,101,1,16,0,156,0,0,0,0,3,5,192,25],[0,0,0,0,0,52,4,53,0,0,0,64,1,64,2,16,0,0,0,102,1,16,1,199,0,0,1,86,0,1,4,46],[0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,219,0,0,193,61,0,0,0,4,2,48,0,138],[0,0,0,64,2,32,0,140,0,0,0,219,0,0,65,61,0,0,0,4,2,16,3,112,0,0,0,0,2,2,4,59],[0,0,0,97,3,32,0,156,0,0,0,219,0,0,33,61,0,0,0,36,1,16,3,112,0,0,0,0,1,1,4,59],[0,0,0,0,3,0,4,17,0,0,128,6,3,48,0,140,0,0,0,241,0,0,193,61,0,0,0,100,3,16,1,152],[0,0,0,238,0,0,97,61,0,0,0,106,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,43,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,110,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,0,111,1,0,0,65,0,0,0,250,0,0,1,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,0,219,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140],[0,0,0,219,0,0,65,61,0,0,0,4,1,16,3,112,0,0,0,0,1,1,4,59,0,0,0,97,1,16,1,151],[0,0,1,0,2,16,0,140,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57,0,0,0,0,1,1,4,26],[0,0,0,0,3,1,0,75,0,0,0,1,2,32,97,191,0,0,0,100,3,16,1,151,0,0,0,101,3,48,0,156],[0,0,0,0,3,0,0,25,0,0,0,1,3,0,96,57,0,0,0,0,2,50,1,160,0,0,0,219,1,16,2,112],[0,0,0,105,1,16,1,151,0,0,0,0,1,0,192,25,0,0,0,128,0,16,4,63,0,0,0,104,1,0,0,65],[0,0,1,86,0,1,4,46,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,219,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,64,2,32,0,140,0,0,0,219,0,0,65,61,0,0,0,4,2,16,3,112],[0,0,0,0,3,2,4,59,0,0,0,97,2,48,0,156,0,0,0,219,0,0,33,61,0,0,0,36,1,16,3,112],[0,0,0,0,1,1,4,59,0,2,0,0,0,1,0,29,0,0,0,0,1,0,4,17,0,0,128,6,1,16,0,140],[0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57,0,1,0,0,0,3,0,29,1,85,1,32,0,0,4,15],[0,0,0,2,1,0,0,41,0,0,0,100,1,16,1,151,0,0,0,101,1,16,0,156,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,96,57,1,85,1,56,0,0,4,15,0,0,0,2,1,0,0,41,0,0,0,1,2,0,0,41],[0,0,0,238,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,0,219,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,0,219,0,0,65,61,0,0,0,4,1,16,3,112],[0,0,0,0,2,1,4,59,0,0,0,97,1,32,0,156,0,0,0,221,0,0,161,61,0,0,0,0,1,0,0,25],[0,0,1,87,0,1,4,48,0,0,0,0,1,0,4,17,0,0,128,6,1,16,0,140,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,96,57,0,2,0,0,0,2,0,29,1,85,1,32,0,0,4,15,0,0,0,2,1,0,0,41],[0,0,0,0,1,1,4,26,0,1,0,0,0,1,0,29,0,0,0,100,1,16,1,151,0,0,0,101,1,16,0,156],[0,0,0,0,1,0,0,25,0,0,0,1,1,0,96,57,1,85,1,56,0,0,4,15,0,0,0,1,1,0,0,41],[0,0,0,103,1,16,1,151,0,0,0,2,2,0,0,41,0,0,0,0,0,18,4,27,0,0,0,0,1,0,0,25],[0,0,1,86,0,1,4,46,0,0,0,106,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,45,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,107,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,0,108,1,0,0,65,0,0,0,228,0,16,4,63,0,0,0,109,1,0,0,65],[0,0,1,87,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,1,10,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,1,2,0,0,65,61,0,0,0,0,6,4,0,75,0,0,1,25,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,0,87,1,0,0,65,0,0,0,87,4,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16,0,0,0,0,1,33,1,159,0,0,1,87,0,1,4,48],[0,0,0,0,1,1,0,75,0,0,1,35,0,0,97,61,0,0,0,0,0,1,4,45,0,0,0,64,1,0,4,61],[0,0,0,100,2,16,0,57,0,0,0,108,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57],[0,0,0,107,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,45,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,106,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,87,2,0,0,65,0,0,0,87,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,112,1,16,1,199,0,0,1,87,0,1,4,48],[0,0,0,0,1,1,0,75,0,0,1,59,0,0,97,61,0,0,0,0,0,1,4,45,0,0,0,64,1,0,4,61],[0,0,0,100,2,16,0,57,0,0,0,113,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57],[0,0,0,114,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,46,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,106,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,87,2,0,0,65,0,0,0,87,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,0,112,1,16,1,199,0,0,1,87,0,1,4,48],[0,0,1,83,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,1,85,0,0,4,50,0,0,1,86,0,1,4,46,0,0,1,87,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,79,30,27,223],[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,79,30,27,224],[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,194,228,255,151],[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,224,63,225,119],[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,13,70,81,170],[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,24,6,170,24],[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,77,226,228,104],[197,210,70,1,134,247,35,60,146,126,125,178,220,199,3,192,229,0,182,83,202,130,39,59,123,250,216,4,93,133,164,112],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[90,169,182,181,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,36,0,0,0,128,0,0,0,0,0,0,0,0],[0,255,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,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,128,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,31,255,224],[8,195,121,160,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],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,100,101,112,108,111,121,101,114,32,115,121],[115,116,101,109,32,99,111,110,116,114,97,99,116,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[67,111,100,101,32,104,97,115,104,32,105,115,32,110,111,116,32,102,111,114,32,97,32,99,111,110,115,116,114,117,99,116],[101,100,32,99,111,110,116,114,97,99,116,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,132,0,0,0,0,0,0,0,0,0,0,0,0],[111,110,32,99,111,110,115,116,114,117,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[67,111,100,101,32,104,97,115,104,32,105,115,32,110,111,116,32,102,111,114,32,97,32,99,111,110,116,114,97,99,116,32],[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],[15,243,112,141,14,128,123,204,107,242,108,43,72,61,107,108,176,29,30,252,146,140,189,19,149,85,233,118,103,32,255,241]],"0x0000000000000000000000000000000000008008":[[0,2,0,0,0,0,0,2,0,14,0,0,0,0,0,2,0,1,0,0,0,1,3,85,0,0,0,0,3,1,0,25],[0,0,0,96,5,48,2,112,0,0,2,60,0,80,1,157,0,0,0,128,4,0,0,57,0,0,0,64,0,64,4,63],[0,0,2,60,3,80,1,151,0,0,0,1,2,32,1,144,0,0,0,49,0,0,193,61,0,0,0,4,2,48,0,140],[0,0,1,37,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,224,2,32,2,112,0,0,2,62,6,32,0,156],[0,0,0,57,0,0,33,61,0,0,2,65,4,32,0,156,0,0,0,113,0,0,97,61,0,0,2,66,2,32,0,156],[0,0,1,37,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,1,37,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,96,2,32,0,140,0,0,1,37,0,0,65,61,0,0,0,4,1,16,3,112],[0,0,0,0,3,1,4,59,0,0,0,0,1,3,0,75,0,0,0,0,1,0,0,25,0,0,0,1,1,0,192,57],[0,0,0,0,1,19,0,75,0,0,1,37,0,0,193,61,0,0,0,0,2,0,4,17,0,0,2,129,1,32,0,156],[0,0,0,236,0,0,65,61,0,0,2,87,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,52,1,0,0,57,0,0,0,164,0,16,4,63,0,0,2,131,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,2,132,1,0,0,65,0,0,0,228,0,16,4,63,0,0,2,133,1,0,0,65],[0,0,8,236,0,1,4,48,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75,0,0,1,37,0,0,193,61],[0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,2,61,1,0,0,65],[0,0,8,235,0,1,4,46,0,0,2,63,6,32,0,156,0,0,0,174,0,0,97,61,0,0,2,64,2,32,0,156],[0,0,1,37,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,1,37,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,1,37,0,0,65,61,0,0,0,4,2,16,3,112],[0,0,0,0,2,2,4,59,0,0,2,67,6,32,0,156,0,0,1,37,0,0,33,61,0,0,0,35,6,32,0,57],[0,0,2,68,7,0,0,65,0,0,0,0,8,54,0,75,0,0,0,0,8,0,0,25,0,0,0,0,8,7,128,25],[0,0,2,68,6,96,1,151,0,0,0,0,9,6,0,75,0,0,0,0,7,0,128,25,0,0,2,68,6,96,0,156],[0,0,0,0,7,8,192,25,0,0,0,0,6,7,0,75,0,0,1,37,0,0,193,61,0,0,0,4,6,32,0,57],[0,0,0,0,6,97,3,79,0,0,0,0,7,6,4,59,0,0,2,67,6,112,0,156,0,0,1,37,0,0,33,61],[0,0,0,36,8,32,0,57,0,0,0,0,2,135,0,25,0,0,0,0,3,35,0,75,0,0,1,37,0,0,65,61],[0,0,0,0,9,0,4,20,0,0,0,0,3,0,4,20,0,0,2,69,6,48,0,156,0,0,1,74,0,0,65,61],[0,0,0,68,1,64,0,57,0,0,2,89,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,1,64,0,57],[0,0,0,8,2,0,0,57,0,0,0,0,0,33,4,53,0,0,2,87,1,0,0,65,0,0,0,0,0,20,4,53],[0,0,0,4,1,64,0,57,0,0,0,32,2,0,0,57,0,0,0,0,0,33,4,53,0,0,2,60,1,0,0,65],[0,0,2,60,2,64,0,156,0,0,0,0,4,1,128,25,0,0,0,64,1,64,2,16,0,0,2,88,1,16,1,199],[0,0,8,236,0,1,4,48,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,1,37,0,0,193,61],[0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,1,37,0,0,65,61,0,0,0,0,2,0,4,17],[0,0,128,4,2,32,0,140,0,0,0,226,0,0,193,61,0,0,0,4,1,16,3,112,0,0,0,0,2,1,4,59],[0,0,0,3,1,0,0,57,0,13,0,0,0,1,0,29,0,0,0,0,1,1,4,26,0,0,0,160,0,16,4,63],[0,14,0,0,0,2,0,29,0,0,0,192,0,32,4,63,0,0,0,64,1,0,0,57,0,0,0,128,0,16,4,63],[0,0,0,224,1,0,0,57,0,0,0,64,0,16,4,63,0,0,2,60,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,2,60,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,2,135,1,16,1,199],[0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,37,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,13,2,0,0,41,0,0,0,0,0,18,4,27,0,0,0,0,1,0,4,19],[0,0,2,60,3,16,1,151,0,0,0,14,6,0,0,41,0,0,0,224,1,96,2,112,0,0,255,255,2,16,1,143],[0,0,0,5,1,32,2,16,0,0,0,4,4,16,1,191,0,0,0,0,81,67,0,169,0,0,0,0,84,65,0,217],[0,0,0,0,3,67,0,75,0,0,1,157,0,0,193,61,0,0,0,1,2,32,2,112,0,0,0,1,3,32,0,57],[0,0,0,7,66,48,0,201,0,0,0,7,84,32,1,26,0,0,0,0,3,67,0,75,0,0,1,157,0,0,193,61],[0,0,0,0,1,33,0,25,0,0,2,136,2,16,0,156,0,0,1,223,0,0,65,61,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,2,89,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,8,3,0,0,57,0,0,5,238,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75],[0,0,1,37,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,32,2,32,0,140,0,0,1,37,0,0,65,61],[0,0,0,4,2,16,3,112,0,0,0,0,2,2,4,59,0,0,2,67,4,32,0,156,0,0,1,37,0,0,33,61],[0,0,0,35,4,32,0,57,0,0,2,68,5,0,0,65,0,0,0,0,6,52,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,2,68,4,64,1,151,0,0,0,0,7,4,0,75,0,0,0,0,5,0,128,25],[0,0,2,68,4,64,0,156,0,0,0,0,5,6,192,25,0,0,0,0,4,5,0,75,0,0,1,37,0,0,193,61],[0,0,0,4,4,32,0,57,0,0,0,0,5,65,3,79,0,0,0,0,5,5,4,59,0,11,0,0,0,5,0,29],[0,0,2,67,5,80,0,156,0,0,1,37,0,0,33,61,0,0,0,36,2,32,0,57,0,10,0,0,0,2,0,29],[0,0,0,11,2,32,0,41,0,0,0,0,2,50,0,75,0,0,1,37,0,0,33,61,0,0,0,0,2,0,4,17],[0,0,128,1,2,32,0,140,0,0,1,163,0,0,193,61,0,0,0,11,2,0,0,41,0,0,0,4,2,32,0,140],[0,0,1,37,0,0,65,61,0,0,0,32,2,64,0,57,0,0,0,0,2,33,3,79,0,0,0,0,4,2,4,59],[0,0,2,92,2,64,0,156,0,0,2,155,0,0,65,61,0,0,2,87,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,20,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,2,128,1,0,0,65,0,0,0,233,0,0,1,61,0,0,2,87,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,20,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,2,134,1,0,0,65,0,0,0,196,0,16,4,63,0,0,2,91,1,0,0,65,0,0,8,236,0,1,4,48],[0,14,0,0,0,3,0,29,0,13,0,0,0,2,0,29,0,0,2,75,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,2,60,1,0,0,65,0,0,0,0,2,0,4,20,0,0,2,60,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,2,130,1,16,1,199,0,0,128,11,2,0,0,57,8,234,8,224,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151,0,0,0,32,4,48,0,140],[0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114],[0,0,1,10,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79],[0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57,0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,103,0,75,0,0,1,2,0,0,65,61,0,0,0,0,7,5,0,75,0,0,1,25,0,0,97,61],[0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79,0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57],[0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59],[0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159],[0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144,0,0,1,39,0,0,97,61,0,0,0,31,1,64,0,57],[0,0,0,96,2,16,1,143,0,0,0,128,8,32,1,191,0,0,0,64,0,128,4,63,0,0,0,32,1,48,0,140],[0,0,0,14,5,0,0,41,0,0,1,37,0,0,65,61,0,0,0,128,1,0,4,61,0,0,255,255,3,16,0,140],[0,0,1,171,0,0,161,61,0,0,0,0,1,0,0,25,0,0,8,236,0,1,4,48,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,1,52,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,1,44,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,1,67,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,2,60,1,0,0,65],[0,0,2,60,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,8,236,0,1,4,48,0,14,0,0,0,9,0,29,0,13,0,0,0,7,0,29],[0,12,0,0,0,8,0,29,0,0,2,60,4,128,1,151,0,0,0,0,1,65,3,79,0,0,0,0,2,37,0,73],[0,0,2,60,2,32,1,151,0,0,0,0,1,33,3,223,0,0,0,192,2,48,2,16,0,0,2,70,2,32,1,151],[0,0,2,71,2,32,1,199,0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57,8,234,8,229,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151,0,0,0,1,2,32,1,144],[0,0,1,234,0,0,97,61,0,0,0,63,2,48,0,57,0,0,2,72,4,32,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,2,67,6,64,0,156,0,0,1,219,0,0,33,61,0,0,0,1,5,80,1,144,0,0,1,219,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114],[0,0,1,120,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59],[0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75,0,0,1,112,0,0,65,61],[0,0,0,0,5,0,0,75,0,0,1,122,0,0,97,61,0,0,0,31,5,48,1,143,0,0,0,5,3,48,2,114],[0,0,0,14,9,0,0,41,0,0,1,135,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,54,0,75,0,0,1,127,0,0,65,61,0,0,0,0,6,5,0,75],[0,0,1,150,0,0,97,61,0,0,0,5,3,48,2,16,0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25],[0,0,0,3,5,80,2,16,0,0,0,0,6,3,4,51,0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,5,80,0,137,0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,19,4,53,0,0,0,0,1,2,4,51,0,0,0,32,1,16,0,140],[0,0,5,232,0,0,193,61,0,0,0,0,4,4,4,51,0,0,0,0,2,0,4,20,0,0,0,0,1,41,0,75],[0,0,3,173,0,0,129,61,0,0,2,126,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57],[0,0,0,4,0,16,4,63,0,0,2,127,1,0,0,65,0,0,8,236,0,1,4,48,0,0,2,87,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,31,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,2,90,1,0,0,65,0,0,0,233,0,0,1,61,0,0,1,64,3,32,0,57],[0,0,0,64,0,48,4,63,0,0,0,0,0,8,4,53,0,0,0,160,3,32,0,57,0,11,0,0,0,3,0,29],[0,0,0,0,0,83,4,53,0,0,2,79,4,0,0,65,0,0,0,0,3,5,0,75,0,0,0,0,4,0,96,25],[0,0,0,224,3,32,0,57,0,14,0,0,0,3,0,29,0,0,0,13,9,0,0,41,0,0,0,0,0,147,4,53],[0,0,0,192,3,32,0,57,0,9,0,0,0,3,0,29,0,0,0,0,0,19,4,53,0,0,0,1,3,0,3,103],[0,0,0,36,5,48,3,112,0,0,0,0,5,5,4,59,0,0,1,32,7,32,0,57,0,0,1,0,2,32,1,191],[0,10,0,0,0,2,0,29,0,0,0,0,0,82,4,53,0,0,0,68,2,48,3,112,0,0,0,0,6,2,4,59],[0,12,0,0,0,7,0,29,0,0,0,0,0,103,4,53,0,0,0,0,2,8,4,51,0,0,0,248,7,32,2,16],[0,0,0,64,2,0,4,61,0,0,0,32,3,32,0,57,0,0,0,0,0,115,4,53,0,0,0,33,7,32,0,57],[0,0,0,0,0,71,4,53,0,0,0,240,1,16,2,16,0,0,0,34,4,32,0,57,0,0,0,0,0,20,4,53],[0,0,0,96,1,144,2,16,0,0,0,36,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,88,1,32,0,57],[0,0,0,0,0,97,4,53,0,0,0,56,1,32,0,57,0,0,0,0,0,81,4,53,0,0,0,88,1,0,0,57],[0,0,0,0,0,18,4,53,0,0,2,80,1,32,0,156,0,0,2,5,0,0,161,61,0,0,2,126,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,1,160,0,0,1,61,0,0,0,40,1,16,0,57],[0,0,0,0,2,16,4,32,0,0,0,64,1,0,4,61,0,0,0,0,2,2,0,75,0,0,2,136,0,0,193,61],[0,0,0,68,2,16,0,57,0,0,2,86,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,20,3,0,0,57,0,0,5,238,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,1,245,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,1,238,0,0,65,61,0,0,0,0,5,4,0,75,0,0,2,3,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,8,236,0,1,4,48,0,0,0,128,1,32,0,57,0,0,0,64,0,16,4,63,0,0,2,60,1,0,0,65],[0,0,2,60,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,64,3,48,2,16,0,0,0,0,2,2,4,51],[0,0,2,60,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,96,2,32,2,16,0,0,0,0,2,50,1,159],[0,0,0,0,3,0,4,20,0,0,2,60,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16],[0,0,0,0,1,33,1,159,0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,0,13,0,0,0,8,0,29],[8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,37,0,0,97,61,0,0,0,0,2,1,4,59],[0,0,0,64,1,0,4,61,0,0,0,64,3,16,0,57,0,0,0,0,4,0,4,26,0,0,0,0,0,35,4,53],[0,0,0,32,2,16,0,57,0,0,0,0,0,66,4,53,0,0,0,64,3,0,0,57,0,0,0,0,0,49,4,53],[0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61,0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63],[0,0,2,60,3,0,0,65,0,0,2,60,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,64,2,32,2,16],[0,0,0,0,1,1,4,51,0,0,2,60,4,16,0,156,0,0,0,0,1,3,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,2,60,4,32,0,156,0,0,0,0,2,3,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57],[8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144,0,0,1,37,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,0,0,16,4,27,0,0,0,1,3,0,0,57,0,0,0,0,2,3,4,26,0,0,0,1,1,0,0,138],[0,8,0,0,0,2,0,29,0,0,0,0,1,18,0,75,0,0,1,157,0,0,97,61,0,0,0,8,1,0,0,41],[0,0,0,1,1,16,0,57,0,0,0,0,0,19,4,27,0,0,0,13,1,0,0,41,0,0,0,0,1,1,4,51],[0,0,0,255,1,16,1,143,0,0,0,64,2,0,4,61,0,0,0,0,1,18,4,54,0,0,0,11,4,0,0,41],[0,0,0,0,4,4,4,51,0,0,0,0,4,4,0,75,0,0,0,0,4,0,0,25,0,0,0,1,4,0,192,57],[0,0,0,0,0,65,4,53,0,0,0,9,1,0,0,41,0,0,0,0,1,1,4,51,0,0,255,255,1,16,1,143],[0,0,0,64,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,14,1,0,0,41,0,0,0,0,1,1,4,51],[0,0,2,78,1,16,1,151,0,0,0,96,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,10,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,128,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,12,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,160,4,32,0,57,0,0,0,0,0,20,4,53,0,0,2,60,5,0,0,65],[0,0,2,60,1,32,0,156,0,0,0,0,2,5,128,25,0,0,0,0,1,0,4,20,0,0,2,60,4,16,0,156],[0,0,0,0,1,5,128,25,0,0,0,64,2,32,2,16,0,0,0,192,1,16,2,16,0,0,0,0,1,33,1,159],[0,0,2,81,1,16,1,199,0,0,128,13,2,0,0,57,0,0,2,82,4,0,0,65,8,234,8,219,0,0,4,15],[0,0,0,1,1,32,1,144,0,0,1,37,0,0,97,61,0,0,0,120,1,0,0,57,0,0,0,0,3,16,4,32],[0,0,0,64,1,0,4,61,0,0,2,60,2,16,0,156,0,0,2,60,2,0,0,65,0,0,0,0,2,1,64,25],[0,0,0,64,2,32,2,16,0,0,0,0,3,3,0,75,0,0,5,2,0,0,193,61,0,0,0,68,3,16,0,57],[0,0,2,86,4,0,0,65,0,0,0,0,0,67,4,53,0,0,0,36,3,16,0,57,0,0,0,20,4,0,0,57],[0,0,0,0,0,67,4,53,0,0,2,87,3,0,0,65,0,0,0,0,0,49,4,53,0,0,0,4,1,16,0,57],[0,0,0,32,3,0,0,57,0,0,0,0,0,49,4,53,0,0,2,88,1,32,1,199,0,0,8,236,0,1,4,48],[0,0,0,0,0,97,4,53,0,0,2,60,2,0,0,65,0,0,0,0,3,0,4,20,0,0,2,60,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,2,60,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159,0,0,2,137,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,1,3,0,0,57,0,0,2,138,4,0,0,65,8,234,8,219,0,0,4,15,0,0,0,1,1,32,1,144],[0,0,1,37,0,0,97,61,0,0,0,0,1,0,0,25,0,0,8,235,0,1,4,46,0,0,0,0,1,49,3,79],[0,6,0,0,0,4,0,29,0,0,0,224,6,64,2,112,0,0,2,93,2,0,0,65,0,0,0,64,0,32,4,63],[0,0,8,0,2,0,0,57,0,7,0,0,0,2,0,29,0,0,0,128,0,32,4,63,0,0,0,160,2,0,0,57],[0,0,0,0,3,0,0,25,0,0,0,5,4,48,2,16,0,0,0,0,4,65,3,79,0,0,0,0,4,4,4,59],[0,0,0,0,2,66,4,54,0,0,0,1,3,48,0,57,0,0,8,0,4,48,0,140,0,0,2,165,0,0,65,61],[0,0,0,4,2,0,0,57,0,0,0,6,1,0,0,41,0,0,2,71,1,16,0,156,0,0,0,0,8,0,0,25],[0,0,3,10,0,0,129,61,0,0,0,0,1,0,4,26,0,0,0,0,1,24,0,75,0,0,3,152,0,0,193,61],[0,13,0,0,0,2,0,29,0,0,0,6,1,0,0,41,0,0,2,97,1,16,0,156,0,0,2,194,0,0,33,61],[0,0,2,98,1,0,0,65,0,0,0,128,2,0,4,61,0,0,0,0,2,98,0,75,0,0,3,6,0,0,161,61],[0,0,0,5,2,96,2,16,0,0,0,160,2,32,0,57,0,0,0,0,0,18,4,53,0,0,7,255,2,96,0,140],[0,0,0,1,6,96,0,57,0,0,2,185,0,0,65,61,0,9,0,64,0,0,0,61,0,8,128,16,0,0,0,61],[0,0,0,7,1,0,0,41,0,6,0,0,0,1,0,29,0,7,0,1,0,16,2,120,0,0,0,0,4,0,0,25],[0,0,0,1,1,64,2,16,0,0,0,128,2,0,4,61,0,0,0,0,3,18,0,75,0,0,3,6,0,0,161,61],[0,0,0,1,1,16,1,191,0,0,0,0,2,18,0,75,0,0,3,6,0,0,161,61,0,0,0,5,1,16,2,16],[0,0,0,160,1,16,0,57,0,0,0,0,2,1,4,51,0,14,0,0,0,4,0,29,0,0,0,6,1,64,2,16],[0,0,0,160,1,16,0,57,0,12,0,0,0,1,0,29,0,0,0,0,3,1,4,51,0,0,0,64,1,0,4,61],[0,0,0,64,4,16,0,57,0,0,0,0,0,36,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,50,4,53],[0,0,0,9,3,0,0,41,0,0,0,0,0,49,4,53,0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61],[0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63,0,0,2,60,3,32,0,156,0,0,2,60,4,0,0,65],[0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,2,60,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,2,74,1,16,1,199,0,0,0,8,2,0,0,41,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,37,0,0,97,61,0,0,0,128,2,0,4,61,0,0,0,14,4,0,0,41,0,0,0,0,2,66,0,75],[0,0,3,6,0,0,161,61,0,0,0,5,2,64,2,16,0,0,0,12,2,32,0,105,0,0,0,0,1,1,4,59],[0,0,0,0,0,18,4,53,0,0,0,1,4,64,0,57,0,0,0,7,1,64,0,108,0,0,2,200,0,0,65,61],[0,0,0,6,1,0,0,41,0,0,0,3,1,16,0,140,0,0,2,196,0,0,33,61,0,0,0,128,1,0,4,61],[0,0,0,0,1,1,0,75,0,0,5,6,0,0,193,61,0,0,2,126,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,50,1,0,0,57,0,0,1,160,0,0,1,61,0,0,0,4,1,0,0,57,0,9,0,89,0,0,0,146],[0,0,0,0,7,0,0,25,0,0,0,0,8,0,0,25,0,8,0,0,0,6,0,29,0,0,0,88,3,16,0,57],[0,13,0,0,0,3,0,29,0,0,0,11,2,48,0,108,0,0,1,37,0,0,33,61,0,0,0,10,2,16,0,41],[0,0,0,0,1,0,4,20,0,0,2,60,3,32,1,151,0,0,0,9,4,32,0,108,0,0,1,157,0,0,33,61],[0,0,0,88,2,32,0,57,0,0,0,0,4,0,0,49,0,0,0,0,5,36,0,75,0,0,1,157,0,0,65,61],[0,12,0,0,0,8,0,29,0,14,0,0,0,7,0,29,0,0,0,1,3,48,3,103,0,0,2,60,5,16,0,156],[0,0,0,167,0,0,33,61,0,0,0,0,2,36,0,73,0,0,2,60,2,32,1,151,0,0,0,0,2,35,3,223],[0,0,0,192,1,16,2,16,0,0,2,70,1,16,1,151,0,0,2,71,1,16,1,199,0,0,0,0,1,18,3,175],[0,0,128,16,2,0,0,57,8,234,8,229,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,2,60,3,48,1,151,0,0,0,1,2,32,1,144,0,0,4,202,0,0,97,61,0,0,0,63,2,48,0,57],[0,0,2,72,4,32,1,151,0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75],[0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,2,67,6,64,0,156,0,0,1,219,0,0,33,61],[0,0,0,1,5,80,1,144,0,0,1,219,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54],[0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114,0,0,3,74,0,0,97,61,0,0,0,0,6,0,0,49],[0,0,0,1,6,96,3,103,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25],[0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,87,0,75,0,0,3,66,0,0,65,61,0,0,0,0,5,0,0,75,0,0,3,76,0,0,97,61],[0,0,0,5,5,48,2,114,0,0,3,87,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,3,79,0,0,65,61,0,0,0,31,3,48,1,144],[0,0,3,102,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,84,0,25],[0,0,0,3,3,48,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,54,1,207,0,0,0,0,6,54,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47,0,0,0,0,1,49,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,0,1,2,4,51,0,0,0,32,1,16,0,140],[0,0,0,14,3,0,0,41,0,0,0,12,5,0,0,41,0,0,5,232,0,0,193,61,0,0,0,128,1,0,4,61],[0,0,0,0,1,49,0,75,0,0,3,6,0,0,161,61,0,0,0,0,2,4,4,51,0,0,0,5,1,48,2,16],[0,0,0,160,1,16,0,57,0,0,0,0,0,33,4,53,0,0,0,64,1,0,4,61,0,0,0,64,3,16,0,57],[0,0,0,0,0,35,4,53,0,0,0,64,2,0,0,57,0,0,0,0,2,33,4,54,0,0,0,0,0,82,4,53],[0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61,0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63],[0,0,2,60,3,32,0,156,0,0,2,60,4,0,0,65,0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16],[0,0,0,0,1,1,4,51,0,0,2,60,3,16,0,156,0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57],[8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144,0,0,0,8,6,0,0,41,0,0,0,14,7,0,0,41],[0,0,1,37,0,0,97,61,0,0,0,0,8,1,4,59,0,0,0,1,7,112,0,57,0,0,0,0,1,103,0,75],[0,0,0,13,2,0,0,41,0,0,0,0,1,2,0,25,0,0,3,15,0,0,65,61,0,0,2,177,0,0,1,61],[0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57,0,0,2,94,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,68,2,16,0,57,0,0,2,95,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,60,3,0,0,57,0,0,0,0,0,50,4,53,0,0,2,87,2,0,0,65,0,0,0,0,0,33,4,53],[0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53,0,0,2,60,2,0,0,65],[0,0,2,60,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16,0,0,2,96,1,16,1,199],[0,0,8,236,0,1,4,48,0,8,0,0,0,2,0,29,0,0,0,2,1,0,0,57,0,11,0,0,0,1,0,29],[0,0,0,0,3,1,4,26,0,0,0,64,1,0,4,61,0,0,0,64,2,16,0,57,0,10,0,0,0,4,0,29],[0,0,0,0,0,66,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,50,4,53,0,0,0,64,3,0,0,57],[0,9,0,0,0,3,0,29,0,0,0,0,0,49,4,53,0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61],[0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63,0,0,2,60,4,0,0,65,0,0,2,60,3,32,0,156],[0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,2,60,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,37,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,11,2,0,0,41,0,0,0,0,0,18,4,27],[0,0,2,75,1,0,0,65,0,0,0,64,4,0,4,61,0,11,0,0,0,4,0,29,0,0,0,0,0,20,4,53],[0,0,0,0,1,0,4,20,0,0,2,60,2,16,0,156,0,0,2,60,3,0,0,65,0,0,0,0,1,3,128,25],[0,0,2,60,2,64,0,156,0,0,0,0,3,4,64,25,0,0,0,64,2,48,2,16,0,0,0,192,1,16,2,16],[0,0,0,0,1,33,1,159,0,0,2,76,1,16,1,199,0,0,128,11,2,0,0,57,8,234,8,224,0,0,4,15],[0,0,0,11,10,0,0,41,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151],[0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143],[0,0,0,5,6,64,2,114,0,0,3,247,0,0,97,61,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,138,0,25,0,0,0,0,8,129,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,3,239,0,0,65,61,0,0,0,0,9,10,0,25],[0,0,0,0,7,5,0,75,0,0,4,7,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,6,105,0,25,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,4,229,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,1,16,1,143,0,0,0,0,2,145,0,25],[0,0,0,0,1,18,0,75,0,0,0,0,1,0,0,25,0,0,0,1,1,0,64,57,0,7,0,0,0,2,0,29],[0,0,2,67,2,32,0,156,0,0,1,219,0,0,33,61,0,0,0,1,1,16,1,144,0,0,1,219,0,0,193,61],[0,0,0,7,1,0,0,41,0,0,0,64,0,16,4,63,0,0,0,32,1,48,0,140,0,0,1,37,0,0,65,61],[0,0,0,0,1,9,4,51,0,0,255,255,2,16,0,140,0,0,1,37,0,0,33,61,0,0,0,7,2,0,0,41],[0,0,2,77,2,32,0,156,0,0,1,219,0,0,33,61,0,0,0,7,3,0,0,41,0,0,0,192,2,48,0,57],[0,0,0,64,0,32,4,63,0,0,0,0,4,0,4,16,0,0,2,78,2,64,1,151,0,0,0,96,5,48,0,57],[0,5,0,0,0,5,0,29,0,0,0,0,0,37,4,53,0,0,0,32,5,48,0,57,0,0,0,1,2,0,0,57],[0,11,0,0,0,2,0,29,0,3,0,0,0,5,0,29,0,0,0,0,0,37,4,53,0,0,0,160,2,48,0,57],[0,0,0,10,7,0,0,41,0,6,0,0,0,2,0,29,0,0,0,0,0,114,4,53,0,0,0,128,2,48,0,57],[0,0,0,0,8,0,4,17,0,4,0,0,0,2,0,29,0,0,0,0,0,130,4,53,0,0,0,0,0,3,4,53],[0,0,0,64,2,48,0,57,0,2,0,0,0,2,0,29,0,0,0,0,0,18,4,53,0,0,0,64,2,0,4,61],[0,0,0,32,3,32,0,57,0,0,0,0,0,3,4,53,0,0,0,33,5,32,0,57,0,0,2,79,6,0,0,65],[0,0,0,0,0,101,4,53,0,0,0,240,1,16,2,16,0,0,0,34,5,32,0,57,0,0,0,0,0,21,4,53],[0,0,0,96,1,64,2,16,0,0,0,36,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,88,1,32,0,57],[0,0,0,0,0,113,4,53,0,0,0,88,1,0,0,57,0,0,0,0,0,18,4,53,0,0,0,56,1,32,0,57],[0,1,0,0,0,8,0,29,0,0,0,0,0,129,4,53,0,0,2,80,1,32,0,156,0,0,1,219,0,0,33,61],[0,0,0,128,1,32,0,57,0,0,0,64,0,16,4,63,0,0,2,60,1,0,0,65,0,0,2,60,4,48,0,156],[0,0,0,0,3,1,128,25,0,0,0,64,3,48,2,16,0,0,0,0,2,2,4,51,0,0,2,60,4,32,0,156],[0,0,0,0,2,1,128,25,0,0,0,96,2,32,2,16,0,0,0,0,2,50,1,159,0,0,0,0,3,0,4,20],[0,0,2,60,4,48,0,156,0,0,0,0,3,1,128,25,0,0,0,192,1,48,2,16,0,0,0,0,1,33,1,159],[0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,37,0,0,97,61,0,0,0,0,2,1,4,59,0,0,0,64,1,0,4,61,0,0,0,64,3,16,0,57],[0,0,0,0,4,0,4,26,0,0,0,0,0,35,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,66,4,53],[0,0,0,9,3,0,0,41,0,0,0,0,0,49,4,53,0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61],[0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63,0,0,2,60,3,0,0,65,0,0,2,60,4,32,0,156],[0,0,0,0,2,3,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,2,60,4,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,2,60,4,32,0,156,0,0,0,0,2,3,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,1,37,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,0,16,4,27,0,0,0,11,1,0,0,41],[0,0,0,0,1,1,4,26,0,0,0,1,2,0,0,138,0,0,0,0,2,33,0,75,0,0,1,157,0,0,97,61],[0,0,0,1,1,16,0,57,0,0,0,11,3,0,0,41,0,0,0,0,0,19,4,27,0,0,0,7,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,0,255,1,16,1,143,0,0,0,64,2,0,4,61,0,0,0,0,1,18,4,54],[0,0,0,3,4,0,0,41,0,0,0,0,4,4,4,51,0,0,0,0,4,4,0,75,0,0,0,0,4,0,0,25],[0,0,0,1,4,0,192,57,0,0,0,0,0,65,4,53,0,0,0,2,1,0,0,41,0,0,0,0,1,1,4,51],[0,0,255,255,1,16,1,143,0,0,0,64,4,32,0,57,0,0,0,0,0,20,4,53,0,0,0,5,1,0,0,41],[0,0,0,0,1,1,4,51,0,0,2,78,1,16,1,151,0,0,0,96,4,32,0,57,0,0,0,0,0,20,4,53],[0,0,0,4,1,0,0,41,0,0,0,0,1,1,4,51,0,0,0,128,4,32,0,57,0,0,0,0,0,20,4,53],[0,0,0,6,1,0,0,41,0,0,0,0,1,1,4,51,0,0,0,160,4,32,0,57,0,0,0,0,0,20,4,53],[0,0,2,60,1,0,0,65,0,0,2,60,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,0,5,0,4,20],[0,0,2,60,4,80,0,156,0,0,0,0,5,1,128,25,0,0,0,64,1,32,2,16,0,0,0,192,2,80,2,16],[0,0,0,0,1,18,1,159,0,0,2,81,1,16,1,199,0,0,128,13,2,0,0,57,0,0,2,82,4,0,0,65],[8,234,8,219,0,0,4,15,0,0,0,1,1,32,1,144,0,0,0,13,1,0,0,41,0,0,1,37,0,0,97,61],[0,0,0,92,2,16,0,57,0,0,0,0,1,0,4,19,0,0,2,60,3,16,1,151,0,0,0,0,65,35,0,169],[0,0,2,83,2,32,1,151,0,0,2,83,4,16,1,151,0,0,0,0,66,36,0,217,0,0,0,0,2,35,0,75],[0,0,0,8,3,0,0,41,0,0,1,157,0,0,193,61,0,0,0,14,2,48,0,105,0,0,0,160,1,16,0,57],[0,0,0,0,1,33,0,26,0,0,1,157,0,0,65,61,0,0,2,69,2,16,0,156,0,0,6,200,0,0,65,61],[0,0,0,64,4,0,4,61,0,0,0,96,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,4,213,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,4,206,0,0,65,61,0,0,0,0,5,4,0,75,0,0,4,227,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,8,236,0,1,4,48,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114],[0,0,4,242,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25],[0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,86,0,75,0,0,4,234,0,0,65,61,0,0,0,0,6,4,0,75,0,0,5,1,0,0,97,61],[0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159],[0,0,0,0,0,21,4,53,0,0,1,67,0,0,1,61,0,0,0,8,3,0,0,41,0,0,0,0,0,49,4,53],[0,0,2,85,1,32,1,199,0,0,8,235,0,1,4,46,0,0,0,5,1,0,0,138,0,8,0,0,0,1,0,29],[0,0,0,13,1,16,0,107,0,0,1,157,0,0,33,61,0,0,0,13,1,0,0,41,0,0,0,4,3,16,0,57],[0,0,0,11,1,48,0,108,0,0,1,37,0,0,33,61,0,0,0,160,1,0,4,61,0,5,0,0,0,1,0,29],[0,0,0,13,2,0,0,41,0,0,0,10,1,32,0,41,0,0,0,1,1,16,3,103,0,0,0,0,1,1,4,59],[0,0,2,71,2,16,0,156,0,0,0,0,9,0,0,25,0,0,5,90,0,0,129,61,0,0,0,2,1,0,0,57],[0,4,0,0,0,1,0,29,0,0,0,0,1,1,4,26,0,0,0,0,1,25,0,75,0,0,5,250,0,0,193,61],[0,0,0,0,2,3,0,25,0,0,0,8,1,32,0,108,0,0,1,157,0,0,33,61,0,0,0,4,3,32,0,57],[0,0,0,11,1,48,0,108,0,0,1,37,0,0,33,61,0,0,0,10,1,32,0,41,0,0,0,1,1,16,3,103],[0,0,0,0,1,1,4,59,0,0,2,71,2,16,0,156,0,0,0,0,9,0,0,25,0,0,6,45,0,0,129,61],[0,0,0,0,5,3,0,25,0,0,0,3,1,0,0,57,0,13,0,0,0,1,0,29,0,0,0,0,1,1,4,26],[0,0,0,0,1,25,0,75,0,0,6,205,0,0,193,61,0,0,0,11,1,80,0,108,0,0,3,6,0,0,129,61],[0,0,0,10,1,80,0,41,0,0,0,1,2,0,3,103,0,0,0,0,3,18,3,79,0,0,0,0,3,3,4,59],[0,0,2,116,3,48,1,151,0,0,2,79,3,48,0,156,0,0,7,32,0,0,193,61,0,0,0,0,4,5,0,25],[0,0,0,8,3,64,0,108,0,0,1,157,0,0,33,61,0,0,0,4,3,64,0,57,0,0,0,11,4,48,0,108],[0,0,1,37,0,0,33,61,0,0,0,1,1,16,0,57,0,0,0,0,1,18,3,79,0,0,0,0,1,1,4,59],[0,0,0,11,4,48,0,108,0,0,3,6,0,0,129,61,0,0,0,232,1,16,2,112,0,0,0,10,3,48,0,41],[0,0,0,0,4,50,3,79,0,0,0,5,3,80,0,57,0,12,0,0,0,49,0,30,0,0,0,0,5,4,4,59],[0,0,1,157,0,0,65,61,0,0,0,12,6,0,0,41,0,0,0,11,4,96,0,108,0,0,1,37,0,0,33,61],[0,0,0,12,4,0,0,41,0,0,2,119,4,64,0,156,0,0,7,90,0,0,65,61,0,0,0,64,1,0,4,61],[0,0,0,68,2,16,0,57,0,0,2,125,3,0,0,65,0,0,0,0,0,50,4,53,0,0,2,87,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,36,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,4,2,16,0,57,0,0,5,243,0,0,1,61,0,7,0,224,0,16,2,120,0,0,0,0,8,0,0,25],[0,0,0,0,9,0,0,25,0,0,0,8,1,48,0,108,0,0,1,157,0,0,33,61,0,0,0,4,2,48,0,57],[0,0,0,11,1,32,0,108,0,0,1,37,0,0,33,61,0,0,0,10,3,48,0,41,0,0,0,1,1,0,3,103],[0,0,0,0,3,49,3,79,0,0,0,0,3,3,4,59,0,0,0,224,3,48,2,112,0,0,0,0,7,35,0,26],[0,0,1,157,0,0,65,61,0,0,0,11,4,112,0,108,0,0,1,37,0,0,33,61,0,0,0,10,2,32,0,41],[0,0,0,0,3,35,0,26,0,0,2,60,4,32,1,151,0,0,0,0,2,0,4,20,0,0,1,157,0,0,65,61],[0,0,0,0,5,0,0,49,0,0,0,0,6,53,0,75,0,0,1,157,0,0,65,61,0,14,0,0,0,9,0,29],[0,12,0,0,0,8,0,29,0,13,0,0,0,7,0,29,0,0,2,60,6,32,0,156,0,0,0,167,0,0,33,61],[0,0,0,0,1,65,3,79,0,0,0,0,3,53,0,73,0,0,2,60,3,48,1,151,0,0,0,0,1,49,3,223],[0,0,0,192,2,32,2,16,0,0,2,70,2,32,1,151,0,0,2,71,2,32,1,199,0,0,0,0,1,33,3,175],[0,0,128,16,2,0,0,57,8,234,8,229,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,2,60,3,48,1,151,0,0,0,1,2,32,1,144,0,0,6,18,0,0,97,61,0,0,0,63,2,48,0,57],[0,0,2,72,4,32,1,151,0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75],[0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,2,67,6,64,0,156,0,0,1,219,0,0,33,61],[0,0,0,1,5,80,1,144,0,0,1,219,0,0,193,61,0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54],[0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114,0,0,5,162,0,0,97,61,0,0,0,0,6,0,0,49],[0,0,0,1,6,96,3,103,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25],[0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57],[0,0,0,0,8,87,0,75,0,0,5,154,0,0,65,61,0,0,0,0,5,0,0,75,0,0,5,164,0,0,97,61],[0,0,0,5,5,48,2,114,0,0,0,14,9,0,0,41,0,0,5,176,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,5,168,0,0,65,61],[0,0,0,31,3,48,1,144,0,0,5,191,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,84,0,25,0,0,0,3,3,48,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,54,1,207],[0,0,0,0,6,54,2,47,0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47],[0,0,0,0,1,49,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,0,1,2,4,51],[0,0,0,32,1,16,0,140,0,0,5,232,0,0,193,61,0,0,0,0,2,4,4,51,0,0,0,64,1,0,4,61],[0,0,0,64,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,146,4,53],[0,0,0,9,3,0,0,41,0,0,0,0,0,49,4,53,0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61],[0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63,0,0,2,60,3,32,0,156,0,0,2,60,4,0,0,65],[0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,2,60,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,13,3,0,0,41,0,0,0,12,8,0,0,41,0,0,1,37,0,0,97,61,0,0,0,0,9,1,4,59],[0,0,0,1,8,128,0,57,0,0,0,7,1,128,0,108,0,0,5,93,0,0,65,61,0,0,5,23,0,0,1,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,2,99,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53,0,0,2,87,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,2,60,2,0,0,65,0,0,2,60,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,2,88,1,16,1,199,0,0,8,236,0,1,4,48,0,0,0,64,1,0,4,61,0,0,0,132,2,16,0,57],[0,0,2,100,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,100,2,16,0,57,0,0,2,101,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,2,102,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,68,3,0,0,57,0,0,0,0,0,50,4,53,0,0,2,87,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,2,60,2,0,0,65,0,0,2,60,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,2,103,1,16,1,199,0,0,8,236,0,1,4,48,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114],[0,0,6,29,0,0,97,61,0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75],[0,0,6,22,0,0,65,61,0,0,0,0,5,4,0,75,0,0,6,43,0,0,97,61,0,0,0,3,4,64,2,16],[0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47],[0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16],[0,0,8,236,0,1,4,48,0,6,0,224,0,16,2,120,0,0,0,0,8,0,0,25,0,0,0,0,9,0,0,25],[0,0,0,8,1,48,0,108,0,0,1,157,0,0,33,61,0,0,0,4,2,48,0,57,0,0,0,11,1,32,0,108],[0,0,1,37,0,0,33,61,0,0,0,10,3,48,0,41,0,0,0,1,1,0,3,103,0,0,0,0,3,49,3,79],[0,0,0,0,3,3,4,59,0,0,0,224,10,48,2,112,0,0,0,0,7,42,0,26,0,0,1,157,0,0,65,61],[0,0,0,11,4,112,0,108,0,0,1,37,0,0,33,61,0,0,2,104,4,48,1,152,0,0,7,42,0,0,193,61],[0,0,2,106,4,48,0,156,0,0,7,46,0,0,129,61,0,0,2,107,3,48,1,152,0,0,7,50,0,0,97,61],[0,0,0,10,2,32,0,41,0,0,0,0,3,42,0,26,0,0,2,60,4,32,1,151,0,0,0,0,2,0,4,20],[0,0,1,157,0,0,65,61,0,0,0,0,5,0,0,49,0,0,0,0,6,53,0,75,0,0,1,157,0,0,65,61],[0,13,0,0,0,10,0,29,0,14,0,0,0,9,0,29,0,7,0,0,0,8,0,29,0,12,0,0,0,7,0,29],[0,0,2,60,6,32,0,156,0,0,0,167,0,0,33,61,0,0,0,0,1,65,3,79,0,0,0,0,3,53,0,73],[0,0,2,60,3,48,1,151,0,0,0,0,1,49,3,223,0,0,0,192,2,32,2,16,0,0,2,70,2,32,1,151],[0,0,2,71,2,32,1,199,0,0,0,0,1,33,3,175,0,0,0,2,2,0,0,57,8,234,8,229,0,0,4,15],[0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151,0,0,0,1,2,32,1,144],[0,0,7,57,0,0,97,61,0,0,0,63,2,48,0,57,0,0,2,72,4,32,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,4,66,0,25,0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57],[0,0,2,67,6,64,0,156,0,0,1,219,0,0,33,61,0,0,0,1,5,80,1,144,0,0,1,219,0,0,193,61],[0,0,0,64,0,64,4,63,0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114],[0,0,0,13,10,0,0,41,0,0,6,125,0,0,97,61,0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75],[0,0,6,117,0,0,65,61,0,0,0,0,5,0,0,75,0,0,6,127,0,0,97,61,0,0,0,5,5,48,2,114],[0,0,0,14,9,0,0,41,0,0,6,139,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,6,131,0,0,65,61,0,0,0,31,3,48,1,144],[0,0,6,154,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,84,0,25],[0,0,0,3,3,48,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,54,1,207,0,0,0,0,6,54,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,3,48,0,137,0,0,0,0,1,49,2,47,0,0,0,0,1,49,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,64,1,0,4,61,0,0,0,0,2,2,4,51],[0,0,0,32,2,32,0,140,0,0,7,84,0,0,193,61,0,0,0,0,2,4,4,51,0,0,2,109,2,32,1,151],[0,0,0,219,3,160,2,16,0,0,2,110,3,48,1,151,0,0,0,0,2,35,1,159,0,0,2,79,2,32,1,199],[0,0,0,64,3,16,0,57,0,0,0,0,0,35,4,53,0,0,0,32,2,16,0,57,0,0,0,0,0,146,4,53],[0,0,0,9,3,0,0,41,0,0,0,0,0,49,4,53,0,0,2,73,3,16,0,156,0,0,1,219,0,0,33,61],[0,0,0,96,3,16,0,57,0,0,0,64,0,48,4,63,0,0,2,60,3,32,0,156,0,0,2,60,4,0,0,65],[0,0,0,0,2,4,128,25,0,0,0,64,2,32,2,16,0,0,0,0,1,1,4,51,0,0,2,60,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20],[0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159],[0,0,2,74,1,16,1,199,0,0,128,16,2,0,0,57,8,234,8,224,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,12,3,0,0,41,0,0,0,7,8,0,0,41,0,0,1,37,0,0,97,61,0,0,0,0,9,1,4,59],[0,0,0,1,8,128,0,57,0,0,0,6,1,128,0,108,0,0,6,48,0,0,65,61,0,0,5,40,0,0,1,61],[0,0,0,0,2,16,4,32,0,0,0,64,1,0,4,61,0,0,0,0,2,2,0,75,0,0,6,218,0,0,193,61],[0,0,1,228,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,132,2,16,0,57,0,0,2,113,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,100,2,16,0,57,0,0,2,114,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,68,2,16,0,57,0,0,2,115,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,94,3,0,0,57,0,0,6,6,0,0,1,61,0,0,0,32,2,0,0,57,0,0,0,0,2,33,4,54],[0,0,0,13,5,0,0,41,0,0,0,0,0,82,4,53,0,0,0,31,3,80,1,143,0,0,0,64,2,16,0,57],[0,0,0,12,4,0,0,41,0,0,0,1,4,64,3,103,0,0,0,5,5,80,2,114,0,0,6,237,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,116,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,6,229,0,0,65,61,0,0,0,0,6,3,0,75,0,0,6,252,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,4,84,3,79,0,0,0,0,5,82,0,25,0,0,0,3,3,48,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,54,1,207,0,0,0,0,6,54,2,47,0,0,0,0,4,4,4,59,0,0,1,0,3,48,0,137],[0,0,0,0,4,52,2,47,0,0,0,0,3,52,1,207,0,0,0,0,3,99,1,159,0,0,0,0,0,53,4,53],[0,0,0,13,3,0,0,41,0,0,0,0,2,50,0,25,0,0,0,0,0,2,4,53,0,0,0,95,2,48,0,57],[0,0,0,32,3,0,0,138,0,0,0,0,2,50,1,111,0,0,2,60,4,0,0,65,0,0,2,60,3,16,0,156],[0,0,0,0,1,4,128,25,0,0,0,64,1,16,2,16,0,0,2,60,3,32,0,156,0,0,0,0,2,4,128,25],[0,0,0,96,2,32,2,16,0,0,0,0,1,33,1,159,0,0,0,0,2,0,4,20,0,0,2,60,3,32,0,156],[0,0,0,0,2,4,128,25,0,0,0,192,2,32,2,16,0,0,0,0,1,18,1,159,0,0,2,74,1,16,1,199],[0,0,128,13,2,0,0,57,0,0,0,3,3,0,0,57,0,0,2,84,4,0,0,65,0,0,0,1,5,0,0,41],[0,0,0,10,6,0,0,41,8,234,8,219,0,0,4,15,0,0,0,1,1,32,1,144,0,0,1,37,0,0,97,61],[0,0,0,64,1,0,4,61,0,0,0,10,2,0,0,41,0,0,0,0,0,33,4,53,0,0,2,60,2,16,0,156],[0,0,2,60,1,0,128,65,0,0,0,64,1,16,2,16,0,0,2,85,1,16,1,199,0,0,8,235,0,1,4,46],[0,0,0,64,1,0,4,61,0,0,0,100,2,16,0,57,0,0,2,117,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,68,2,16,0,57,0,0,2,118,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,39,3,0,0,57,0,0,3,161,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,2,105,3,0,0,65,0,0,7,53,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,2,112,3,0,0,65,0,0,7,53,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,2,111,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,4,3,0,0,41],[0,0,5,238,0,0,1,61,0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,7,68,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,118,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,7,61,0,0,65,61],[0,0,0,0,5,4,0,75,0,0,7,82,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16],[0,0,0,0,5,2,4,51,0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,81,1,159,0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,8,236,0,1,4,48],[0,0,0,68,2,16,0,57,0,0,2,108,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57],[0,0,0,25,3,0,0,57,0,0,5,238,0,0,1,61,0,0,0,12,4,0,0,41,0,0,0,4,6,64,0,57],[0,0,0,11,4,96,0,108,0,0,1,37,0,0,33,61,0,0,0,12,7,0,0,41,0,0,0,10,4,112,0,41],[0,0,0,0,4,66,3,79,0,0,0,0,8,4,4,59,0,0,0,224,7,128,2,112,0,0,1,16,148,112,0,201],[0,0,2,71,8,128,0,156,0,0,7,105,0,0,65,61,0,0,0,0,152,116,0,217,0,0,1,16,8,128,0,140],[0,0,1,157,0,0,193,61,0,0,0,0,9,100,0,25,0,9,0,0,0,9,0,29,0,0,0,11,8,144,0,108],[0,0,1,37,0,0,33,61,0,0,0,248,5,80,2,112,0,0,0,64,10,0,4,61,0,0,0,68,8,160,0,57],[0,0,0,128,9,0,0,57,0,0,0,0,0,152,4,53,0,0,0,36,8,160,0,57,0,0,0,0,0,88,4,53],[0,0,2,120,5,0,0,65,0,0,0,0,0,90,4,53,0,0,0,10,6,96,0,41,0,0,0,132,5,160,0,57],[0,0,0,0,0,69,4,53,0,0,0,4,5,160,0,57,0,0,0,0,0,117,4,53,0,0,0,0,8,98,3,79],[0,0,0,31,7,64,1,143,0,14,0,0,0,10,0,29,0,0,0,164,6,160,0,57,0,0,0,5,9,64,2,114],[0,0,7,138,0,0,97,61,0,0,0,0,10,0,0,25,0,0,0,5,11,160,2,16,0,0,0,0,12,182,0,25],[0,0,0,0,11,184,3,79,0,0,0,0,11,11,4,59,0,0,0,0,0,188,4,53,0,0,0,1,10,160,0,57],[0,0,0,0,11,154,0,75,0,0,7,130,0,0,65,61,0,0,0,10,3,48,0,41,0,0,0,0,10,7,0,75],[0,0,7,154,0,0,97,61,0,0,0,5,9,144,2,16,0,0,0,0,8,152,3,79,0,0,0,0,9,150,0,25],[0,0,0,3,7,112,2,16,0,0,0,0,10,9,4,51,0,0,0,0,10,122,1,207,0,0,0,0,10,122,2,47],[0,0,0,0,8,8,4,59,0,0,1,0,7,112,0,137,0,0,0,0,8,120,2,47,0,0,0,0,7,120,1,207],[0,0,0,0,7,167,1,159,0,0,0,0,0,121,4,53,0,0,0,0,7,70,0,25,0,0,0,0,0,7,4,53],[0,0,0,31,4,64,0,57,0,0,2,121,4,64,1,151,0,0,0,0,6,70,0,25,0,0,0,0,4,86,0,73],[0,0,0,14,5,0,0,41,0,0,0,100,5,80,0,57,0,0,0,0,0,69,4,53,0,0,0,0,4,50,3,79],[0,0,0,31,3,16,1,143,0,0,0,0,2,22,4,54,0,0,0,5,5,16,2,114,0,0,7,177,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,116,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75],[0,0,7,169,0,0,65,61,0,0,0,0,6,3,0,75,0,0,7,192,0,0,97,61,0,0,0,5,5,80,2,16],[0,0,0,0,4,84,3,79,0,0,0,0,5,82,0,25,0,0,0,3,3,48,2,16,0,0,0,0,6,5,4,51],[0,0,0,0,6,54,1,207,0,0,0,0,6,54,2,47,0,0,0,0,4,4,4,59,0,0,1,0,3,48,0,137],[0,0,0,0,4,52,2,47,0,0,0,0,3,52,1,207,0,0,0,0,3,99,1,159,0,0,0,0,0,53,4,53],[0,0,0,0,3,18,0,25,0,0,0,0,0,3,4,53,0,0,0,31,1,16,0,57,0,0,2,122,1,16,1,151],[0,0,0,14,4,0,0,41,0,0,0,0,1,65,0,73,0,0,0,0,1,33,0,25,0,0,2,60,2,0,0,65],[0,0,2,60,3,64,0,156,0,0,0,0,3,2,0,25,0,0,0,0,3,4,64,25,0,0,0,64,3,48,2,16],[0,0,2,60,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,96,1,16,2,16,0,0,0,0,1,49,1,159],[0,0,0,0,3,0,4,20,0,0,2,60,4,48,0,156,0,0,0,0,3,2,128,25,0,0,0,192,2,48,2,16],[0,0,0,0,1,18,1,159,0,0,128,14,2,0,0,57,8,234,8,219,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151,0,0,0,32,4,48,0,140,0,0,0,0,4,3,0,25],[0,0,0,32,4,0,128,57,0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,7,233,0,0,97,61],[0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16,0,0,0,14,9,128,0,41,0,0,0,0,8,129,3,79],[0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75],[0,0,7,225,0,0,65,61,0,0,0,0,7,5,0,75,0,0,7,248,0,0,97,61,0,0,0,5,6,96,2,16],[0,0,0,0,7,97,3,79,0,0,0,14,6,96,0,41,0,0,0,3,5,80,2,16,0,0,0,0,8,6,4,51],[0,0,0,0,8,88,1,207,0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,7,87,2,47,0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53],[0,0,0,1,2,32,1,144,0,0,8,30,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,96,2,16,1,143],[0,0,0,14,1,32,0,41,0,0,0,0,2,33,0,75,0,0,0,0,2,0,0,25,0,0,0,1,2,0,64,57],[0,0,2,67,4,16,0,156,0,0,1,219,0,0,33,61,0,0,0,1,2,32,1,144,0,0,1,219,0,0,193,61],[0,0,0,64,0,16,4,63,0,0,0,32,2,48,0,140,0,0,1,37,0,0,65,61,0,0,0,9,3,0,0,41],[0,0,0,11,2,48,0,108,0,0,8,59,0,0,193,61,0,0,0,14,1,0,0,41,0,0,0,0,1,1,4,51],[0,14,0,0,0,1,0,29,0,0,0,5,1,0,0,41,0,0,0,0,0,16,4,29,0,0,0,10,1,0,0,41],[0,0,0,12,2,0,0,41,8,234,8,68,0,0,4,15,0,0,0,1,2,0,0,57,0,0,0,0,0,18,4,29],[0,0,0,4,1,0,0,41,0,0,0,14,3,0,0,41,0,0,0,0,0,49,4,29,0,0,0,0,0,0,4,27],[0,0,0,0,0,2,4,27,0,0,0,0,0,1,4,27,0,0,0,13,1,0,0,41,0,0,0,0,0,1,4,27],[0,0,0,0,1,0,0,25,0,0,8,235,0,1,4,46,0,0,0,64,2,0,4,61,0,0,0,31,4,48,1,143],[0,0,0,5,5,48,2,114,0,0,8,43,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16],[0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53],[0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,8,35,0,0,65,61,0,0,0,0,6,4,0,75],[0,0,8,58,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79,0,0,0,0,5,82,0,25],[0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47],[0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207],[0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,1,67,0,0,1,61,0,0,0,100,2,16,0,57],[0,0,2,123,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,68,2,16,0,57,0,0,2,124,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,42,3,0,0,57,0,0,3,161,0,0,1,61],[0,0,0,0,3,0,4,20,0,0,0,0,4,18,0,25,0,0,0,0,2,36,0,75,0,0,0,0,5,0,0,25],[0,0,0,1,5,0,64,57,0,0,2,60,2,16,1,151,0,0,0,1,1,80,1,144,0,0,8,157,0,0,193,61],[0,0,0,0,1,0,0,49,0,0,0,0,5,65,0,75,0,0,8,157,0,0,65,61,0,0,0,1,2,32,3,103],[0,0,2,69,5,48,0,156,0,0,8,161,0,0,129,61,0,0,0,0,1,65,0,73,0,0,2,60,1,16,1,151],[0,0,0,0,1,18,3,223,0,0,0,192,2,48,2,16,0,0,2,70,2,32,1,151,0,0,2,71,2,32,1,199],[0,0,0,0,1,33,3,175,0,0,128,16,2,0,0,57,8,234,8,229,0,0,4,15,0,0,0,0,3,1,0,25],[0,0,0,96,3,48,2,112,0,0,2,60,3,48,1,151,0,0,0,1,2,32,1,144,0,0,8,168,0,0,97,61],[0,0,0,63,2,48,0,57,0,0,2,72,4,32,1,151,0,0,0,64,2,0,4,61,0,0,0,0,4,66,0,25],[0,0,0,0,5,36,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,2,67,6,64,0,156],[0,0,8,195,0,0,33,61,0,0,0,1,5,80,1,144,0,0,8,195,0,0,193,61,0,0,0,64,0,64,4,63],[0,0,0,0,4,50,4,54,0,0,0,31,5,48,0,57,0,0,0,5,5,80,2,114,0,0,8,123,0,0,97,61],[0,0,0,0,6,0,0,49,0,0,0,1,6,96,3,103,0,0,0,0,7,0,0,25,0,0,0,5,8,112,2,16],[0,0,0,0,9,132,0,25,0,0,0,0,8,134,3,79,0,0,0,0,8,8,4,59,0,0,0,0,0,137,4,53],[0,0,0,1,7,112,0,57,0,0,0,0,8,87,0,75,0,0,8,115,0,0,65,61,0,0,0,0,5,0,0,75],[0,0,8,125,0,0,97,61,0,0,0,31,5,48,1,143,0,0,0,5,3,48,2,114,0,0,8,137,0,0,97,61],[0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,116,0,25,0,0,0,0,7,113,3,79],[0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,54,0,75],[0,0,8,129,0,0,65,61,0,0,0,0,6,5,0,75,0,0,8,152,0,0,97,61,0,0,0,5,3,48,2,16],[0,0,0,0,1,49,3,79,0,0,0,0,3,52,0,25,0,0,0,3,5,80,2,16,0,0,0,0,6,3,4,51],[0,0,0,0,6,86,1,207,0,0,0,0,6,86,2,47,0,0,0,0,1,1,4,59,0,0,1,0,5,80,0,137],[0,0,0,0,1,81,2,47,0,0,0,0,1,81,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,19,4,53],[0,0,0,0,1,2,4,51,0,0,0,32,1,16,0,140,0,0,8,201,0,0,193,61,0,0,0,0,1,4,4,51],[0,0,0,0,0,1,4,45,0,0,2,126,1,0,0,65,0,0,0,0,0,16,4,53,0,0,0,17,1,0,0,57],[0,0,8,198,0,0,1,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,2,89,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,8,3,0,0,57,0,0,8,207,0,0,1,61],[0,0,0,31,4,48,1,143,0,0,0,5,2,48,2,114,0,0,8,179,0,0,97,61,0,0,0,0,5,0,0,25],[0,0,0,5,6,80,2,16,0,0,0,0,7,97,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,118,4,53],[0,0,0,1,5,80,0,57,0,0,0,0,6,37,0,75,0,0,8,172,0,0,65,61,0,0,0,0,5,4,0,75],[0,0,8,193,0,0,97,61,0,0,0,3,4,64,2,16,0,0,0,5,2,32,2,16,0,0,0,0,5,2,4,51],[0,0,0,0,5,69,1,207,0,0,0,0,5,69,2,47,0,0,0,0,1,33,3,79,0,0,0,0,1,1,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47,0,0,0,0,1,65,1,207,0,0,0,0,1,81,1,159],[0,0,0,0,0,18,4,53,0,0,0,96,1,48,2,16,0,0,8,236,0,1,4,48,0,0,2,126,1,0,0,65],[0,0,0,0,0,16,4,53,0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,2,127,1,0,0,65],[0,0,8,236,0,1,4,48,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,2,99,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,31,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,2,87,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,2,60,2,0,0,65,0,0,2,60,3,16,0,156,0,0,0,0,1,2,128,25],[0,0,0,64,1,16,2,16,0,0,2,88,1,16,1,199,0,0,8,236,0,1,4,48,0,0,8,222,0,33,4,33],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,8,227,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,8,232,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,8,234,0,0,4,50,0,0,8,235,0,1,4,46],[0,0,8,236,0,1,4,48,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,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,98,139,99,109],[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,98,139,99,110],[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,98,248,75,36],[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,57,179,76,110],[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,86,7,154,200],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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,0,0,0,0,0,0,0,1,0,0,0,0],[0,0,0,0,255,255,255,255,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,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,0,0,0,0,1,255,255,255,224],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,159],[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],[138,200,76,14,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,4,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,255,255,255,255,255,255,255,63],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[1,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,0,0,0,0,255,255,255,255,255,255,255,127],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0],[39,254,140,11,73,244,149,7,185,212,254,89,104,201,244,158,223,229,201,223,39,125,67,58,7,160,113,126,222,151,99,141],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[58,54,228,114,145,244,32,31,175,19,127,171,8,29,146,41,91,206,45,83,190,44,108,166,139,168,44,127,170,156,226,65],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[70,97,105,108,101,100,32,116,111,32,99,104,97,114,103,101,32,103,97,115,0,0,0,0,0,0,0,0,0,0,0,0],[8,195,121,160,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,100,0,0,0,0,0,0,0,0,0,0,0,0],[79,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[67,97,108,108,97,98,108,101,32,111,110,108,121,32,98,121,32,116,104,101,32,98,111,111,116,108,111,97,100,101,114,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,128,0,0,0,0,0,0,0,0],[0,0,8,1,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,0,0,0,0,0,0,1,0,160],[110,111,116,32,101,113,117,97,108,32,116,111,32,99,104,97,105,110,101,100,76,111,103,115,72,97,115,104,0,0,0,0],[114,101,99,111,110,115,116,114,117,99,116,101,100,67,104,97,105,110,101,100,76,111,103,115,72,97,115,104,32,105,115,32],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[114,171,238,69,181,158,52,74,248,166,229,32,36,28,71,68,175,242,110,212,17,244,196,176,15,138,240,154,218,218,67,186],[107,101,99,99,97,107,50,53,54,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0],[72,97,115,104,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],[32,105,115,32,110,111,116,32,101,113,117,97,108,32,116,111,32,99,104,97,105,110,101,100,77,101,115,115,97,103,101,115],[114,101,99,111,110,115,116,114,117,99,116,101,100,67,104,97,105,110,101,100,77,101,115,115,97,103,101,115,72,97,115,104],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,31,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],[112,111,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,32,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,32,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],[115,104,97,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,100,97,116,97,0,0,0,0,0,0,0],[0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[6,255,255,255,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],[112,114,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],[112,112,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],[97,105,110,101,100,76,49,66,121,116,101,99,111,100,101,115,82,101,118,101,97,108,68,97,116,97,72,97,115,104,0,0],[101,118,101,97,108,68,97,116,97,72,97,115,104,32,105,115,32,110,111,116,32,101,113,117,97,108,32,116,111,32,99,104],[114,101,99,111,110,115,116,114,117,99,116,101,100,67,104,97,105,110,101,100,76,49,66,121,116,101,99,111,100,101,115,82],[255,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],[105,115,109,97,116,99,104,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],[115,116,97,116,101,32,100,105,102,102,32,99,111,109,112,114,101,115,115,105,111,110,32,118,101,114,115,105,111,110,32,109],[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,7,239,65],[96,6,216,181,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,0,0,0,3,255,255,255,255,224],[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,255,255,224],[100,97,116,97,32,97,114,114,97,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[69,120,116,114,97,32,100,97,116,97,32,105,110,32,116,104,101,32,116,111,116,97,108,76,50,84,111,76,49,80,117,98],[76,49,32,77,101,115,115,101,110,103,101,114,32,112,117,98,100,97,116,97,32,105,115,32,116,111,111,32,108,111,110,103],[78,72,123,113,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,36,0,0,0,0,0,0,0,0,0,0,0,0],[84,111,111,32,109,97,110,121,32,76,50,45,62,76,49,32,108,111,103,115,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,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,128,0,0,0,0,0,0,0,0],[84,104,105,115,32,109,101,116,104,111,100,32,114,101,113,117,105,114,101,32,116,104,101,32,99,97,108,108,101,114,32,116],[111,32,98,101,32,115,121,115,116,101,109,32,99,111,110,116,114,97,99,116,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[73,110,97,112,112,114,111,112,114,105,97,116,101,32,99,97,108,108,101,114,0,0,0,0,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,160,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,255,255,255,216],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[72,13,60,159,114,123,94,92,18,3,212,198,31,177,133,211,127,8,230,178,220,94,155,191,152,89,27,26,122,221,245,124],[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],[66,161,119,40,165,254,105,218,53,173,40,68,15,131,115,148,66,216,50,91,200,159,71,53,210,245,157,216,211,14,134,167]],"0x0000000000000000000000000000000000008010":[[0,0,0,1,2,32,1,144,0,0,0,20,0,0,193,61,0,0,0,96,2,16,2,16,0,0,0,9,2,32,1,151],[0,0,0,64,3,16,2,112,0,0,0,10,4,48,1,151,0,0,0,0,2,66,1,159,0,0,0,11,3,48,1,151],[0,0,0,0,2,50,1,159,0,0,0,12,2,32,1,199,0,0,0,96,1,16,2,112,0,0,0,10,1,16,1,151],[0,0,0,136,49,16,1,26,0,0,0,40,49,16,0,201,0,0,0,40,1,16,0,57,0,0,0,0,1,18,4,32],[0,0,0,0,1,1,0,75,0,0,0,25,0,0,193,61,0,0,0,0,1,0,0,25,0,0,0,29,0,1,4,48],[0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67,0,0,0,8,1,0,0,65],[0,0,0,28,0,1,4,46,0,0,0,13,1,0,0,65,0,0,0,28,0,1,4,46,0,0,0,27,0,0,4,50],[0,0,0,28,0,1,4,46,0,0,0,29,0,1,4,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,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,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[231,235,90,132,103,57,44,46,94,80,157,131,248,179,91,153,186,138,67,197,69,4,157,187,159,87,148,17,34,213,184,114]],"0x000000000000000000000000000000000000800f":[[0,3,0,0,0,0,0,2,0,4,0,0,0,0,0,2,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,65,3,48,1,151,0,2,0,0,0,49,3,85,0,1,0,0,0,1,3,85,0,0,0,128,8,0,0,57],[0,0,0,64,0,128,4,63,0,0,0,1,2,32,1,144,0,0,0,90,0,0,193,61,0,0,0,4,2,48,0,140],[0,0,0,98,0,0,65,61,0,0,0,0,2,1,4,59,0,0,0,67,2,32,1,151,0,0,0,68,2,32,0,156],[0,0,0,98,0,0,193,61,0,0,0,4,2,48,0,138,0,0,0,64,2,32,0,140,0,0,0,98,0,0,65,61],[0,0,0,4,2,16,3,112,0,0,0,0,9,2,4,59,0,0,0,69,2,144,0,156,0,0,0,98,0,0,33,61],[0,0,0,36,2,16,3,112,0,0,0,0,2,2,4,59,0,0,0,70,4,32,0,156,0,0,0,98,0,0,33,61],[0,0,0,35,4,32,0,57,0,0,0,71,5,0,0,65,0,0,0,0,6,52,0,75,0,0,0,0,6,0,0,25],[0,0,0,0,6,5,128,25,0,0,0,71,4,64,1,151,0,0,0,0,7,4,0,75,0,0,0,0,5,0,128,25],[0,0,0,71,4,64,0,156,0,0,0,0,5,6,192,25,0,0,0,0,4,5,0,75,0,0,0,98,0,0,193,61],[0,0,0,4,5,32,0,57,0,0,0,0,1,81,3,79,0,0,0,0,4,1,4,59,0,0,0,70,1,64,0,156],[0,0,0,98,0,0,33,61,0,0,0,0,1,66,0,25,0,0,0,36,1,16,0,57,0,0,0,0,1,49,0,75],[0,0,0,98,0,0,33,61,0,0,0,0,1,0,4,17,0,0,128,7,1,16,0,140,0,0,0,100,0,0,193,61],[0,1,0,0,0,5,0,29,0,2,0,0,0,4,0,29,0,4,0,0,0,8,0,29,0,0,0,76,1,0,0,65],[0,0,0,0,0,16,4,57,0,3,0,0,0,9,0,29,0,0,0,4,0,144,4,67,0,0,0,65,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,0,65,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,77,1,16,1,199,0,0,128,2,2,0,0,57,0,253,0,243,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,0,112,0,0,97,61,0,0,0,64,8,0,4,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,0,75],[0,0,0,113,0,0,193,61,0,0,0,68,1,128,0,57,0,0,0,81,3,0,0,65,0,0,0,0,0,49,4,53],[0,0,0,36,1,128,0,57,0,0,0,19,3,0,0,57,0,0,0,0,0,49,4,53,0,0,0,72,1,0,0,65],[0,0,0,0,0,24,4,53,0,0,0,4,1,128,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,49,4,53],[0,0,0,65,1,0,0,65,0,0,0,65,3,128,0,156,0,0,0,0,8,1,128,25,0,0,0,64,1,128,2,16],[0,0,0,82,1,16,1,199,0,0,0,255,0,1,4,48,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,0,98,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,0,66,1,0,0,65,0,0,0,254,0,1,4,46,0,0,0,0,1,0,0,25,0,0,0,255,0,1,4,48],[0,0,0,72,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63],[0,0,0,36,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,73,1,0,0,65,0,0,0,196,0,16,4,63],[0,0,0,74,1,0,0,65,0,0,0,228,0,16,4,63,0,0,0,75,1,0,0,65,0,0,0,255,0,1,4,48],[0,0,0,0,0,1,4,47,0,0,0,2,9,0,0,41,0,0,0,31,1,144,1,143,0,0,0,1,2,0,0,41],[0,0,0,32,3,32,0,57,0,0,0,1,3,48,3,103,0,0,0,5,4,144,2,114,0,0,0,129,0,0,97,61],[0,0,0,0,5,0,0,25,0,0,0,5,6,80,2,16,0,0,0,0,7,104,0,25,0,0,0,0,6,99,3,79],[0,0,0,0,6,6,4,59,0,0,0,0,0,103,4,53,0,0,0,1,5,80,0,57,0,0,0,0,6,69,0,75],[0,0,0,121,0,0,65,61,0,0,0,0,5,1,0,75,0,0,0,3,2,0,0,41,0,0,0,145,0,0,97,61],[0,0,0,5,4,64,2,16,0,0,0,0,3,67,3,79,0,0,0,0,4,72,0,25,0,0,0,3,1,16,2,16],[0,0,0,0,5,4,4,51,0,0,0,0,5,21,1,207,0,0,0,0,5,21,2,47,0,0,0,0,3,3,4,59],[0,0,1,0,1,16,0,137,0,0,0,0,3,19,2,47,0,0,0,0,1,19,1,207,0,0,0,0,1,81,1,159],[0,0,0,0,0,20,4,53,0,0,0,0,1,152,0,25,0,0,0,0,0,1,4,53,0,0,0,0,1,0,4,20],[0,0,0,4,3,32,0,140,0,0,0,153,0,0,193,61,0,0,0,0,3,0,0,49,0,0,0,0,2,0,0,25],[0,0,0,171,0,0,1,61,0,0,0,65,3,0,0,65,0,0,0,65,4,144,0,156,0,0,0,0,9,3,128,25],[0,0,0,96,4,144,2,16,0,0,0,65,5,128,0,156,0,0,0,0,8,3,128,25,0,0,0,64,5,128,2,16],[0,0,0,0,5,69,1,159,0,0,0,65,4,16,0,156,0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16],[0,0,0,0,1,81,1,159,0,253,0,248,0,0,4,15,0,0,0,1,2,32,1,95,0,2,0,0,0,1,3,85],[0,0,0,96,1,16,2,112,0,0,0,65,0,16,1,157,0,0,0,65,3,16,1,151,0,0,0,4,9,0,0,41],[0,0,0,96,1,0,0,57,0,0,0,0,4,3,0,75,0,0,0,187,0,0,193,61,0,0,0,1,2,32,1,144],[0,0,0,240,0,0,97,61,0,0,0,0,1,1,4,51,0,0,0,65,2,0,0,65,0,0,0,65,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,65,3,144,0,156,0,0,0,0,9,2,128,25,0,0,0,64,2,144,2,16],[0,0,0,96,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,255,0,1,4,48,0,0,0,78,1,48,0,156],[0,0,0,234,0,0,129,61,0,0,0,31,1,48,0,57,0,0,0,32,4,0,0,138,0,0,0,0,1,65,1,111],[0,0,0,63,1,16,0,57,0,0,0,0,4,65,1,111,0,0,0,64,1,0,4,61,0,0,0,0,4,65,0,25],[0,0,0,0,5,20,0,75,0,0,0,0,5,0,0,25,0,0,0,1,5,0,64,57,0,0,0,70,6,64,0,156],[0,0,0,234,0,0,33,61,0,0,0,1,5,80,1,144,0,0,0,234,0,0,193,61,0,0,0,64,0,64,4,63],[0,0,0,31,4,48,1,143,0,0,0,0,9,49,4,54,0,0,0,2,5,0,3,103,0,0,0,5,3,48,2,114],[0,0,0,218,0,0,97,61,0,0,0,0,6,0,0,25,0,0,0,5,7,96,2,16,0,0,0,0,8,121,0,25],[0,0,0,0,7,117,3,79,0,0,0,0,7,7,4,59,0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57],[0,0,0,0,7,54,0,75,0,0,0,210,0,0,65,61,0,0,0,0,6,4,0,75,0,0,0,175,0,0,97,61],[0,0,0,5,3,48,2,16,0,0,0,0,5,53,3,79,0,0,0,0,3,57,0,25,0,0,0,3,4,64,2,16],[0,0,0,0,6,3,4,51,0,0,0,0,6,70,1,207,0,0,0,0,6,70,2,47,0,0,0,0,5,5,4,59],[0,0,1,0,4,64,0,137,0,0,0,0,5,69,2,47,0,0,0,0,4,69,1,207,0,0,0,0,4,100,1,159],[0,0,0,0,0,67,4,53,0,0,0,175,0,0,1,61,0,0,0,79,1,0,0,65,0,0,0,0,0,16,4,53],[0,0,0,65,1,0,0,57,0,0,0,4,0,16,4,63,0,0,0,80,1,0,0,65,0,0,0,255,0,1,4,48],[0,0,0,0,1,0,0,25,0,0,0,254,0,1,4,46,0,0,0,0,0,1,4,47,0,0,0,246,0,33,4,35],[0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45],[0,0,0,251,0,33,4,37,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,0,253,0,0,4,50,0,0,0,254,0,1,4,46,0,0,0,255,0,1,4,48],[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,0,0,0,0,0,0,0,0,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,0,0,0,0,0,0,0,0,0],[255,255,255,255,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],[201,135,51,108,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255],[128,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],[8,195,121,160,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],[67,97,110,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,98,121,32,70,79,82,67,69,95,68,69,80,76],[79,89,69,82,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[24,6,170,24,150,187,242,101,104,232,132,167,55,75,65,224,2,80,9,98,202,186,106,21,2,58,141,144,232,80,139,131],[2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,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,0,0,0,0,0,0,0,0],[78,72,123,113,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,36,0,0,0,0,0,0,0,0,0,0,0,0],[68,101,108,101,103,97,116,101,101,32,105,115,32,97,110,32,69,79,65,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,100,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],[94,172,127,106,21,129,232,232,50,239,172,10,104,228,35,38,191,75,43,199,44,72,89,61,240,13,144,112,197,100,2,171]],"0x0000000000000000000000000000000000008003":[[0,1,0,0,0,0,0,2,0,5,0,0,0,0,0,2,0,0,0,0,6,1,3,79,0,0,0,0,0,6,3,85],[0,0,0,128,1,0,0,57,0,0,0,64,0,16,4,63,0,0,0,0,1,6,0,25,0,0,0,96,1,16,2,112],[0,0,0,187,1,16,1,151,0,0,0,1,3,32,1,144,0,0,0,38,0,0,193,61,0,0,0,4,3,16,0,140],[0,0,2,107,0,0,65,61,0,0,0,0,3,6,4,59,0,0,0,224,3,48,2,112,0,0,0,189,4,48,0,156],[0,0,0,46,0,0,33,61,0,0,0,196,4,48,0,156,0,0,0,71,0,0,161,61,0,0,0,197,4,48,0,156],[0,0,1,0,0,0,97,61,0,0,0,198,2,48,0,156,0,0,1,25,0,0,97,61,0,0,0,199,2,48,0,156],[0,0,2,107,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61],[0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140,0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112],[0,0,0,0,1,1,4,59,0,0,0,202,2,16,0,156,0,0,2,107,0,0,33,61,0,0,0,0,0,16,4,53],[0,0,0,32,0,0,4,63,0,0,1,43,0,0,1,61,0,0,0,0,1,0,4,22,0,0,0,0,1,1,0,75],[0,0,2,107,0,0,193,61,0,0,0,32,1,0,0,57,0,0,1,0,0,16,4,67,0,0,1,32,0,0,4,67],[0,0,0,188,1,0,0,65,0,0,2,231,0,1,4,46,0,0,0,190,4,48,0,156,0,0,0,99,0,0,161,61],[0,0,0,191,4,48,0,156,0,0,1,49,0,0,97,61,0,0,0,192,4,48,0,156,0,0,1,66,0,0,97,61],[0,0,0,193,2,48,0,156,0,0,2,107,0,0,193,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75],[0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140,0,0,2,107,0,0,65,61],[0,0,0,4,1,96,3,112,0,0,0,0,1,1,4,59,0,0,0,202,2,16,0,156,0,0,2,107,0,0,33,61],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,0,1,0,0,25,2,230,2,202,0,0,4,15],[0,0,0,0,1,1,4,26,0,0,0,128,1,16,2,112,0,0,1,46,0,0,1,61,0,0,0,200,4,48,0,156],[0,0,0,115,0,0,97,61,0,0,0,201,2,48,0,156,0,0,2,107,0,0,193,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140],[0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112,0,0,0,0,1,1,4,59,0,0,0,202,2,16,0,156],[0,0,2,107,0,0,33,61,0,0,0,0,2,0,4,17,0,0,128,6,2,32,0,140,0,0,1,178,0,0,193,61],[0,5,0,0,0,1,0,29,2,230,2,109,0,0,4,15,0,0,0,0,1,1,4,26,0,4,0,0,0,1,0,29],[0,0,0,5,1,0,0,41,2,230,2,109,0,0,4,15,0,0,0,4,3,0,0,41,0,0,0,218,2,48,0,65],[0,0,0,0,0,33,4,27,0,0,0,128,1,48,2,112,0,0,1,135,0,0,1,61,0,0,0,194,2,48,0,156],[0,0,0,207,0,0,97,61,0,0,0,195,2,48,0,156,0,0,2,107,0,0,193,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140],[0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112,0,0,0,0,1,1,4,59,0,0,0,202,2,16,0,156],[0,0,2,107,0,0,33,61,2,230,2,125,0,0,4,15,0,0,1,135,0,0,1,61,0,0,0,0,3,0,4,22],[0,0,0,0,3,3,0,75,0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,64,1,16,0,140],[0,0,2,107,0,0,65,61,0,0,0,0,3,0,4,17,0,0,0,36,1,96,3,112,0,0,0,0,5,1,4,59],[0,0,0,4,1,96,3,112,0,0,0,0,4,1,4,59,0,0,0,2,1,32,1,144,0,0,0,130,0,0,193,61],[0,0,0,219,1,48,0,156,0,0,1,77,0,0,129,61,0,5,0,0,0,5,0,29,0,4,0,0,0,4,0,29],[0,0,0,220,1,0,0,65,0,0,0,128,0,16,4,63,0,3,0,0,0,3,0,29,0,0,0,202,1,48,1,151],[0,2,0,0,0,1,0,29,0,0,0,132,0,16,4,63,0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,0,221,1,16,1,199],[0,0,128,6,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,0,3,1,0,25,0,0,0,96,3,48,2,112],[0,0,0,187,3,48,1,151,0,0,0,64,4,48,0,140,0,0,0,0,4,3,0,25,0,0,0,64,4,0,128,57],[0,0,0,31,5,64,1,143,0,0,0,5,6,64,2,114,0,0,0,164,0,0,97,61,0,0,0,0,7,0,0,25],[0,0,0,5,8,112,2,16,0,0,0,0,9,129,3,79,0,0,0,0,9,9,4,59,0,0,0,128,8,128,0,57],[0,0,0,0,0,152,4,53,0,0,0,1,7,112,0,57,0,0,0,0,8,103,0,75,0,0,0,156,0,0,65,61],[0,0,0,0,7,5,0,75,0,0,0,179,0,0,97,61,0,0,0,5,6,96,2,16,0,0,0,0,7,97,3,79],[0,0,0,3,5,80,2,16,0,0,0,128,6,96,0,57,0,0,0,0,8,6,4,51,0,0,0,0,8,88,1,207],[0,0,0,0,8,88,2,47,0,0,0,0,7,7,4,59,0,0,1,0,5,80,0,137,0,0,0,0,7,87,2,47],[0,0,0,0,5,87,1,207,0,0,0,0,5,133,1,159,0,0,0,0,0,86,4,53,0,0,0,1,2,32,1,144],[0,0,1,143,0,0,97,61,0,0,0,31,1,64,0,57,0,0,0,224,1,16,1,143,0,0,0,128,2,16,0,57],[0,0,0,64,0,32,4,63,0,0,0,64,3,48,0,140,0,0,2,107,0,0,65,61,0,0,0,192,3,16,0,57],[0,0,0,64,0,48,4,63,0,0,0,128,3,0,4,61,0,0,0,1,4,48,0,140,0,0,2,107,0,0,33,61],[0,0,0,0,0,50,4,53,0,0,0,160,2,0,4,61,0,0,0,1,3,32,0,140,0,0,2,107,0,0,33,61],[0,0,0,160,1,16,0,57,0,0,0,0,0,33,4,53,0,0,0,5,1,0,0,107,0,0,1,245,0,0,193,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,225,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,30,3,0,0,57,0,0,1,194,0,0,1,61,0,0,0,0,2,0,4,22],[0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,96,1,16,0,140],[0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112,0,0,0,0,3,1,4,59,0,0,0,202,1,48,0,156],[0,0,2,107,0,0,33,61,0,0,0,68,1,96,3,112,0,0,0,0,2,1,4,59,0,0,0,0,1,2,0,75],[0,0,0,0,1,0,0,25,0,0,0,1,1,0,192,57,0,5,0,0,0,2,0,29,0,0,0,0,1,18,0,75],[0,0,2,107,0,0,193,61,0,0,0,36,1,96,3,112,0,0,0,0,1,1,4,59,0,3,0,0,0,1,0,29],[0,0,0,0,0,48,4,53,0,0,0,32,0,0,4,63,0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20],[0,4,0,0,0,3,0,29,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,4,3,0,0,41],[0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26],[0,0,0,205,1,16,1,151,0,0,0,3,1,16,0,108,0,0,1,206,0,0,161,61,0,0,0,5,1,0,0,107],[0,0,2,63,0,0,193,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,211,3,0,0,65],[0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,28,3,0,0,57,0,0,1,194,0,0,1,61],[0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75,0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138],[0,0,0,32,1,16,0,140,0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112,0,0,0,0,3,1,4,59],[0,0,0,2,1,32,1,144,0,0,1,13,0,0,193,61,0,0,0,0,1,0,4,17,0,0,255,255,1,16,0,140],[0,0,1,77,0,0,33,61,0,0,0,212,1,48,0,156,0,0,1,120,0,0,65,61,0,0,0,207,1,0,0,65],[0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,48,1,0,0,57],[0,0,0,164,0,16,4,63,0,0,0,213,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,214,1,0,0,65],[0,0,1,86,0,0,1,61,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61],[0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140,0,0,2,107,0,0,65,61,0,0,0,0,1,0,4,17],[0,0,0,0,0,16,4,53,0,0,0,1,1,0,0,57,0,0,0,32,0,16,4,63,0,0,0,0,1,0,0,25],[0,5,0,0,0,6,3,83,2,230,2,202,0,0,4,15,0,0,0,5,2,0,3,95,0,0,0,4,2,32,3,112],[0,0,0,0,2,2,4,59,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,0,1,0,0,25],[2,230,2,202,0,0,4,15,0,0,0,0,1,1,4,26,0,0,0,128,0,16,4,63,0,0,0,203,1,0,0,65],[0,0,2,231,0,1,4,46,0,0,0,0,2,0,4,22,0,0,0,0,2,2,0,75,0,0,2,107,0,0,193,61],[0,0,0,4,1,16,0,138,0,0,0,64,1,16,0,140,0,0,2,107,0,0,65,61,0,0,0,4,1,96,3,112],[0,0,0,0,1,1,4,59,0,0,0,202,2,16,0,156,0,0,2,107,0,0,33,61,0,0,0,36,2,96,3,112],[0,0,0,0,2,2,4,59,2,230,2,144,0,0,4,15,0,0,0,0,1,1,0,75,0,0,0,0,1,0,0,25],[0,0,0,1,1,0,192,57,0,0,1,135,0,0,1,61,0,0,0,0,3,0,4,22,0,0,0,0,3,3,0,75],[0,0,2,107,0,0,193,61,0,0,0,4,1,16,0,138,0,0,0,32,1,16,0,140,0,0,2,107,0,0,65,61],[0,0,0,0,3,0,4,17,0,0,0,2,1,32,1,144,0,0,1,89,0,0,193,61,0,0,255,255,1,48,0,140],[0,0,1,89,0,0,161,61,0,0,0,207,1,0,0,65,0,0,0,128,0,16,4,63,0,0,0,32,1,0,0,57],[0,0,0,132,0,16,4,63,0,0,0,36,1,0,0,57,0,0,0,164,0,16,4,63,0,0,0,226,1,0,0,65],[0,0,0,196,0,16,4,63,0,0,0,227,1,0,0,65,0,0,0,228,0,16,4,63,0,0,0,215,1,0,0,65],[0,0,2,232,0,1,4,48,0,5,0,0,0,3,0,29,0,0,0,0,0,48,4,53,0,0,0,32,0,0,4,63],[0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,4,2,0,0,57,0,0,0,0,2,32,3,103],[0,0,0,0,2,2,4,59,0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,205,3,16,1,151],[0,0,0,0,2,35,0,75,0,0,1,188,0,0,193,61,0,0,0,5,2,0,0,41,0,0,0,0,0,32,4,53],[0,0,0,32,0,0,4,63,0,5,0,1,0,16,0,61,0,0,0,0,1,0,0,25,2,230,2,202,0,0,4,15],[0,0,0,5,2,0,0,41,0,0,0,0,0,33,4,27,0,0,0,0,1,0,0,25,0,0,2,231,0,1,4,46],[0,0,0,0,1,0,4,17,0,4,0,0,0,1,0,29,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63],[0,0,0,0,1,0,0,25,0,5,0,0,0,3,0,29,2,230,2,202,0,0,4,15,0,0,0,0,1,1,4,26],[0,3,0,0,0,1,0,29,0,0,0,4,1,0,0,41,2,230,2,109,0,0,4,15,0,0,0,3,3,0,0,41],[0,0,0,5,2,48,0,41,0,0,0,0,0,33,4,27,0,0,0,205,1,48,1,151,0,0,0,64,2,0,4,61],[0,0,0,0,0,18,4,53,0,0,0,187,1,0,0,65,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,64,1,32,2,16,0,0,0,209,1,16,1,199,0,0,2,231,0,1,4,46,0,0,0,64,2,0,4,61],[0,0,0,31,4,48,1,143,0,0,0,5,5,48,2,114,0,0,1,156,0,0,97,61,0,0,0,0,6,0,0,25],[0,0,0,5,7,96,2,16,0,0,0,0,8,114,0,25,0,0,0,0,7,113,3,79,0,0,0,0,7,7,4,59],[0,0,0,0,0,120,4,53,0,0,0,1,6,96,0,57,0,0,0,0,7,86,0,75,0,0,1,148,0,0,65,61],[0,0,0,0,6,4,0,75,0,0,1,171,0,0,97,61,0,0,0,5,5,80,2,16,0,0,0,0,1,81,3,79],[0,0,0,0,5,82,0,25,0,0,0,3,4,64,2,16,0,0,0,0,6,5,4,51,0,0,0,0,6,70,1,207],[0,0,0,0,6,70,2,47,0,0,0,0,1,1,4,59,0,0,1,0,4,64,0,137,0,0,0,0,1,65,2,47],[0,0,0,0,1,65,1,207,0,0,0,0,1,97,1,159,0,0,0,0,0,21,4,53,0,0,0,187,1,0,0,65],[0,0,0,187,4,32,0,156,0,0,0,0,2,1,128,25,0,0,0,64,1,32,2,16,0,0,0,96,2,48,2,16],[0,0,0,0,1,33,1,159,0,0,2,232,0,1,4,48,0,0,0,207,1,0,0,65,0,0,0,128,0,16,4,63],[0,0,0,32,1,0,0,57,0,0,0,132,0,16,4,63,0,0,0,61,1,0,0,57,0,0,0,164,0,16,4,63],[0,0,0,216,1,0,0,65,0,0,0,196,0,16,4,63,0,0,0,217,1,0,0,65,0,0,1,86,0,0,1,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,206,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,36,2,16,0,57,0,0,0,15,3,0,0,57,0,0,0,0,0,50,4,53,0,0,0,207,2,0,0,65],[0,0,0,0,0,33,4,53,0,0,0,4,2,16,0,57,0,0,0,32,3,0,0,57,0,0,0,0,0,50,4,53],[0,0,0,187,2,0,0,65,0,0,0,187,3,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,0,208,1,16,1,199,0,0,2,232,0,1,4,48,0,0,0,0,0,48,4,53,0,0,0,1,1,0,0,57],[0,0,0,32,0,16,4,63,0,0,0,187,3,0,0,65,0,0,0,0,1,0,4,20,0,0,0,187,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57],[2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,3,2,0,0,41,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,0,1,0,4,20],[0,0,0,187,2,16,0,156,0,0,0,187,1,0,128,65,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,0,1,1,0,75,0,0,0,247,0,0,193,61],[0,0,0,5,1,0,0,107,0,0,2,63,0,0,97,61,0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57],[0,0,0,210,3,0,0,65,0,0,0,0,0,50,4,53,0,0,0,36,2,16,0,57,0,0,0,29,3,0,0,57],[0,0,1,194,0,0,1,61,0,0,0,0,1,2,0,75,0,0,2,13,0,0,193,61,0,0,0,4,1,0,0,107],[0,0,2,13,0,0,97,61,0,0,0,2,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63],[0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,4,2,0,0,41,0,1,0,1,0,32,0,146],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,205,1,16,1,151,0,0,0,1,1,16,0,108],[0,0,2,65,0,0,161,61,0,0,0,3,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,1,1,0,0,57],[0,0,0,32,0,16,4,63,0,0,0,187,3,0,0,65,0,0,0,0,1,0,4,20,0,0,0,187,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57],[2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,4,2,0,0,41,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,0,1,0,4,20],[0,0,0,187,2,16,0,156,0,0,0,187,1,0,128,65,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,5,2,0,0,41,0,0,0,0,0,33,4,27,0,0,0,64,1,0,4,61],[0,0,0,0,0,33,4,53,0,0,0,187,2,0,0,65,0,0,0,0,3,0,4,20,0,0,0,187,4,48,0,156],[0,0,0,0,3,2,128,25,0,0,0,187,4,16,0,156,0,0,0,0,1,2,128,25,0,0,0,64,1,16,2,16],[0,0,0,192,2,48,2,16,0,0,0,0,1,18,1,159,0,0,0,223,1,16,1,199,0,0,128,13,2,0,0,57],[0,0,0,3,3,0,0,57,0,0,0,224,4,0,0,65,0,0,0,3,5,0,0,41,0,0,0,4,6,0,0,41],[2,230,2,220,0,0,4,15,0,0,0,1,1,32,1,144,0,0,2,107,0,0,97,61,0,0,0,0,1,0,0,25],[0,0,2,231,0,1,4,46,0,0,0,2,1,0,0,41,0,0,0,0,0,16,4,53,0,0,0,1,1,0,0,57],[0,0,0,32,0,16,4,63,0,0,0,187,3,0,0,65,0,0,0,0,1,0,4,20,0,0,0,187,2,16,0,156],[0,0,0,0,1,3,128,25,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57],[2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61,0,0,0,0,1,1,4,59],[0,0,0,1,2,0,0,41,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63,0,0,0,0,1,0,4,20],[0,0,0,187,2,16,0,156,0,0,0,187,1,0,128,65,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,107,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,0,1,1,0,75,0,0,2,13,0,0,193,61],[0,0,0,64,1,0,4,61,0,0,0,68,2,16,0,57,0,0,0,222,3,0,0,65,0,0,0,0,0,50,4,53],[0,0,0,207,2,0,0,65,0,0,0,0,0,33,4,53,0,0,0,36,2,16,0,57,0,0,0,32,3,0,0,57],[0,0,0,0,0,50,4,53,0,0,0,4,2,16,0,57,0,0,1,199,0,0,1,61,0,0,0,0,1,0,0,25],[0,0,2,232,0,1,4,48,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,187,1,0,0,65],[0,0,0,0,2,0,4,20,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16],[0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,2,123,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25],[0,0,2,232,0,1,4,48,0,0,0,202,1,16,1,151,0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63],[0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20,0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25],[0,0,0,192,1,32,2,16,0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15],[0,0,0,1,2,32,1,144,0,0,2,142,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26],[0,0,0,205,1,16,1,151,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25,0,0,2,232,0,1,4,48],[0,2,0,0,0,0,0,2,0,2,0,0,0,2,0,29,0,0,0,202,1,16,1,151,0,1,0,0,0,1,0,29],[0,0,0,0,0,16,4,53,0,0,0,32,0,0,4,63,0,0,0,187,1,0,0,65,0,0,0,0,2,0,4,20],[0,0,0,187,3,32,0,156,0,0,0,0,2,1,128,25,0,0,0,192,1,32,2,16,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,200,0,0,97,61],[0,0,0,1,2,0,0,57,0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,205,1,16,1,151],[0,0,0,2,1,16,0,108,0,0,2,198,0,0,33,61,0,0,0,1,1,0,0,41,0,0,0,0,0,16,4,53],[0,0,0,1,1,0,0,57,0,0,0,32,0,16,4,63,0,0,0,187,4,0,0,65,0,0,0,0,1,0,4,20],[0,0,0,187,2,16,0,156,0,0,0,0,1,4,128,25,0,0,0,192,1,16,2,16,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,200,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,2,2,0,0,41,0,0,0,0,0,32,4,53,0,0,0,32,0,16,4,63],[0,0,0,0,1,0,4,20,0,0,0,187,2,16,0,156,0,0,0,187,1,0,128,65,0,0,0,192,1,16,2,16],[0,0,0,204,1,16,1,199,0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144],[0,0,2,200,0,0,97,61,0,0,0,0,1,1,4,59,0,0,0,0,1,1,4,26,0,0,0,0,1,1,0,75],[0,0,0,0,2,0,0,25,0,0,0,1,2,0,192,57,0,0,0,1,1,32,1,143,0,0,0,0,0,1,4,45],[0,0,0,0,1,0,0,25,0,0,2,232,0,1,4,48,0,0,0,187,2,0,0,65,0,0,0,187,3,16,0,156],[0,0,0,0,1,2,128,25,0,0,0,0,3,0,4,20,0,0,0,187,4,48,0,156,0,0,0,0,3,2,128,25],[0,0,0,192,2,48,2,16,0,0,0,64,1,16,2,16,0,0,0,0,1,33,1,159,0,0,0,204,1,16,1,199],[0,0,128,16,2,0,0,57,2,230,2,225,0,0,4,15,0,0,0,1,2,32,1,144,0,0,2,218,0,0,97,61],[0,0,0,0,1,1,4,59,0,0,0,0,0,1,4,45,0,0,0,0,1,0,0,25,0,0,2,232,0,1,4,48],[0,0,2,223,0,33,4,33,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45,0,0,0,0,2,0,0,25],[0,0,0,0,0,1,4,45,0,0,2,228,0,33,4,35,0,0,0,1,2,0,0,57,0,0,0,0,0,1,4,45],[0,0,0,0,2,0,0,25,0,0,0,0,0,1,4,45,0,0,2,230,0,0,4,50,0,0,2,231,0,1,4,46],[0,0,2,232,0,1,4,48,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,0,255,255,255,255],[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,1,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,110,225,220,31],[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,202,183,232,234],[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,202,183,232,235],[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,225,35,156,216],[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,251,26,154,87],[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,110,225,220,32],[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,137,105,9,220],[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,56,167,128,145],[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,56,167,128,146],[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,85,211,93,24],[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,90,169,182,181],[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,21,95,210,122],[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,48,99,149,198],[0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,128,0,0,0,0,0,0,0,0],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],[73,110,99,111,114,114,101,99,116,32,110,111,110,99,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[8,195,121,160,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,100,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,32,0,0,0,0,0,0,0,0,0,0,0,0],[84,104,101,32,110,111,110,99,101,32,119,97,115,32,110,111,116,32,115,101,116,32,97,115,32,117,115,101,100,0,0,0],[82,101,117,115,105,110,103,32,116,104,101,32,115,97,109,101,32,110,111,110,99,101,32,116,119,105,99,101,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,0,0,0,1],[84,104,101,32,118,97,108,117,101,32,102,111,114,32,105,110,99,114,101,109,101,110,116,105,110,103,32,116,104,101,32,110],[111,110,99,101,32,105,115,32,116,111,111,32,104,105,103,104,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,132,0,0,0,128,0,0,0,0,0,0,0,0],[79,110,108,121,32,116,104,101,32,99,111,110,116,114,97,99,116,32,100,101,112,108,111,121,101,114,32,99,97,110,32,105],[110,99,114,101,109,101,110,116,32,116,104,101,32,100,101,112,108,111,121,109,101,110,116,32,110,111,110,99,101,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,0,0],[123,81,15,232,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,36,0,0,0,128,0,0,0,0,0,0,0,0],[80,114,101,118,105,111,117,115,32,110,111,110,99,101,32,104,97,115,32,110,111,116,32,98,101,101,110,32,117,115,101,100],[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],[218,43,113,110,90,93,95,96,43,154,88,66,188,216,156,33,91,18,82,88,223,234,39,26,3,229,224,232,1,217,58,140],[78,111,110,99,101,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,48,0,0],[84,104,105,115,32,109,101,116,104,111,100,32,114,101,113,117,105,114,101,32,115,121,115,116,101,109,32,99,97,108,108,32],[102,108,97,103,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],[205,38,218,213,70,69,248,169,15,229,84,69,140,55,53,181,164,198,188,161,173,181,140,218,24,152,223,38,173,188,41,218]]}} \ No newline at end of file diff --git a/prover/vk_setup_data_generator_server_fri/src/utils.rs b/prover/vk_setup_data_generator_server_fri/src/utils.rs index 62b25e5d8bee..ee23e171d551 100644 --- a/prover/vk_setup_data_generator_server_fri/src/utils.rs +++ b/prover/vk_setup_data_generator_server_fri/src/utils.rs @@ -4,6 +4,7 @@ use std::{ }; use anyhow::Context as _; +use circuit_definitions::circuit_definitions::recursion_layer::scheduler::SchedulerCircuit; use itertools::Itertools; use zkevm_test_harness::{ compute_setups::{generate_base_layer_vks_and_proofs, generate_recursive_layer_vks_and_proofs}, @@ -38,9 +39,8 @@ use zksync_prover_fri_types::circuit_definitions::{ recursion_layer::{ base_circuit_type_into_recursive_leaf_circuit_type, leaf_layer::ZkSyncLeafLayerRecursiveCircuit, - node_layer::ZkSyncNodeLayerRecursiveCircuit, scheduler::SchedulerCircuit, - ZkSyncRecursionLayerStorageType, ZkSyncRecursionProof, ZkSyncRecursiveLayerCircuit, - RECURSION_ARITY, SCHEDULER_CAPACITY, + node_layer::ZkSyncNodeLayerRecursiveCircuit, ZkSyncRecursionLayerStorageType, + ZkSyncRecursionProof, ZkSyncRecursiveLayerCircuit, RECURSION_ARITY, SCHEDULER_CAPACITY, }, }, recursion_layer_proof_config, zk_evm, @@ -193,6 +193,9 @@ pub fn get_scheduler_circuit() -> anyhow::Result { witness: scheduler_witness, config, transcript_params: (), + eip4844_proof_config: None, + eip4844_vk: None, + eip4844_vk_fixed_parameters: None, _marker: std::marker::PhantomData, }; Ok(ZkSyncRecursiveLayerCircuit::SchedulerCircuit( diff --git a/prover/witness_generator/Cargo.toml b/prover/witness_generator/Cargo.toml index 153bac7fa296..b3235744af47 100644 --- a/prover/witness_generator/Cargo.toml +++ b/prover/witness_generator/Cargo.toml @@ -29,11 +29,11 @@ vk_setup_data_generator_server_fri = { path = "../vk_setup_data_generator_server zksync_prover_fri_types = { path = "../prover_fri_types" } zksync_prover_fri_utils = { path = "../prover_fri_utils" } -zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0" } -circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.0", features = [ +zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } +circuit_definitions = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1", features = [ "log_tracing", ] } -zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.0" } +zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", branch = "v1.4.1" } anyhow = "1.0" tracing = "0.1" diff --git a/prover/witness_generator/src/basic_circuits.rs b/prover/witness_generator/src/basic_circuits.rs index 6db57070c451..3835dcccdcd0 100644 --- a/prover/witness_generator/src/basic_circuits.rs +++ b/prover/witness_generator/src/basic_circuits.rs @@ -44,7 +44,7 @@ use zksync_state::{PostgresStorage, StorageView}; use zksync_types::{ proofs::{AggregationRound, BasicCircuitWitnessGeneratorInput, PrepareBasicCircuitsJob}, protocol_version::FriProtocolVersionId, - Address, L1BatchNumber, BOOTLOADER_ADDRESS, H256, U256, + Address, L1BatchNumber, ProtocolVersionId, BOOTLOADER_ADDRESS, H256, U256, }; use zksync_utils::{bytes_to_chunks, h256_to_u256, u256_to_h256}; @@ -531,6 +531,10 @@ async fn generate_witness( .unwrap() .unwrap(); + let protocol_version = header + .protocol_version + .unwrap_or(ProtocolVersionId::last_potentially_undefined()); + let previous_batch_with_metadata = connection .blocks_dal() .get_l1_batch_metadata(zksync_types::L1BatchNumber( @@ -552,7 +556,8 @@ async fn generate_witness( .await .expect("Default aa bytecode should exist"); let account_bytecode = bytes_to_chunks(&account_bytecode_bytes); - let bootloader_contents = expand_bootloader_contents(&input.initial_heap_content); + let bootloader_contents = + expand_bootloader_contents(&input.initial_heap_content, protocol_version); let account_code_hash = h256_to_u256(header.base_system_contracts_hashes.default_aa); let hashes: HashSet = input diff --git a/prover/witness_generator/src/scheduler.rs b/prover/witness_generator/src/scheduler.rs index 6571c6e63c4a..a6aa372b41e0 100644 --- a/prover/witness_generator/src/scheduler.rs +++ b/prover/witness_generator/src/scheduler.rs @@ -91,6 +91,9 @@ impl SchedulerWitnessGenerator { witness: job.scheduler_witness, config, transcript_params: (), + eip4844_proof_config: None, + eip4844_vk: None, + eip4844_vk_fixed_parameters: None, _marker: std::marker::PhantomData, }; WITNESS_GENERATOR_METRICS.witness_generation_time[&AggregationRound::Scheduler.into()] diff --git a/prover/witness_generator/src/storage_oracle.rs b/prover/witness_generator/src/storage_oracle.rs index 6771a0252132..4ead5a3c781e 100644 --- a/prover/witness_generator/src/storage_oracle.rs +++ b/prover/witness_generator/src/storage_oracle.rs @@ -1,7 +1,5 @@ -use zksync_types::{ - zkevm_test_harness::zk_evm::abstractions::{RefundType, RefundedAmounts, Storage}, - LogQuery, Timestamp, -}; +use zk_evm::aux_structures::{LogQuery, Timestamp}; +use zkevm_test_harness::zk_evm::abstractions::{RefundType, RefundedAmounts, Storage}; #[derive(Debug)] pub struct StorageOracle { diff --git a/prover/witness_generator/src/utils.rs b/prover/witness_generator/src/utils.rs index 6efa333a8190..f3ae4de4993e 100644 --- a/prover/witness_generator/src/utils.rs +++ b/prover/witness_generator/src/utils.rs @@ -1,3 +1,4 @@ +use multivm::utils::get_used_bootloader_memory_bytes; use zkevm_test_harness::{ boojum::field::goldilocks::GoldilocksField, witness::full_block_artifact::BlockBasicCircuits, }; @@ -21,11 +22,15 @@ use zksync_prover_fri_types::{ }, CircuitWrapper, FriProofWrapper, }; -use zksync_system_constants::USED_BOOTLOADER_MEMORY_BYTES; -use zksync_types::{proofs::AggregationRound, L1BatchNumber, U256}; +use zksync_types::{proofs::AggregationRound, L1BatchNumber, ProtocolVersionId, U256}; -pub fn expand_bootloader_contents(packed: &[(usize, U256)]) -> Vec { - let mut result = vec![0u8; USED_BOOTLOADER_MEMORY_BYTES]; +pub fn expand_bootloader_contents( + packed: &[(usize, U256)], + protocol_version: ProtocolVersionId, +) -> Vec { + let full_length = get_used_bootloader_memory_bytes(protocol_version.into()); + + let mut result = vec![0u8; full_length]; for (offset, value) in packed { value.to_big_endian(&mut result[(offset * 32)..(offset + 1) * 32]); diff --git a/yarn.lock b/yarn.lock index 6b91505e3f7c..3a7645da5c66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -368,17 +368,17 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@cspell/cspell-bundled-dicts@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.1.3.tgz#39d92ebeb9eeeeb943cc7e05525731a06b2f388a" - integrity sha512-TwLyL2bCtetXGhMudjOIgFPAsWF2UkT0E7T+DAZG8aUBfHoC/eco/sTmR6UJVpi6Crjs0YOQkFUBGrQ2pxJPcA== +"@cspell/cspell-bundled-dicts@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.3.2.tgz#649ed168a72cb49a7d83f3840ab6933a8beba68d" + integrity sha512-3ubOgz1/MDixJbq//0rQ2omB3cSdhVJDviERZeiREGz4HOq84aaK1Fqbw5SjNZHvhpoq+AYXm6kJbIAH8YhKgg== dependencies: "@cspell/dict-ada" "^4.0.2" - "@cspell/dict-aws" "^4.0.0" + "@cspell/dict-aws" "^4.0.1" "@cspell/dict-bash" "^4.1.3" - "@cspell/dict-companies" "^3.0.28" + "@cspell/dict-companies" "^3.0.29" "@cspell/dict-cpp" "^5.0.10" - "@cspell/dict-cryptocurrencies" "^4.0.0" + "@cspell/dict-cryptocurrencies" "^5.0.0" "@cspell/dict-csharp" "^4.0.2" "@cspell/dict-css" "^4.0.12" "@cspell/dict-dart" "^2.0.3" @@ -386,15 +386,15 @@ "@cspell/dict-docker" "^1.1.7" "@cspell/dict-dotnet" "^5.0.0" "@cspell/dict-elixir" "^4.0.3" - "@cspell/dict-en-common-misspellings" "^1.0.2" + "@cspell/dict-en-common-misspellings" "^2.0.0" "@cspell/dict-en-gb" "1.1.33" - "@cspell/dict-en_us" "^4.3.12" + "@cspell/dict-en_us" "^4.3.13" "@cspell/dict-filetypes" "^3.0.3" "@cspell/dict-fonts" "^4.0.0" "@cspell/dict-fsharp" "^1.0.1" "@cspell/dict-fullstack" "^3.1.5" "@cspell/dict-gaming-terms" "^1.0.4" - "@cspell/dict-git" "^2.0.0" + "@cspell/dict-git" "^3.0.0" "@cspell/dict-golang" "^6.0.5" "@cspell/dict-haskell" "^4.0.1" "@cspell/dict-html" "^4.0.5" @@ -406,80 +406,80 @@ "@cspell/dict-lua" "^4.0.3" "@cspell/dict-makefile" "^1.0.0" "@cspell/dict-node" "^4.0.3" - "@cspell/dict-npm" "^5.0.13" - "@cspell/dict-php" "^4.0.4" - "@cspell/dict-powershell" "^5.0.2" + "@cspell/dict-npm" "^5.0.14" + "@cspell/dict-php" "^4.0.5" + "@cspell/dict-powershell" "^5.0.3" "@cspell/dict-public-licenses" "^2.0.5" - "@cspell/dict-python" "^4.1.10" + "@cspell/dict-python" "^4.1.11" "@cspell/dict-r" "^2.0.1" - "@cspell/dict-ruby" "^5.0.1" + "@cspell/dict-ruby" "^5.0.2" "@cspell/dict-rust" "^4.0.1" "@cspell/dict-scala" "^5.0.0" - "@cspell/dict-software-terms" "^3.3.11" - "@cspell/dict-sql" "^2.1.2" + "@cspell/dict-software-terms" "^3.3.15" + "@cspell/dict-sql" "^2.1.3" "@cspell/dict-svelte" "^1.0.2" "@cspell/dict-swift" "^2.0.1" "@cspell/dict-typescript" "^3.1.2" "@cspell/dict-vue" "^3.0.0" -"@cspell/cspell-json-reporter@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.1.3.tgz#5645bead06de8bbacedc654b61663b05c57bd8d0" - integrity sha512-9iOU0Y733XuF0cqC7xwzJkOKFdJ65rYGnHFdUHzr5lxEqeG9X/jhlkzyHuGGOhPxkUeFP1x9XoLhXo1isMDbKA== +"@cspell/cspell-json-reporter@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.3.2.tgz#314f7b7deb465a7b94b03405c3498d9b96d410ab" + integrity sha512-gHSz4jXMJPcxx+lOGfXhHuoyenAWQ8PVA/atHFrWYKo1LzKTbpkEkrsDnlX8QNJubc3EMH63Uy+lOIaFDVyHiQ== dependencies: - "@cspell/cspell-types" "8.1.3" + "@cspell/cspell-types" "8.3.2" -"@cspell/cspell-pipe@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-8.1.3.tgz#728567a69d7c315377c5a1178bbe9151da82048a" - integrity sha512-/dcnyLDeyFuoX4seZv7VsDQyRpt3ZY0vjZiDpqFul8hPydM8czLyRPPMD6Za+Gqg6dZmh9+VsQWK52hVsqc0QA== +"@cspell/cspell-pipe@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-8.3.2.tgz#72b986c6c03ed9894d5ddafdcb435973336216b9" + integrity sha512-GZmDwvQGOjQi3IjD4k9xXeVTDANczksOsgVKb3v2QZk9mR4Qj8c6Uarjd4AgSiIhu/wBliJfzr5rWFJu4X2VfQ== -"@cspell/cspell-resolver@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-resolver/-/cspell-resolver-8.1.3.tgz#e54bbb0b5d06813907c92cdead6d1dea12a54263" - integrity sha512-bGyJYqkHRilqhyKGL/NvODN5U+UvCuQo7kxgt0i3Vd7m7k6XYLsSLYZ4w6r1S5IQ/ybU8I5lh6/6fNqKwvo9eg== +"@cspell/cspell-resolver@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-resolver/-/cspell-resolver-8.3.2.tgz#e4a981ed8fc2029804d8fa5847e47934a26c5c86" + integrity sha512-w2Tmb95bzdEz9L4W5qvsP5raZbyEzKL7N2ksU/+yh8NEJcTuExmAl/nMnb3aIk7m2b+kPHnMOcJuwfUMLmyv4A== dependencies: global-directory "^4.0.1" -"@cspell/cspell-service-bus@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-service-bus/-/cspell-service-bus-8.1.3.tgz#2b34012d7905a596adf4a8a8daaead86c0d32666" - integrity sha512-8E5ZveQKneNfK+cuFMy0y6tDsho71UPppEHNoLZsEFDbIxDdtQcAfs0pk4nwEzxPBt+dBB+Yl8KExQ6x2FAYQw== +"@cspell/cspell-service-bus@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-service-bus/-/cspell-service-bus-8.3.2.tgz#b1c6620232c22c0a7c8b68051e524963285f4768" + integrity sha512-skTHNyVi74//W/O+f4IauDhm6twA9S2whkylonsIzPxEl4Pn3y2ZEMXNki/MWUwZfDIzKKSxlcREH61g7zCvhg== -"@cspell/cspell-types@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-8.1.3.tgz#aaba55f4a8f6496a30ccf2235675ec6c21b9e33a" - integrity sha512-j14FENj+DzWu6JjzTl+0X5/OJv9AEckpEp6Jaw9YglxirrBBzTkZGfoLePe/AWo/MlIYp0asl92C1UHEjgz+FQ== +"@cspell/cspell-types@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-8.3.2.tgz#35a6d0f1a4c7c2a8a5275bcd41dacf85618f44c3" + integrity sha512-qS/gWd9ItOrN6ZX5pwC9lJjnBoyiAyhxYq0GUXuV892LQvwrBmECGk6KhsA1lPW7JJS7o57YTAS1jmXnmXMEpg== "@cspell/dict-ada@^4.0.2": version "4.0.2" resolved "https://registry.yarnpkg.com/@cspell/dict-ada/-/dict-ada-4.0.2.tgz#8da2216660aeb831a0d9055399a364a01db5805a" integrity sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA== -"@cspell/dict-aws@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-4.0.0.tgz#ab71fe0c05d9ad662d27495e74361bdcb5b470eb" - integrity sha512-1YkCMWuna/EGIDN/zKkW+j98/55mxigftrSFgsehXhPld+ZMJM5J9UuBA88YfL7+/ETvBdd7mwW6IwWsC+/ltQ== +"@cspell/dict-aws@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-4.0.1.tgz#a0e758531ae81792b928a3f406618296291a658a" + integrity sha512-NXO+kTPQGqaaJKa4kO92NAXoqS+i99dQzf3/L1BxxWVSBS3/k1f3uhmqIh7Crb/n22W793lOm0D9x952BFga3Q== "@cspell/dict-bash@^4.1.3": version "4.1.3" resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-4.1.3.tgz#25fba40825ac10083676ab2c777e471c3f71b36e" integrity sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw== -"@cspell/dict-companies@^3.0.28": - version "3.0.28" - resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-3.0.28.tgz#d617be3e036955d2f656d568f0cc6d1bdf198819" - integrity sha512-UinHkMYB/1pUkLKm1PGIm9PBFYxeAa6YvbB1Rq/RAAlrs0WDwiDBr3BAYdxydukG1IqqwT5z9WtU+8D/yV/5lw== +"@cspell/dict-companies@^3.0.29": + version "3.0.29" + resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-3.0.29.tgz#0c102c852a9b1c879cd926c0870e2cfbaf1cd176" + integrity sha512-F/8XnkqjU7jmSDAcD3LSSX+WxCVUWPssqlO4lzGMIK3MNIUt+d48eSIt3pFAIB/Z9y0ojoLHUtWX9HJ1ZtGrXQ== "@cspell/dict-cpp@^5.0.10": version "5.0.10" resolved "https://registry.yarnpkg.com/@cspell/dict-cpp/-/dict-cpp-5.0.10.tgz#08c3eb438b631dd3f0fc04f5a6d4b6cab87c8d9b" integrity sha512-WCRuDrkFdpmeIR6uXQYKU9loMQKNFS4bUhtHdv5fu4qVyJSh3k/kgmtTm1h1BDTj8EwPRc/RGxS+9Z3b2mnabA== -"@cspell/dict-cryptocurrencies@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-4.0.0.tgz#6517a7e1b0ed184cf3fc18f03230c82508369dec" - integrity sha512-EiZp91ATyRxTmauIQfOX9adLYCunKjHEh092rrM7o2eMXP9n7zpXAL9BK7LviL+LbB8VDOm21q+s83cKrrRrsg== +"@cspell/dict-cryptocurrencies@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.0.tgz#19fbc7bdbec76ce64daf7d53a6d0f3cfff7d0038" + integrity sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA== "@cspell/dict-csharp@^4.0.2": version "4.0.2" @@ -521,20 +521,20 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz#57c25843e46cf3463f97da72d9ef8e37c818296f" integrity sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q== -"@cspell/dict-en-common-misspellings@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-1.0.2.tgz#3c4ebab8e9e906d66d60f53c8f8c2e77b7f108e7" - integrity sha512-jg7ZQZpZH7+aAxNBlcAG4tGhYF6Ksy+QS5Df73Oo+XyckBjC9QS+PrRwLTeYoFIgXy5j3ICParK5r3MSSoL4gw== +"@cspell/dict-en-common-misspellings@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.0.0.tgz#708f424d75dc65237a6fcb8d253bc1e7ab641380" + integrity sha512-NOg8dlv37/YqLkCfBs5OXeJm/Wcfb/CzeOmOZJ2ZXRuxwsNuolb4TREUce0yAXRqMhawahY5TSDRJJBgKjBOdw== "@cspell/dict-en-gb@1.1.33": version "1.1.33" resolved "https://registry.yarnpkg.com/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e" integrity sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g== -"@cspell/dict-en_us@^4.3.12": - version "4.3.12" - resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-4.3.12.tgz#3b0ceaf5ed3cf30b225834ca7d528e4dc96e9605" - integrity sha512-1bsUxFjgxF30FTzcU5uvmCvH3lyqVKR9dbwsJhomBlUM97f0edrd6590SiYBXDm7ruE68m3lJd4vs0Ev2D6FtQ== +"@cspell/dict-en_us@^4.3.13": + version "4.3.13" + resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-4.3.13.tgz#4176be1e1510ac696a0fa33d9773aaffbf83a50d" + integrity sha512-T6lHiGCjloGNE0d8CogF+efJZPCAP8zdzn+KnlI0Bmjaz5nvG2LTX7CXl1zkOl1nYYev0FuIk9WJ9YPVRjcFbQ== "@cspell/dict-filetypes@^3.0.3": version "3.0.3" @@ -561,10 +561,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.4.tgz#b67d89d014d865da6cb40de4269d4c162a00658e" integrity sha512-hbDduNXlk4AOY0wFxcDMWBPpm34rpqJBeqaySeoUH70eKxpxm+dvjpoRLJgyu0TmymEICCQSl6lAHTHSDiWKZg== -"@cspell/dict-git@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-git/-/dict-git-2.0.0.tgz#fa5cb298845da9c69efc01c6af07a99097718dc9" - integrity sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w== +"@cspell/dict-git@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-git/-/dict-git-3.0.0.tgz#c275af86041a2b59a7facce37525e2af05653b95" + integrity sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw== "@cspell/dict-golang@^6.0.5": version "6.0.5" @@ -621,17 +621,17 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-4.0.3.tgz#5ae0222d72871e82978049f8e11ea627ca42fca3" integrity sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg== -"@cspell/dict-npm@^5.0.13": - version "5.0.13" - resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-5.0.13.tgz#81051f791ee29563430145b360947f711316ccd1" - integrity sha512-uPb3DlQA/FvlmzT5RjZoy7fy91mxMRZW1B+K3atVM5A/cmP1QlDaSW/iCtde5kHET1MOV7uxz+vy0Yha2OI5pQ== +"@cspell/dict-npm@^5.0.14": + version "5.0.14" + resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-5.0.14.tgz#1ca3d305390f393bbfa75f41c4db0fd590ce1a9c" + integrity sha512-k0kC7/W2qG5YII+SW6s+JtvKrkZg651vizi5dv/5G2HmJaeLNgDqBVeeDk/uV+ntBorM66XG4BPMjSxoaIlC5w== -"@cspell/dict-php@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@cspell/dict-php/-/dict-php-4.0.4.tgz#7510c0fe4bdbb049c143eb3c471820d1e681bbb9" - integrity sha512-fRlLV730fJbulDsLIouZxXoxHt3KIH6hcLFwxaupHL+iTXDg0lo7neRpbqD5MScr/J3idEr7i9G8XWzIikKFug== +"@cspell/dict-php@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@cspell/dict-php/-/dict-php-4.0.5.tgz#fa16350d907180a42f16d5e4666e61a97ae9b8b3" + integrity sha512-9r8ao7Z/mH9Z8pSB7yLtyvcCJWw+/MnQpj7xGVYzIV7V2ZWDRjXZAMgteHMJ37m8oYz64q5d4tiipD300QSetQ== -"@cspell/dict-powershell@^5.0.2": +"@cspell/dict-powershell@^5.0.3": version "5.0.3" resolved "https://registry.yarnpkg.com/@cspell/dict-powershell/-/dict-powershell-5.0.3.tgz#7bceb4e7db39f87479a6d2af3a033ce26796ae49" integrity sha512-lEdzrcyau6mgzu1ie98GjOEegwVHvoaWtzQnm1ie4DyZgMr+N6D0Iyj1lzvtmt0snvsDFa5F2bsYzf3IMKcpcA== @@ -641,10 +641,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.5.tgz#86948b29bd36184943955eaa80bf594488c4dd8a" integrity sha512-91HK4dSRri/HqzAypHgduRMarJAleOX5NugoI8SjDLPzWYkwZ1ftuCXSk+fy8DLc3wK7iOaFcZAvbjmnLhVs4A== -"@cspell/dict-python@^4.1.10": - version "4.1.10" - resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-4.1.10.tgz#bae6557e7b828a1701d3733b7766c4d95f279175" - integrity sha512-ErF/Ohcu6Xk4QVNzFgo8p7CxkxvAKAmFszvso41qOOhu8CVpB35ikBRpGVDw9gsCUtZzi15Yl0izi4do6WcLkA== +"@cspell/dict-python@^4.1.11": + version "4.1.11" + resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-4.1.11.tgz#4e339def01bf468b32d459c46ecb6894970b7eb8" + integrity sha512-XG+v3PumfzUW38huSbfT15Vqt3ihNb462ulfXifpQllPok5OWynhszCLCRQjQReV+dgz784ST4ggRxW452/kVg== dependencies: "@cspell/dict-data-science" "^1.0.11" @@ -653,10 +653,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-r/-/dict-r-2.0.1.tgz#73474fb7cce45deb9094ebf61083fbf5913f440a" integrity sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA== -"@cspell/dict-ruby@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-5.0.1.tgz#a59df952d66781d811e7aac9208c145680e8cdf9" - integrity sha512-rruTm7Emhty/BSYavSm8ZxRuVw0OBqzJkwIFXcV0cX7To8D1qbmS9HFHRuRg8IL11+/nJvtdDz+lMFBSmPUagQ== +"@cspell/dict-ruby@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-5.0.2.tgz#cf1a71380c633dec0857143d3270cb503b10679a" + integrity sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g== "@cspell/dict-rust@^4.0.1": version "4.0.1" @@ -668,15 +668,15 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-5.0.0.tgz#b64365ad559110a36d44ccd90edf7151ea648022" integrity sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ== -"@cspell/dict-software-terms@^3.3.11": - version "3.3.12" - resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-3.3.12.tgz#49db44c470925c759465b6fdbd078f2a831e09c8" - integrity sha512-6aa4T9VqOMc0SFNBt6gxp0CWjvRqMg/uxvgpRbil+ToHWcU+Q+As0WKhPLaOniuTdCM85WWzRouD0O1XUGqg5Q== +"@cspell/dict-software-terms@^3.3.15": + version "3.3.16" + resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-3.3.16.tgz#c088501687e6a19625800cc612dae8aebaf0f086" + integrity sha512-ixorEP80LGxAU+ODVSn/CYIDjV0XAlZ2VrBu7CT+PwUFJ7h8o3JX1ywKB4qnt0hHru3JjWFtBoBThmZdrXnREQ== -"@cspell/dict-sql@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-sql/-/dict-sql-2.1.2.tgz#80492b887e7986dd8bc39a9c5ea513ede2b17cb1" - integrity sha512-Pi0hAcvsSGtZZeyyAN1VfGtQJbrXos5x2QjJU0niAQKhmITSOrXU/1II1Gogk+FYDjWyV9wP2De0U2f7EWs6oQ== +"@cspell/dict-sql@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-sql/-/dict-sql-2.1.3.tgz#8d9666a82e35b310d0be4064032c0d891fbd2702" + integrity sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ== "@cspell/dict-svelte@^1.0.2": version "1.0.2" @@ -698,17 +698,17 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-3.0.0.tgz#68ccb432ad93fcb0fd665352d075ae9a64ea9250" integrity sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A== -"@cspell/dynamic-import@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/dynamic-import/-/dynamic-import-8.1.3.tgz#7bfa0dc1dbbd44bced42677ff7129932bf325d3e" - integrity sha512-/lXFLa92v4oOcZ2PbdRpOqBvnqWlYmGaV7iCy8+QhIWlMdzi+7tBX3LVTm9Jzvt/rJseVHQQ6RvfTsSmhbUMFQ== +"@cspell/dynamic-import@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/dynamic-import/-/dynamic-import-8.3.2.tgz#96fea6b1139164449a8ef92530de670d4c2fb36e" + integrity sha512-4t0xM5luA3yQhar2xWvYK4wQSDB2r0u8XkpzzJqd57MnJXd7uIAxI0awGUrDXukadRaCo0tDIlMUBemH48SNVg== dependencies: import-meta-resolve "^4.0.0" -"@cspell/strong-weak-map@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@cspell/strong-weak-map/-/strong-weak-map-8.1.3.tgz#8c782d32bea999999c761a46b4010ee1569d07c1" - integrity sha512-GhWyximzk8tumo0zhrDV3+nFYiETYefiTBWAEVbXJMibuvitFocVZwddqN85J0UdZ2M7q6tvBleEaI9ME/16gA== +"@cspell/strong-weak-map@8.3.2": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@cspell/strong-weak-map/-/strong-weak-map-8.3.2.tgz#5a9490e042bbc472089817b50cf51262dfedef65" + integrity sha512-Mte/2000ap278kRYOUhiGWI7MNr1+A7WSWJmlcdP4CAH5SO20sZI3/cyZLjJJEyapdhK5vaP1L5J9sUcVDHd3A== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -717,22 +717,6 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@ensdomains/ens@^0.4.4": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc" - integrity sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw== - dependencies: - bluebird "^3.5.2" - eth-ens-namehash "^2.0.8" - solc "^0.4.20" - testrpc "0.0.1" - web3-utils "^1.0.0-beta.31" - -"@ensdomains/resolver@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" - integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== - "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -780,64 +764,120 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== -"@ethereum-waffle/chai@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.4.4.tgz#16c4cc877df31b035d6d92486dfdf983df9138ff" - integrity sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g== +"@ethereum-waffle/chai@4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-4.0.10.tgz#6f600a40b6fdaed331eba42b8625ff23f3a0e59a" + integrity sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw== dependencies: - "@ethereum-waffle/provider" "^3.4.4" - ethers "^5.5.2" + "@ethereum-waffle/provider" "4.0.5" + debug "^4.3.4" + json-bigint "^1.0.0" -"@ethereum-waffle/compiler@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz#d568ee0f6029e68b5c645506079fbf67d0dfcf19" - integrity sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ== +"@ethereum-waffle/compiler@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz#069e2df24b879b8a7b78857bad6f8bf6ebc8a5b1" + integrity sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw== dependencies: "@resolver-engine/imports" "^0.3.3" "@resolver-engine/imports-fs" "^0.3.3" - "@typechain/ethers-v5" "^2.0.0" + "@typechain/ethers-v5" "^10.0.0" "@types/mkdirp" "^0.5.2" - "@types/node-fetch" "^2.5.5" - ethers "^5.0.1" + "@types/node-fetch" "^2.6.1" mkdirp "^0.5.1" - node-fetch "^2.6.1" - solc "^0.6.3" - ts-generator "^0.1.1" - typechain "^3.0.0" + node-fetch "^2.6.7" + +"@ethereum-waffle/ens@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-4.0.3.tgz#4a46ac926414f3c83b4e8cc2562c8e2aee06377a" + integrity sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw== -"@ethereum-waffle/ens@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-3.4.4.tgz#db97ea2c9decbb70b9205d53de2ccbd6f3182ba1" - integrity sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg== +"@ethereum-waffle/mock-contract@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz#f13fea29922d87a4d2e7c4fc8fe72ea04d2c13de" + integrity sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA== + +"@ethereum-waffle/provider@4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-4.0.5.tgz#8a65dbf0263f4162c9209608205dee1c960e716b" + integrity sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw== + dependencies: + "@ethereum-waffle/ens" "4.0.3" + "@ganache/ethereum-options" "0.1.4" + debug "^4.3.4" + ganache "7.4.3" + +"@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.6.0", "@ethereumjs/block@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.6.3.tgz#d96cbd7af38b92ebb3424223dbf773f5ccd27f84" + integrity sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg== dependencies: - "@ensdomains/ens" "^0.4.4" - "@ensdomains/resolver" "^0.2.4" - ethers "^5.5.2" + "@ethereumjs/common" "^2.6.5" + "@ethereumjs/tx" "^3.5.2" + ethereumjs-util "^7.1.5" + merkle-patricia-tree "^4.2.4" -"@ethereum-waffle/mock-contract@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz#fc6ffa18813546f4950a69f5892d4dd54b2c685a" - integrity sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA== +"@ethereumjs/blockchain@^5.5.0": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz#aa49a6a04789da6b66b5bcbb0d0b98efc369f640" + integrity sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw== dependencies: - "@ethersproject/abi" "^5.5.0" - ethers "^5.5.2" + "@ethereumjs/block" "^3.6.2" + "@ethereumjs/common" "^2.6.4" + "@ethereumjs/ethash" "^1.1.0" + debug "^4.3.3" + ethereumjs-util "^7.1.5" + level-mem "^5.0.1" + lru-cache "^5.1.1" + semaphore-async-await "^1.5.1" + +"@ethereumjs/common@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" + integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.3" + +"@ethereumjs/common@^2.6.0", "@ethereumjs/common@^2.6.4", "@ethereumjs/common@^2.6.5": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" -"@ethereum-waffle/provider@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-3.4.4.tgz#398fc1f7eb91cc2df7d011272eacba8af0c7fffb" - integrity sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g== +"@ethereumjs/ethash@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-1.1.0.tgz#7c5918ffcaa9cb9c1dc7d12f77ef038c11fb83fb" + integrity sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA== dependencies: - "@ethereum-waffle/ens" "^3.4.4" - ethers "^5.5.2" - ganache-core "^2.13.2" - patch-package "^6.2.2" - postinstall-postinstall "^2.1.0" + "@ethereumjs/block" "^3.5.0" + "@types/levelup" "^4.3.0" + buffer-xor "^2.0.1" + ethereumjs-util "^7.1.1" + miller-rabin "^4.0.0" "@ethereumjs/rlp@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== +"@ethereumjs/tx@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" + integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== + dependencies: + "@ethereumjs/common" "^2.6.0" + ethereumjs-util "^7.1.3" + +"@ethereumjs/tx@^3.4.0", "@ethereumjs/tx@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" + integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== + dependencies: + "@ethereumjs/common" "^2.6.4" + ethereumjs-util "^7.1.5" + "@ethereumjs/util@^8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" @@ -847,20 +887,23 @@ ethereum-cryptography "^2.0.0" micro-ftch "^0.3.1" -"@ethersproject/abi@5.0.0-beta.153": - version "5.0.0-beta.153" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz#43a37172b33794e4562999f6e2d555b7599a8eee" - integrity sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg== - dependencies: - "@ethersproject/address" ">=5.0.0-beta.128" - "@ethersproject/bignumber" ">=5.0.0-beta.130" - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/constants" ">=5.0.0-beta.128" - "@ethersproject/hash" ">=5.0.0-beta.128" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/properties" ">=5.0.0-beta.131" - "@ethersproject/strings" ">=5.0.0-beta.130" +"@ethereumjs/vm@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.6.0.tgz#e0ca62af07de820143674c30b776b86c1983a464" + integrity sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ== + dependencies: + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/blockchain" "^5.5.0" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" + async-eventemitter "^0.2.4" + core-js-pure "^3.0.1" + debug "^2.2.0" + ethereumjs-util "^7.1.3" + functional-red-black-tree "^1.0.1" + mcl-wasm "^0.7.1" + merkle-patricia-tree "^4.2.2" + rustbn.js "~0.2.0" "@ethersproject/abi@5.5.0": version "5.5.0" @@ -951,7 +994,7 @@ "@ethersproject/logger" "^5.5.0" "@ethersproject/rlp" "^5.5.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.5.0", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.5.0", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -1001,7 +1044,7 @@ "@ethersproject/logger" "^5.5.0" bn.js "^4.11.9" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.5.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.5.0", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -1017,7 +1060,7 @@ dependencies: "@ethersproject/logger" "^5.5.0" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.5.0", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.5.0", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== @@ -1031,7 +1074,7 @@ dependencies: "@ethersproject/bignumber" "^5.5.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.5.0", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.5.0", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== @@ -1084,7 +1127,7 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.5.0", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.5.0", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -1181,7 +1224,7 @@ "@ethersproject/bytes" "^5.5.0" js-sha3 "0.8.0" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.5.0", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.5.0", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -1194,7 +1237,7 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== -"@ethersproject/logger@5.7.0", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.5.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.5.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== @@ -1236,7 +1279,7 @@ dependencies: "@ethersproject/logger" "^5.5.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.5.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.5.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== @@ -1401,7 +1444,7 @@ "@ethersproject/constants" "^5.5.0" "@ethersproject/logger" "^5.5.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.5.0", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.5.0", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -1425,7 +1468,7 @@ "@ethersproject/rlp" "^5.5.0" "@ethersproject/signing-key" "^5.5.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.5.0", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -1549,6 +1592,68 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ== +"@ganache/ethereum-address@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz#0e6d66f4a24f64bf687cb3ff7358fb85b9d9005e" + integrity sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw== + dependencies: + "@ganache/utils" "0.1.4" + +"@ganache/ethereum-options@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz#6a559abb44225e2b8741a8f78a19a46714a71cd6" + integrity sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw== + dependencies: + "@ganache/ethereum-address" "0.1.4" + "@ganache/ethereum-utils" "0.1.4" + "@ganache/options" "0.1.4" + "@ganache/utils" "0.1.4" + bip39 "3.0.4" + seedrandom "3.0.5" + +"@ganache/ethereum-utils@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz#fae4b5b9e642e751ff1fa0cd7316c92996317257" + integrity sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg== + dependencies: + "@ethereumjs/common" "2.6.0" + "@ethereumjs/tx" "3.4.0" + "@ethereumjs/vm" "5.6.0" + "@ganache/ethereum-address" "0.1.4" + "@ganache/rlp" "0.1.4" + "@ganache/utils" "0.1.4" + emittery "0.10.0" + ethereumjs-abi "0.6.8" + ethereumjs-util "7.1.3" + +"@ganache/options@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/options/-/options-0.1.4.tgz#325b07e6de85094667aaaaf3d653e32404a04b78" + integrity sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw== + dependencies: + "@ganache/utils" "0.1.4" + bip39 "3.0.4" + seedrandom "3.0.5" + +"@ganache/rlp@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/rlp/-/rlp-0.1.4.tgz#f4043afda83e1a14a4f80607b103daf166a9b374" + integrity sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ== + dependencies: + "@ganache/utils" "0.1.4" + rlp "2.2.6" + +"@ganache/utils@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/utils/-/utils-0.1.4.tgz#25d60d7689e3dda6a8a7ad70e3646f07c2c39a1f" + integrity sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w== + dependencies: + emittery "0.10.0" + keccak "3.0.1" + seedrandom "3.0.5" + optionalDependencies: + "@trufflesuite/bigint-buffer" "1.1.9" + "@humanwhocodes/config-array@^0.11.13": version "0.11.13" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" @@ -1587,6 +1692,18 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1835,20 +1952,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@ljharb/resumer@~0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" - integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== - dependencies: - "@ljharb/through" "^2.3.9" - -"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": - version "2.3.11" - resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.11.tgz#783600ff12c06f21a76cc26e33abd0b1595092f9" - integrity sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w== - dependencies: - call-bind "^1.0.2" - "@matterlabs/eslint-config-typescript@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@matterlabs/eslint-config-typescript/-/eslint-config-typescript-1.1.2.tgz#a9be4e56aedf298800f247c5049fc412f8b301a7" @@ -1920,9 +2023,9 @@ dockerode "^3.3.4" "@matterlabs/hardhat-zksync-solc@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-1.0.5.tgz#9f128da0b47c147216dbd84c82bc58c190052afe" - integrity sha512-IBWvbGJSISNtWIz/4VBfV1NweVYK7xHmy787o6fDjntxP5P4XEklTJU3/pNBQdL5fZbIrQqMmXFMOwUXnuEY6Q== + version "1.0.6" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-1.0.6.tgz#7ef8438e6bb15244691600e2afa77aaff7dff9f0" + integrity sha512-0icYSufXba/Bbb7v2iXuZJ+IbYsiNpR4Wy6UizHnGuFw3OMHgh+saebQphuaN9yyRL2UPGZbPkQFHWBLZj5/xQ== dependencies: "@nomiclabs/hardhat-docker" "^2.0.0" chalk "4.1.2" @@ -2439,31 +2542,26 @@ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.6.tgz#d11cb063a5f61a77806053e54009c40ddee49a54" integrity sha512-+Wz0hwmJGSI17B+BhU/qFRZ1l6/xMW82QGXE/Gi+WTmwgJrQefuBs1lIf7hzQ1hLk6hpkvb/zwcNkpVKRYTQYg== -"@openzeppelin/contracts-upgradeable@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.6.0.tgz#1bf55f230f008554d4c6fe25eb165b85112108b0" - integrity sha512-5OnVuO4HlkjSCJO165a4i2Pu1zQGzMs//o54LPrwUgxvEO2P3ax1QuaSI0cEHHTveA77guS0PnNugpR2JMsPfA== - -"@openzeppelin/contracts-upgradeable@4.8.0": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.0.tgz#26688982f46969018e3ed3199e72a07c8d114275" - integrity sha512-5GeFgqMiDlqGT8EdORadp1ntGF0qzWZLmEY7Wbp/yVhN7/B3NNzCxujuI77ktlyG81N3CUZP8cZe3ZAQ/cW10w== - -"@openzeppelin/contracts@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.6.0.tgz#c91cf64bc27f573836dba4122758b4743418c1b3" - integrity sha512-8vi4d50NNya/bQqCmaVzvHNmwHvS0OBKb7HNtuNwEE3scXWrP31fKQoGxNMT+KbzmrNZzatE3QK5p2gFONI/hg== +"@openzeppelin/contracts-upgradeable@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.5.tgz#572b5da102fc9be1d73f34968e0ca56765969812" + integrity sha512-f7L1//4sLlflAN7fVzJLoRedrf5Na3Oal5PZfIq55NFcVZ90EpV1q5xOvL4lFvg3MNICSDr2hH0JUBxwlxcoPg== -"@openzeppelin/contracts@4.8.0": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.8.0.tgz#6854c37df205dd2c056bdfa1b853f5d732109109" - integrity sha512-AGuwhRRL+NaKx73WKRNzeCxOCOCxpaqF+kp8TJ89QzAipSwZy/NoflkWaL9bywXFRhIzXt8j38sfF7KBKCPWLw== +"@openzeppelin/contracts@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.5.tgz#1eed23d4844c861a1835b5d33507c1017fa98de8" + integrity sha512-ZK+W5mVhRppff9BE6YdR8CC52C8zAvsVAiWhEtQ5+oNxFE6h1WdeWo+FJSF8KKvtxxVYZ7MTP/5KoVpAU3aSWg== "@openzeppelin/contracts@^4.8.0": version "4.9.3" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.3.tgz#00d7a8cf35a475b160b3f0293a6403c511099364" integrity sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg== +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@pkgr/utils@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" @@ -2678,16 +2776,6 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - "@sinonjs/commons@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" @@ -2723,19 +2811,19 @@ dependencies: antlr4ts "^0.5.0-alpha.4" -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== +"@trufflesuite/bigint-buffer@1.1.10": + version "1.1.10" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692" + integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw== dependencies: - defer-to-connect "^1.0.1" + node-gyp-build "4.4.0" -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== +"@trufflesuite/bigint-buffer@1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz#e2604d76e1e4747b74376d68f1312f9944d0d75d" + integrity sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw== dependencies: - defer-to-connect "^2.0.0" + node-gyp-build "4.3.0" "@ts-morph/common@~0.20.0": version "0.20.0" @@ -2767,6 +2855,14 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@typechain/ethers-v5@^10.0.0": + version "10.2.1" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz#50241e6957683281ecfa03fb5a6724d8a3ce2391" + integrity sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + "@typechain/ethers-v5@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz#cd3ca1590240d587ca301f4c029b67bfccd08810" @@ -2774,6 +2870,11 @@ dependencies: ethers "^5.0.2" +"@types/abstract-leveldown@*": + version "7.2.5" + resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-7.2.5.tgz#db2cf364c159fb1f12be6cd3549f56387eaf8d73" + integrity sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg== + "@types/argparse@^1.0.36": version "1.0.38" resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" @@ -2812,7 +2913,7 @@ dependencies: "@babel/types" "^7.20.7" -"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5": +"@types/bn.js@^4.11.3": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== @@ -2826,16 +2927,6 @@ dependencies: "@types/node" "*" -"@types/cacheable-request@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - "@types/chai-as-promised@^7.1.3", "@types/chai-as-promised@^7.1.4": version "7.1.8" resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" @@ -2887,11 +2978,6 @@ dependencies: "@types/node" "*" -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" @@ -2929,11 +3015,18 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== +"@types/level-errors@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/level-errors/-/level-errors-3.0.2.tgz#f33ec813c50780b547463da9ad8acac89ee457d9" + integrity sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA== + +"@types/levelup@^4.3.0": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.3.tgz#4dc2b77db079b1cf855562ad52321aa4241b8ef4" + integrity sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA== dependencies: + "@types/abstract-leveldown" "*" + "@types/level-errors" "*" "@types/node" "*" "@types/lodash@^4.14.199": @@ -2941,7 +3034,7 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== -"@types/lru-cache@^5.1.0": +"@types/lru-cache@5.1.1", "@types/lru-cache@^5.1.0": version "5.1.1" resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== @@ -2975,14 +3068,6 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== -"@types/node-fetch@^2.5.5": - version "2.6.9" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" - integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA== - dependencies: - "@types/node" "*" - form-data "^4.0.0" - "@types/node-fetch@^2.5.7": version "2.6.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.7.tgz#a1abe2ce24228b58ad97f99480fdcf9bbc6ab16d" @@ -2991,6 +3076,14 @@ "@types/node" "*" form-data "^4.0.0" +"@types/node-fetch@^2.6.1": + version "2.6.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.10.tgz#ff5c1ceacab782f2b7ce69957d38c1c27b0dc469" + integrity sha512-PPpPK6F9ALFTn59Ka3BaL+qGuipRfxNE8qVgkp0bVixeiR2c2/L+IVOiBdu9JhhT22sWnQEp6YyHGI2b2+CMcA== + dependencies: + "@types/node" "*" + form-data "^4.0.0" + "@types/node@*": version "20.8.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.10.tgz#a5448b895c753ae929c26ce85cab557c6d4a365e" @@ -2998,6 +3091,11 @@ dependencies: undici-types "~5.26.4" +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + "@types/node@>=13.7.0": version "20.10.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.4.tgz#b246fd84d55d5b1b71bf51f964bd514409347198" @@ -3010,11 +3108,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== -"@types/node@^12.12.6": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - "@types/node@^14.14.5", "@types/node@^14.6.1": version "14.18.63" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" @@ -3071,13 +3164,6 @@ dependencies: "@types/node" "*" -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - "@types/secp256k1@^4.0.1": version "4.0.5" resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.5.tgz#14b1766b4fbc198b0af5599d9fd21c89056633ce" @@ -3085,6 +3171,11 @@ dependencies: "@types/node" "*" +"@types/seedrandom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" + integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== + "@types/semver@^7.5.0": version "7.5.4" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" @@ -3287,11 +3378,6 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - JSONStream@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" @@ -3330,42 +3416,40 @@ abstract-level@^1.0.0, abstract-level@^1.0.2, abstract-level@^1.0.3: module-error "^1.0.1" queue-microtask "^1.2.3" -abstract-leveldown@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz#5cb89f958a44f526779d740d1440e743e0c30a57" - integrity sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@^2.4.1, abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== +abstract-leveldown@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" + integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" xtend "~4.0.0" -abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz#f7128e1f86ccabf7d2893077ce5d06d798e386c6" - integrity sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A== +abstract-leveldown@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" + integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== dependencies: - xtend "~4.0.0" + buffer "^6.0.3" + catering "^2.0.0" + is-buffer "^2.0.5" + level-concat-iterator "^3.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== +abstract-leveldown@~6.2.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" + integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" xtend "~4.0.0" -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -3401,11 +3485,6 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -aes-js@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3468,11 +3547,6 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" @@ -3493,11 +3567,6 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -3517,6 +3586,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + antlr4@^4.11.0: version "4.13.1" resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.13.1.tgz#1e0a1830a08faeb86217cb2e6c34716004e4253d" @@ -3562,21 +3636,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - array-back@^1.0.3, array-back@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" @@ -3591,6 +3650,16 @@ array-back@^2.0.0: dependencies: typical "^2.6.1" +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + array-buffer-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" @@ -3599,11 +3668,6 @@ array-buffer-byte-length@^1.0.0: call-bind "^1.0.2" is-array-buffer "^3.0.1" -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - array-includes@^3.1.7: version "3.1.7" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" @@ -3630,11 +3694,6 @@ array-uniq@1.0.3: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - array.prototype.findlastindex@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" @@ -3666,17 +3725,6 @@ array.prototype.flatmap@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.reduce@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" - integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - arraybuffer.prototype.slice@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" @@ -3695,16 +3743,6 @@ asap@~2.0.6: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - asn1@^0.2.6, asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -3722,11 +3760,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - ast-parents@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/ast-parents/-/ast-parents-0.0.1.tgz#508fd0f05d0c48775d9eccda2e174423261e8dd3" @@ -3737,31 +3770,19 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-eventemitter@^0.2.2: +async-eventemitter@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== dependencies: async "^2.4.0" -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@1.x, async@^1.4.2: +async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== -async@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== - dependencies: - lodash "^4.17.11" - -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.1: +async@^2.4.0: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== @@ -3773,16 +3794,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -3814,40 +3825,6 @@ axios@^1.4.0, axios@^1.5.1: form-data "^4.0.0" proxy-from-env "^1.1.0" -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.0.14, babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -3860,133 +3837,6 @@ babel-eslint@^10.1.0: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" -babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - integrity sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q== - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ== - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - integrity sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ== - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q== - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg== - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - integrity sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw== - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ== - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" @@ -4000,20 +3850,6 @@ babel-jest@^29.7.0: graceful-fs "^4.2.9" slash "^3.0.0" -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA== - dependencies: - babel-runtime "^6.22.0" - babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -4035,244 +3871,6 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - integrity sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw== - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - integrity sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ== - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - integrity sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ== - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - integrity sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw== - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.23.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw== - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag== - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw== - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA== - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg== - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw== - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA== - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ== - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ== - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ== - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - integrity sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ== - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg== - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -4291,42 +3889,6 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-env@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" - integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^3.2.6" - invariant "^2.2.2" - semver "^5.3.0" - babel-preset-jest@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" @@ -4335,89 +3897,20 @@ babel-preset-jest@^29.6.3: babel-plugin-jest-hoist "^29.6.3" babel-preset-current-node-syntax "^1.0.0" -babel-register@^6.26.0: +babel-runtime@^6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A== - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg== - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA== - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babelify@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" - integrity sha512-vID8Fz6pPN5pJMdlUnNFSfrlcx5MUule4k9aKs/zbZPyXxMTcRrB0M4Tarw22L8afr8eYSWxDPYCob3TdrqtlA== - dependencies: - babel-core "^6.0.14" - object-assign "^4.0.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -backoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" - integrity sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA== - dependencies: - precond "0.2" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2, base-x@^3.0.8: +base-x@^3.0.2: version "3.0.9" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== @@ -4429,19 +3922,6 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -4474,16 +3954,15 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bip39@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.5.0.tgz#51cbd5179460504a63ea3c000db3f787ca051235" - integrity sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA== +bip39@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" + integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== dependencies: + "@types/node" "11.11.6" create-hash "^1.1.0" pbkdf2 "^3.0.9" randombytes "^2.0.1" - safe-buffer "^5.0.1" - unorm "^1.3.3" bl@^1.0.0: version "1.2.3" @@ -4507,11 +3986,6 @@ blakejs@^1.1.0: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -bluebird@^3.5.0, bluebird@^3.5.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - bn-str-256@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/bn-str-256/-/bn-str-256-1.9.1.tgz#898cebee70a3edc3968f97b4cebbc4771025aa82" @@ -4525,52 +3999,16 @@ bn.js@4.11.6: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.8.0: +bn.js@^4.0.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -body-parser@^1.16.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - bplist-parser@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" @@ -4593,22 +4031,6 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -4636,7 +4058,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: +browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -4648,56 +4070,6 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: inherits "^2.0.1" safe-buffer "^5.0.1" -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" - integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.4" - inherits "^2.0.4" - parse-asn1 "^5.1.6" - readable-stream "^3.6.2" - safe-buffer "^5.2.1" - -browserslist@^3.2.6: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - browserslist@^4.21.9: version "4.22.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" @@ -4771,11 +4143,6 @@ buffer-reverse@^1.0.1: resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== - buffer-writer@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" @@ -4793,7 +4160,7 @@ buffer-xor@^2.0.1: dependencies: safe-buffer "^5.1.1" -buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4809,10 +4176,10 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== +bufferutil@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== dependencies: node-gyp-build "^4.3.0" @@ -4833,76 +4200,7 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -bytewise-core@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bytewise-core/-/bytewise-core-1.2.3.tgz#3fb410c7e91558eb1ab22a82834577aa6bd61d42" - integrity sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA== - dependencies: - typewise-core "^1.2" - -bytewise@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/bytewise/-/bytewise-1.1.0.tgz#1d13cbff717ae7158094aa881b35d081b387253e" - integrity sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ== - dependencies: - bytewise-core "^1.2.2" - typewise "^1.0.3" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -cachedown@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cachedown/-/cachedown-1.0.0.tgz#d43f036e4510696b31246d7db31ebf0f7ac32d15" - integrity sha512-t+yVk82vQWCJF3PsWHMld+jhhjkkWjcAzz8NbFx1iULOXWl8Tm/FdM4smZNVw3MRr0X+lVTx9PKzvEn4Ng19RQ== - dependencies: - abstract-leveldown "^2.4.1" - lru-cache "^3.2.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@~1.0.2: +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== @@ -4916,11 +4214,6 @@ callsites@^3.0.0, callsites@^3.1.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== - camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -4931,11 +4224,6 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30000844: - version "1.0.30001570" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" - integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== - caniuse-lite@^1.0.30001541: version "1.0.30001558" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001558.tgz#d2c6e21fdbfe83817f70feab902421a19b7983ee" @@ -4951,7 +4239,7 @@ caseless@^0.12.0, caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -catering@^2.1.0, catering@^2.1.1: +catering@^2.0.0, catering@^2.1.0, catering@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== @@ -4970,6 +4258,19 @@ chai-as-promised@^7.1.1: dependencies: check-error "^1.0.2" +chai@^4.3.10: + version "4.4.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.0.tgz#f9ac79f26726a867ac9d90a9b382120479d5f55b" + integrity sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" + chai@^4.3.4: version "4.3.10" resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" @@ -4998,17 +4299,6 @@ chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -5045,13 +4335,6 @@ check-error@^1.0.2, check-error@^1.0.3: dependencies: get-func-name "^2.0.2" -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg== - dependencies: - functional-red-black-tree "^1.0.1" - chokidar@3.5.3, chokidar@^3.4.0: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -5067,7 +4350,7 @@ chokidar@3.5.3, chokidar@^3.4.0: optionalDependencies: fsevents "~2.3.2" -chownr@^1.0.1, chownr@^1.1.1, chownr@^1.1.4: +chownr@^1.0.1, chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -5082,17 +4365,6 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -5106,21 +4378,6 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - classic-level@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.3.0.tgz#5e36680e01dc6b271775c093f2150844c5edd5c8" @@ -5176,15 +4433,6 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -5203,18 +4451,6 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clone@2.1.2, clone@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -5225,24 +4461,11 @@ code-block-writer@^12.0.0: resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-12.0.0.tgz#4dd58946eb4234105aff7f0035977b2afdc2a770" integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - collections@^5.1.12: version "5.1.13" resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.13.tgz#eee204a93b67473c8e74e00e934a997cc2817585" @@ -5300,6 +4523,26 @@ command-line-args@^4.0.7: find-replace "^1.0.3" typical "^2.6.1" +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + commander@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" @@ -5358,17 +4601,12 @@ comment-json@^4.2.3: has-own-prop "^2.0.0" repeat-string "^1.6.1" -component-emitter@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@^1.6.2, concat-stream@~1.6.2: +concat-stream@^1.6.0, concat-stream@^1.6.2, concat-stream@~1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -5389,68 +4627,22 @@ configstore@^6.0.0: write-file-atomic "^3.0.3" xdg-basedir "^5.0.1" -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.5.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - cookie@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -cookiejar@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - core-js-pure@^3.0.1: version "3.34.0" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.34.0.tgz#981e462500708664c91b827a75b011f04a8134a0" integrity sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg== -core-js@^2.4.0, core-js@^2.5.0: +core-js@^2.4.0: version "2.6.12" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== @@ -5465,14 +4657,6 @@ core-util-is@^1.0.3, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - cosmiconfig@^8.0.0: version "8.3.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" @@ -5496,14 +4680,6 @@ crc-32@^1.2.0: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -5515,7 +4691,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: +create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -5545,14 +4721,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@^2.1.0, cross-fetch@^2.1.1: - version "2.2.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" - integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== - dependencies: - node-fetch "^2.6.7" - whatwg-fetch "^2.0.4" - cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -5564,7 +4732,7 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -5578,27 +4746,10 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== -crypto-browserify@3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-js@^3.1.9-1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" - integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== +crypto-js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" + integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== crypto-random-string@^4.0.0: version "4.0.0" @@ -5607,76 +4758,76 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" -cspell-config-lib@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-config-lib/-/cspell-config-lib-8.1.3.tgz#5cd4a8e4d844e9b5737825bda5b445ed50795f88" - integrity sha512-whzJYxcxos3vnywn0alCFZ+Myc0K/C62pUurfOGhgvIba7ArmlXhNRaL2r5noBxWARtpBOtzz3vrzSBK7Lq6jg== +cspell-config-lib@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-config-lib/-/cspell-config-lib-8.3.2.tgz#050a6d782072a810cb6655efe11c08c80ae7636b" + integrity sha512-Wc98XhBNLwDxnxCzMtgRJALI9a69cu3C5Gf1rGjNTKSFo9JYiQmju0Ur3z25Pkx9Sa86f+2IjvNCf33rUDSoBQ== dependencies: - "@cspell/cspell-types" "8.1.3" + "@cspell/cspell-types" "8.3.2" comment-json "^4.2.3" yaml "^2.3.4" -cspell-dictionary@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-dictionary/-/cspell-dictionary-8.1.3.tgz#7294ade35ceb388cb841a6ac8435b631aa1cac68" - integrity sha512-nkRQDPNnA6tw+hJFBqq26M0nK306q5rtyv/AUIWa8ZHhQkwzACnpMSpuJA7/DV5GVvPKltMK5M4A6vgfpoaFHw== +cspell-dictionary@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-dictionary/-/cspell-dictionary-8.3.2.tgz#6627a94501811a143f3b638e0e77f7262335dbd4" + integrity sha512-xyK95hO2BMPFxIo8zBwGml8035qOxSBdga1BMhwW/p2wDrQP8S4Cdm/54//tCDmKn6uRkFQvyOfWGaX2l8WMEg== dependencies: - "@cspell/cspell-pipe" "8.1.3" - "@cspell/cspell-types" "8.1.3" - cspell-trie-lib "8.1.3" + "@cspell/cspell-pipe" "8.3.2" + "@cspell/cspell-types" "8.3.2" + cspell-trie-lib "8.3.2" fast-equals "^5.0.1" gensequence "^6.0.0" -cspell-gitignore@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-8.1.3.tgz#1d2ec9dc8d97ea8291a197e5acf6d6b6c9634193" - integrity sha512-NHx5lg44eCKb6yJmUPOCz4prcuYowzoo5GJ5hOcCfbk7ZEBWV1E2/kDRuQMOK2W0y1hNGr45CSxO3UxWJlYg7w== +cspell-gitignore@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-8.3.2.tgz#5cf244be494bf87257ca8715ac88b0849dd5fef3" + integrity sha512-3Qc9P5BVvl/cg//s2s+zIMGKcoH5v7oOtRgwn4UQry8yiyo19h0tiTKkSR574FMhF5NtcShTnwIwPSIXVBPFHA== dependencies: - cspell-glob "8.1.3" + cspell-glob "8.3.2" find-up-simple "^1.0.0" -cspell-glob@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-8.1.3.tgz#3eeecbf6ecbfab184107021fdf8691ce4e8fa6c5" - integrity sha512-Likr7UVUXBpthQnM5r6yao3X0YBNRbJ9AHWXTC2RJfzwZOFKF+pKPfeo3FU+Px8My96M4RC2bVMbrbZUwN5NJw== +cspell-glob@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-8.3.2.tgz#4c208e4ddd5604d2871df534a3054c7a3fdc9998" + integrity sha512-KtIFxE+3l5dGEofND4/CdZffXP8XN1+XGQKxJ96lIzWsc01mkotfhxTkla6mgvfH039t7BsY/SWv0460KyGslQ== dependencies: micromatch "^4.0.5" -cspell-grammar@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-grammar/-/cspell-grammar-8.1.3.tgz#8ee7d4cef92053c53b320ae105e64b771c73d21e" - integrity sha512-dTOwNq6a5wcVzOsi4xY5/tq2r2w/+wLVU+WfyySTsPe66Rjqx/QceFl4OinImks/ZMKF7Zyjd3WGyQ5TcSsJFQ== +cspell-grammar@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-grammar/-/cspell-grammar-8.3.2.tgz#69d7980c036c206745d5d417d32c95edaaff6107" + integrity sha512-tYCkOmRzJe1a6/R+8QGSwG7TwTgznLPqsHtepKzLmnS4YX54VXjKRI9zMARxXDzUVfyCSVdW5MyiY/0WTNoy+A== dependencies: - "@cspell/cspell-pipe" "8.1.3" - "@cspell/cspell-types" "8.1.3" + "@cspell/cspell-pipe" "8.3.2" + "@cspell/cspell-types" "8.3.2" -cspell-io@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-8.1.3.tgz#57e99a78d998d5ab6a7a09468892174f1233b62b" - integrity sha512-QkcFeYd79oIl7PgSqFSZyvwXnZQhXmdCI733n54IN2+iXDcf7W0mwptxoC/cE19RkEwAwEFLG81UAy6L/BXI6A== +cspell-io@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-8.3.2.tgz#8ddd865fa9a1391852e3288789f5b2a6613239bd" + integrity sha512-WYpKsyBCQP0SY4gXnhW5fPuxcYchKYKG1PIXVV3ezFU4muSgW6GuLNbGuSfwv/8YNXRgFSN0e3hYH0rdBK2Aow== dependencies: - "@cspell/cspell-service-bus" "8.1.3" + "@cspell/cspell-service-bus" "8.3.2" -cspell-lib@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-8.1.3.tgz#5c1f87c4adb2643baa510cf1bec083bd9145b5ab" - integrity sha512-Kk8bpHVkDZO4MEiPkDvRf/LgJ0h5mufbKLTWModq6k0Ca8EkZ/qgQlZ0ve0rIivbleSqebuWjpJHKDM+IHmzHA== - dependencies: - "@cspell/cspell-bundled-dicts" "8.1.3" - "@cspell/cspell-pipe" "8.1.3" - "@cspell/cspell-resolver" "8.1.3" - "@cspell/cspell-types" "8.1.3" - "@cspell/dynamic-import" "8.1.3" - "@cspell/strong-weak-map" "8.1.3" +cspell-lib@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-8.3.2.tgz#8225f8d3a20596bda4b9689a2ad958f7831f5a7d" + integrity sha512-wTvdaev/TyGB/ln6CVD1QbVs2D7/+QiajQ67S7yj1suLHM6YcNQQb/5sPAM8VPtj0E7PgwgPXf3bq18OtPvnFg== + dependencies: + "@cspell/cspell-bundled-dicts" "8.3.2" + "@cspell/cspell-pipe" "8.3.2" + "@cspell/cspell-resolver" "8.3.2" + "@cspell/cspell-types" "8.3.2" + "@cspell/dynamic-import" "8.3.2" + "@cspell/strong-weak-map" "8.3.2" clear-module "^4.1.2" comment-json "^4.2.3" configstore "^6.0.0" - cspell-config-lib "8.1.3" - cspell-dictionary "8.1.3" - cspell-glob "8.1.3" - cspell-grammar "8.1.3" - cspell-io "8.1.3" - cspell-trie-lib "8.1.3" + cspell-config-lib "8.3.2" + cspell-dictionary "8.3.2" + cspell-glob "8.3.2" + cspell-grammar "8.3.2" + cspell-io "8.3.2" + cspell-trie-lib "8.3.2" fast-equals "^5.0.1" gensequence "^6.0.0" import-fresh "^3.3.0" @@ -5684,47 +4835,39 @@ cspell-lib@8.1.3: vscode-languageserver-textdocument "^1.0.11" vscode-uri "^3.0.8" -cspell-trie-lib@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-8.1.3.tgz#0831429f898f816c301ac440dc1f2b199d51f7ba" - integrity sha512-EDSYU9MCtzPSJDrfvDrTKmc0rzl50Ehjg1c5rUCqn33p2LCRe/G8hW0FxXe0mxrZxrMO2b8l0PVSGlrCXCQ8RQ== +cspell-trie-lib@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-8.3.2.tgz#e1e8c9926f41a094bec7f0af85b931be06019fe7" + integrity sha512-8qh2FqzkLMwzlTlvO/5Z+89fhi30rrfekocpight/BmqKbE2XFJQD7wS2ml24e7q/rdHJLXVpJbY/V5mByucCA== dependencies: - "@cspell/cspell-pipe" "8.1.3" - "@cspell/cspell-types" "8.1.3" + "@cspell/cspell-pipe" "8.3.2" + "@cspell/cspell-types" "8.3.2" gensequence "^6.0.0" -cspell@^8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-8.1.3.tgz#c8643b86d7e06b69e7032bf2ddf3b27563f85c43" - integrity sha512-SU4Su6002bPoJYaiMeNV4wwLoS8TwaOgIwaTxhys3GDbJIxZV6CrDgwksezHcG7TZrC4yrveDVsdpnrzmQ7T5Q== +cspell@*: + version "8.3.2" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-8.3.2.tgz#56e7e919d87d38016b4c34b8c8ee745404c230a7" + integrity sha512-V8Ub3RO/a5lwSsltW/ib3Z3G/sczKtSpBBN1JChzbSCfEgaY2mJY8JW0BpkSV+Ug6uJitpXNOOaxa3Xr489i7g== dependencies: - "@cspell/cspell-json-reporter" "8.1.3" - "@cspell/cspell-pipe" "8.1.3" - "@cspell/cspell-types" "8.1.3" - "@cspell/dynamic-import" "8.1.3" + "@cspell/cspell-json-reporter" "8.3.2" + "@cspell/cspell-pipe" "8.3.2" + "@cspell/cspell-types" "8.3.2" + "@cspell/dynamic-import" "8.3.2" chalk "^5.3.0" chalk-template "^1.1.0" commander "^11.1.0" - cspell-gitignore "8.1.3" - cspell-glob "8.1.3" - cspell-io "8.1.3" - cspell-lib "8.1.3" + cspell-gitignore "8.3.2" + cspell-glob "8.3.2" + cspell-io "8.3.2" + cspell-lib "8.3.2" fast-glob "^3.3.2" fast-json-stable-stringify "^2.1.0" - file-entry-cache "^7.0.2" + file-entry-cache "^8.0.0" get-stdin "^9.0.0" semver "^7.5.4" strip-ansi "^7.1.0" vscode-uri "^3.0.8" -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -5737,20 +4880,6 @@ death@^1.1.0: resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -5765,6 +4894,13 @@ debug@4.3.3: dependencies: ms "2.1.2" +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -5772,11 +4908,6 @@ debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -decamelize@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -5787,25 +4918,6 @@ decimal.js-light@^2.5.0: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" @@ -5818,19 +4930,7 @@ deep-eql@^4.0.1, deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" -deep-equal@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" - integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== - dependencies: - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - object-is "^1.1.5" - object-keys "^1.1.1" - regexp.prototype.flags "^1.5.1" - -deep-extend@^0.6.0: +deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== @@ -5868,29 +4968,12 @@ default-browser@^4.0.0: execa "^7.1.1" titleize "^3.0.0" -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -deferred-leveldown@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz#0b0570087827bf480a23494b398f04c128c19a20" - integrity sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww== +deferred-leveldown@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" + integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== dependencies: - abstract-leveldown "~5.0.0" + abstract-leveldown "~6.2.1" inherits "^2.0.3" define-data-property@^1.0.1, define-data-property@^1.1.1: @@ -5916,33 +4999,6 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -5953,26 +5009,6 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A== - dependencies: - repeating "^2.0.0" - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -6001,15 +5037,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - difflib@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" @@ -6049,10 +5076,10 @@ docker-modem@^3.0.0: split-ca "^1.0.1" ssh2 "^1.11.0" -docker-modem@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-5.0.1.tgz#106bab0886d4df4ed1ea9053f1863ade4adbe846" - integrity sha512-vqrE/nrweCyzmCpVpdFRC41qS+tfTF+IoUKlTZr52O82urbUqdfyJBGWMvT01pYUprWepLr8IkyVTEWJKRTQSg== +docker-modem@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-5.0.2.tgz#d119282d85679a8e7bc788e620093f1348658b5d" + integrity sha512-1Nwtxsk3D6CMj7ovGxSj/r3cEw2EVcT4AsAOdKngDVn2mENnRdq5tIgwpjecgdEtPhd7U5Ww39FNzxo8k++ESw== dependencies: debug "^4.1.1" readable-stream "^3.5.0" @@ -6078,12 +5105,12 @@ dockerode@^3.3.4: tar-fs "~2.0.1" dockerode@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-4.0.0.tgz#9c9c66926da77f6f894ad54057737a0bc7d34712" - integrity sha512-3LF7/3MPz5+9RsUo91rD0MCcx0yxjC9bnbtgtVjOLKyKxlZSJ7/Kk3OPAgARlwlWHqXwAGYhmkAHYx7IwD0tJQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-4.0.1.tgz#c1d4dad585c14f091a34aed394c63fb67e986c30" + integrity sha512-2TGh2Sb/r4X9xVVjtcfDoxIYLYdBI3cFCK1OApLfDW+iNdGWAdHq8wJU/CGqueOTYF1JBflUSFVPy2gw8NAJoA== dependencies: "@balena/dockerignore" "^1.0.2" - docker-modem "^5.0.0" + docker-modem "^5.0.2" tar-fs "~2.0.1" doctrine@^2.1.0: @@ -6100,11 +5127,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" @@ -6122,17 +5144,10 @@ dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - -duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ecc-jsbn@~0.1.1: version "0.1.2" @@ -6149,22 +5164,12 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.3.47: - version "1.4.611" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.611.tgz#92d3a8f03110fbf5f99b054da97825f994fa480a" - integrity sha512-ZtRpDxrjHapOwxtv+nuth5ByB8clyn8crVynmRNGO3wG3LOp8RTcyZDqwaI6Ng6y8FCK2hVZmJoqwCskKbNMaw== - electron-to-chromium@^1.4.535: version "1.4.569" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.569.tgz#1298b67727187ffbaac005a7425490d157f3ad03" integrity sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg== -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: +elliptic@6.5.4, elliptic@^6.5.2, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -6177,6 +5182,11 @@ elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5 minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emittery@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" + integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== + emittery@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" @@ -6192,28 +5202,20 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -encoding-down@5.0.4, encoding-down@~5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-5.0.4.tgz#1e477da8e9e9d0f7c8293d320044f8b2cd8e9614" - integrity sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw== +encoding-down@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b" + integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== dependencies: - abstract-leveldown "^5.0.0" + abstract-leveldown "^6.2.1" inherits "^2.0.3" level-codec "^9.0.0" level-errors "^2.0.0" - xtend "^4.0.1" - -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" @@ -6260,7 +5262,7 @@ errno@~0.1.1: dependencies: prr "~1.0.1" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -6312,11 +5314,6 @@ es-abstract@^1.22.1: unbox-primitive "^1.0.2" which-typed-array "^1.1.13" -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - es-set-tostringtag@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" @@ -6342,53 +5339,22 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - es6-promisify@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.1.1.tgz#46837651b7b06bf6fff893d03f29393668d01621" integrity sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg== -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -6665,32 +5631,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eth-block-tracker@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz#95cd5e763c7293e0b1b2790a2a39ac2ac188a5e1" - integrity sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug== - dependencies: - eth-query "^2.1.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.3" - ethjs-util "^0.1.3" - json-rpc-engine "^3.6.0" - pify "^2.3.0" - tape "^4.6.3" - -eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - eth-gas-reporter@^0.2.25: version "0.2.27" resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" @@ -6710,110 +5650,6 @@ eth-gas-reporter@^0.2.25: sha1 "^1.1.1" sync-request "^6.0.0" -eth-json-rpc-infura@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz#26702a821067862b72d979c016fd611502c6057f" - integrity sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw== - dependencies: - cross-fetch "^2.1.1" - eth-json-rpc-middleware "^1.5.0" - json-rpc-engine "^3.4.0" - json-rpc-error "^2.0.0" - -eth-json-rpc-middleware@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz#5c9d4c28f745ccb01630f0300ba945f4bef9593f" - integrity sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q== - dependencies: - async "^2.5.0" - eth-query "^2.1.2" - eth-tx-summary "^3.1.2" - ethereumjs-block "^1.6.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.2" - ethereumjs-vm "^2.1.0" - fetch-ponyfill "^4.0.0" - json-rpc-engine "^3.6.0" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - tape "^4.6.3" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - -eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-sig-util@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.0.tgz#75133b3d7c20a5731af0690c385e184ab942b97e" - integrity sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -eth-sig-util@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" - integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw== - dependencies: - ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" - ethereumjs-util "^5.1.1" - -eth-tx-summary@^3.1.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz#e10eb95eb57cdfe549bf29f97f1e4f1db679035c" - integrity sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg== - dependencies: - async "^2.1.2" - clone "^2.0.0" - concat-stream "^1.5.1" - end-of-stream "^1.1.0" - eth-query "^2.0.2" - ethereumjs-block "^1.4.1" - ethereumjs-tx "^1.1.1" - ethereumjs-util "^5.0.1" - ethereumjs-vm "^2.6.0" - through2 "^2.0.3" - -ethashjs@~0.0.7: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ethashjs/-/ethashjs-0.0.8.tgz#227442f1bdee409a548fb04136e24c874f3aa6f9" - integrity sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw== - dependencies: - async "^2.1.2" - buffer-xor "^2.0.1" - ethereumjs-util "^7.0.2" - miller-rabin "^4.0.0" - ethereum-bloom-filters@^1.0.6: version "1.0.10" resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" @@ -6821,16 +5657,6 @@ ethereum-bloom-filters@^1.0.6: dependencies: js-sha3 "^0.8.0" -ethereum-common@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" - integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== - -ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ== - ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" @@ -6866,129 +5692,44 @@ ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== - dependencies: - "@noble/curves" "1.1.0" - "@noble/hashes" "1.3.1" - "@scure/bip32" "1.3.1" - "@scure/bip39" "1.2.1" - -ethereum-waffle@^3.0.0: - version "3.4.4" - resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz#1378b72040697857b7f5e8f473ca8f97a37b5840" - integrity sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q== - dependencies: - "@ethereum-waffle/chai" "^3.4.4" - "@ethereum-waffle/compiler" "^3.4.4" - "@ethereum-waffle/mock-contract" "^3.4.4" - "@ethereum-waffle/provider" "^3.4.4" - ethers "^5.0.1" - -ethereumjs-abi@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" - integrity sha512-rCjJZ/AE96c/AAZc6O3kaog4FhOsAViaysBxqJNy2+LHP0ttH0zkZ7nXdVHOAyt6lFwLO0nlCwWszysG/ao1+g== - dependencies: - bn.js "^4.10.0" - ethereumjs-util "^4.3.0" - -ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" - integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": - version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-account@3.0.0, ethereumjs-account@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" - integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== - dependencies: - ethereumjs-util "^6.0.0" - rlp "^2.2.1" - safe-buffer "^5.1.1" - -ethereumjs-account@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" - integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== - dependencies: - ethereumjs-util "^5.0.0" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-block@2.2.2, ethereumjs-block@^2.2.2, ethereumjs-block@~2.2.0, ethereumjs-block@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" - integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" - integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== - dependencies: - async "^2.0.1" - ethereum-common "0.2.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-blockchain@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz#30f2228dc35f6dcf94423692a6902604ae34960f" - integrity sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ== - dependencies: - async "^2.6.1" - ethashjs "~0.0.7" - ethereumjs-block "~2.2.2" - ethereumjs-common "^1.5.0" - ethereumjs-util "^6.1.0" - flow-stoplight "^1.0.0" - level-mem "^3.0.1" - lru-cache "^5.1.1" - rlp "^2.2.2" - semaphore "^1.1.0" - -ethereumjs-common@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" - integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== + dependencies: + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.1" + "@scure/bip32" "1.3.1" + "@scure/bip39" "1.2.1" -ethereumjs-common@^1.1.0, ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" - integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== +ethereum-waffle@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz#f1ef1564c0155236f1a66c6eae362a5d67c9f64c" + integrity sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ== + dependencies: + "@ethereum-waffle/chai" "4.0.10" + "@ethereum-waffle/compiler" "4.0.3" + "@ethereum-waffle/mock-contract" "4.0.4" + "@ethereum-waffle/provider" "4.0.5" + solc "0.8.15" + typechain "^8.0.0" -ethereumjs-tx@2.1.2, ethereumjs-tx@^2.1.1, ethereumjs-tx@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" - integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== +ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" + integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== dependencies: - ethereumjs-common "^1.5.0" + bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" - integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== +ethereumjs-util@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" + integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== dependencies: - ethereum-common "^0.0.18" - ethereumjs-util "^5.0.0" + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" -ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumjs-util@^6.2.0, ethereumjs-util@^6.2.1: +ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== @@ -7001,31 +5742,7 @@ ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumj ethjs-util "0.1.6" rlp "^2.2.3" -ethereumjs-util@^4.3.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz#f4bf9b3b515a484e3cc8781d61d9d980f7c83bd0" - integrity sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w== - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - rlp "^2.0.0" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5, ethereumjs-util@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-util@^7.0.2: +ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.3, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== @@ -7036,60 +5753,7 @@ ethereumjs-util@^7.0.2: ethereum-cryptography "^0.1.3" rlp "^2.2.4" -ethereumjs-vm@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz#e885e861424e373dbc556278f7259ff3fca5edab" - integrity sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - core-js-pure "^3.0.1" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.2" - ethereumjs-blockchain "^4.0.3" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.2" - ethereumjs-util "^6.2.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - util.promisify "^1.0.0" - -ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethereumjs-wallet@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz#685e9091645cee230ad125c007658833991ed474" - integrity sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA== - dependencies: - aes-js "^3.1.1" - bs58check "^2.1.2" - ethereum-cryptography "^0.1.3" - ethereumjs-util "^6.0.0" - randombytes "^2.0.6" - safe-buffer "^5.1.2" - scryptsy "^1.2.1" - utf8 "^3.0.0" - uuid "^3.3.2" - -ethers@^5.0.1, ethers@^5.0.2, ethers@^5.5.2, ethers@^5.7.0, ethers@^5.7.1, ethers@^5.7.2, ethers@~5.7.0: +ethers@^5.0.2, ethers@^5.7.0, ethers@^5.7.1, ethers@^5.7.2, ethers@~5.7.0: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -7252,7 +5916,7 @@ ethjs-util@0.1.3: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" -ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: +ethjs-util@0.1.6, ethjs-util@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -7281,17 +5945,7 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: +evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== @@ -7334,19 +5988,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expect@^29.0.0, expect@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" @@ -7358,65 +5999,6 @@ expect@^29.0.0, expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" -express@^4.14.0: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -7431,20 +6013,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -7455,13 +6023,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA== - dependencies: - checkpoint-store "^1.1.0" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7472,6 +6033,11 @@ fast-diff@^1.1.2, fast-diff@^1.2.0: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== +fast-equals@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-5.0.1.tgz#a4eefe3c5d1c0d021aeed0bc10ba5e0c12ee405d" + integrity sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ== + fast-glob@^3.0.3, fast-glob@^3.3.0, fast-glob@^3.3.1, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" @@ -7518,13 +6084,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fetch-ponyfill@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" - integrity sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g== - dependencies: - node-fetch "~1.7.1" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -7539,22 +6098,12 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-entry-cache@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-7.0.2.tgz#2d61bb70ba89b9548e3035b7c9173fe91deafff0" - integrity sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g== - dependencies: - flat-cache "^3.2.0" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" + flat-cache "^4.0.0" fill-range@^7.0.1: version "7.0.1" @@ -7563,19 +6112,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - find-replace@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" @@ -7584,6 +6120,18 @@ find-replace@^1.0.3: array-back "^1.0.4" test-value "^2.1.0" +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +find-up-simple@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.0.tgz#21d035fde9fdbd56c8f4d2f63f32fd93a1cfc368" + integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== + find-up@5.0.0, find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -7592,14 +6140,6 @@ find-up@5.0.0, find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -7615,21 +6155,6 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== - dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" - -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - flat-cache@^3.0.4: version "3.1.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" @@ -7639,14 +6164,14 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" -flat-cache@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== +flat-cache@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.0.tgz#d12437636f83bb8a12b8f300c36fd1614e1c7224" + integrity sha512-EryKbCE/wxpxKniQlyas6PY1I9vwtF3uCBweX+N8KYTCn3Y12RTGtQAJ/bd5pl7kxUAc8v/R3Ake/N17OZiFqA== dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" + rimraf "^5.0.5" flat@^5.0.2: version "5.0.2" @@ -7658,27 +6183,25 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -flow-stoplight@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b" - integrity sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA== - follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.15.0: version "1.15.3" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== -for-each@^0.3.3, for-each@~0.3.3: +for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" forever-agent@~0.6.1: version "0.6.1" @@ -7712,11 +6235,6 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - fp-ts@1.19.3: version "1.19.3" resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" @@ -7727,18 +6245,6 @@ fp-ts@^1.0.0: resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -7764,15 +6270,6 @@ fs-extra@^11.1.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^4.0.2, fs-extra@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^7.0.0, fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -7791,23 +6288,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -7853,42 +6333,22 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -ganache-core@^2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.13.2.tgz#27e6fc5417c10e6e76e2e646671869d7665814a3" - integrity sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw== - dependencies: - abstract-leveldown "3.0.0" - async "2.6.2" - bip39 "2.5.0" - cachedown "1.0.0" - clone "2.1.2" - debug "3.2.6" - encoding-down "5.0.4" - eth-sig-util "3.0.0" - ethereumjs-abi "0.6.8" - ethereumjs-account "3.0.0" - ethereumjs-block "2.2.2" - ethereumjs-common "1.5.0" - ethereumjs-tx "2.1.2" - ethereumjs-util "6.2.1" - ethereumjs-vm "4.2.0" - heap "0.2.6" - keccak "3.0.1" - level-sublevel "6.6.4" - levelup "3.1.1" - lodash "4.17.20" - lru-cache "5.1.1" - merkle-patricia-tree "3.0.0" - patch-package "6.2.2" - seedrandom "3.0.1" - source-map-support "0.5.12" - tmp "0.1.0" - web3-provider-engine "14.2.1" - websocket "1.0.32" +ganache@7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.4.3.tgz#e995f1250697264efbb34d4241c374a2b0271415" + integrity sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA== + dependencies: + "@trufflesuite/bigint-buffer" "1.1.10" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "5.1.1" + "@types/seedrandom" "3.0.1" + emittery "0.10.0" + keccak "3.0.2" + leveldown "6.1.0" + secp256k1 "4.0.3" optionalDependencies: - ethereumjs-wallet "0.6.5" - web3 "1.2.11" + bufferutil "4.0.5" + utf-8-validate "5.0.7" gensequence@^6.0.0: version "6.0.0" @@ -7900,11 +6360,6 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -7935,6 +6390,11 @@ get-port@^3.1.0: resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== +get-stdin@=8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + get-stdin@^9.0.0, get-stdin@~9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" @@ -7945,20 +6405,6 @@ get-stdin@~5.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA== -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -7979,11 +6425,6 @@ get-tsconfig@^4.5.0: dependencies: resolve-pkg-maps "^1.0.0" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -8013,6 +6454,18 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob@7.1.7, glob@~7.1.2: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -8025,6 +6478,17 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^10.3.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -8036,7 +6500,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: +glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -8059,18 +6523,6 @@ glob@^8.0.3: minimatch "^5.0.1" once "^1.3.0" -glob@~7.1.2: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@~8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" @@ -8105,14 +6557,6 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -8132,11 +6576,6 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" @@ -8177,41 +6616,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -got@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -8388,13 +6793,6 @@ hardhat@^2.18.3: uuid "^8.3.2" ws "^7.4.6" -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -8444,42 +6842,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" @@ -8509,11 +6871,6 @@ he@1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -heap@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" - integrity sha512-MzzWcnfB1e4EG2vHi3dXHoBupmuXNZzx6pY6HldVS55JKKBoq3xOyzfSaZRkJp37HIhEYC78knabHff3zc4dQQ== - "heap@>= 0.2.0": version "0.2.7" resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" @@ -8528,14 +6885,6 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -8556,11 +6905,6 @@ http-basic@^8.1.1: http-response-object "^3.0.1" parse-cache-control "^1.0.1" -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -8572,11 +6916,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== - http-response-object@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" @@ -8593,14 +6932,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -8626,20 +6957,6 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -8719,7 +7036,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8777,18 +7094,6 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== - io-ts@1.10.4: version "1.10.4" resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" @@ -8796,26 +7101,6 @@ io-ts@1.10.4: dependencies: fp-ts "^1.0.0" -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-accessor-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" - integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== - dependencies: - hasown "^2.0.0" - -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" @@ -8852,11 +7137,6 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" @@ -8867,13 +7147,6 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" @@ -8881,80 +7154,33 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: dependencies: hasown "^2.0.0" -is-data-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" - integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: +is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" -is-descriptor@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" - integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" - integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" integrity sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg== -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -8965,11 +7191,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -9006,13 +7227,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -9033,14 +7247,7 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.1.4, is-regex@~1.1.4: +is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -9055,11 +7262,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -9106,11 +7308,6 @@ is-url@^1.2.4: resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -9118,12 +7315,7 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1, is-wsl@^2.2.0: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -9135,33 +7327,21 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -9220,6 +7400,15 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jest-changed-files@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" @@ -9593,21 +7782,11 @@ js-sha3@0.8.0, js-sha3@^0.8.0: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== - js-yaml@3.x, js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -9636,25 +7815,17 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA== - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" json-buffer@3.0.1: version "3.0.1" @@ -9671,30 +7842,6 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9" - integrity sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA== - dependencies: - async "^2.0.1" - babel-preset-env "^1.7.0" - babelify "^7.3.0" - json-rpc-error "^2.0.0" - promise-to-callback "^1.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-error@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/json-rpc-error/-/json-rpc-error-2.0.0.tgz#a7af9c202838b5e905c7250e547f1aff77258a02" - integrity sha512-EwUeWP+KgAZ/xqFpaP6YDAXMtCJi+o/QQpCQFIYyxr01AdADi2y413eM8hSqJcoQym9WMePAJWoaODEJufC4Ug== - dependencies: - inherits "^2.0.1" - -json-rpc-random-id@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -9715,26 +7862,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stable-stringify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz#43d39c7c8da34bfaf785a61a56808b0def9f747d" - integrity sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== - json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -9780,11 +7912,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -9846,6 +7973,15 @@ keccak@3.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +keccak@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keccak@^3.0.0, keccak@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" @@ -9855,46 +7991,18 @@ keccak@^3.0.0, keccak@^3.0.2: node-gyp-build "^4.2.0" readable-stream "^3.6.0" -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -keyv@^4.0.0, keyv@^4.5.3: +keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -9919,13 +8027,6 @@ kleur@^3.0.3: dependencies: dotenv "^16.0.3" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== - dependencies: - invert-kv "^1.0.0" - level-codec@^9.0.0: version "9.0.2" resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" @@ -9933,17 +8034,17 @@ level-codec@^9.0.0: dependencies: buffer "^5.6.0" -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== +level-concat-iterator@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" + integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== dependencies: - errno "~0.1.1" + catering "^2.1.0" + +level-concat-iterator@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" + integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== level-errors@^2.0.0, level-errors@~2.0.0: version "2.0.1" @@ -9952,85 +8053,48 @@ level-errors@^2.0.0, level-errors@~2.0.0: dependencies: errno "~0.1.1" -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz#ccfff7c046dcf47955ae9a86f46dfa06a31688b4" - integrity sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.5" - xtend "^4.0.0" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw== - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-iterator-stream@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz#2c98a4f8820d87cdacab3132506815419077c730" - integrity sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.3.6" - xtend "^4.0.0" - -level-mem@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" - integrity sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg== +level-iterator-stream@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" + integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== dependencies: - level-packager "~4.0.0" - memdown "~3.0.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + xtend "^4.0.2" -level-packager@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" - integrity sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q== +level-mem@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-5.0.1.tgz#c345126b74f5b8aa376dc77d36813a177ef8251d" + integrity sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg== dependencies: - encoding-down "~5.0.0" - levelup "^3.0.0" + level-packager "^5.0.3" + memdown "^5.0.0" -level-post@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/level-post/-/level-post-1.0.7.tgz#19ccca9441a7cc527879a0635000f06d5e8f27d0" - integrity sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew== +level-packager@^5.0.3: + version "5.1.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" + integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== dependencies: - ltgt "^2.1.2" + encoding-down "^6.3.0" + levelup "^4.3.2" -level-sublevel@6.6.4: - version "6.6.4" - resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-6.6.4.tgz#f7844ae893919cd9d69ae19d7159499afd5352ba" - integrity sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA== - dependencies: - bytewise "~1.1.0" - level-codec "^9.0.0" - level-errors "^2.0.0" - level-iterator-stream "^2.0.3" - ltgt "~2.1.1" - pull-defer "^0.2.2" - pull-level "^2.0.3" - pull-stream "^3.6.8" - typewiselite "~1.0.0" - xtend "~4.0.0" +level-supports@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" + integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== level-supports@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== +level-supports@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" + integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== + dependencies: + xtend "^4.0.2" + level-transcoder@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" @@ -10039,21 +8103,13 @@ level-transcoder@^1.0.1: buffer "^6.0.3" module-error "^1.0.1" -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw== - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -level-ws@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-1.0.0.tgz#19a22d2d4ac57b18cc7c6ecc4bd23d899d8f603b" - integrity sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q== +level-ws@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-2.0.0.tgz#207a07bcd0164a0ec5d62c304b4615c54436d339" + integrity sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA== dependencies: inherits "^2.0.3" - readable-stream "^2.2.8" + readable-stream "^3.1.0" xtend "^4.0.1" level@^8.0.0: @@ -10064,27 +8120,24 @@ level@^8.0.0: browser-level "^1.0.1" classic-level "^1.2.0" -levelup@3.1.1, levelup@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" - integrity sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg== +leveldown@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee" + integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w== dependencies: - deferred-leveldown "~4.0.0" - level-errors "~2.0.0" - level-iterator-stream "~3.0.0" - xtend "~4.0.0" + abstract-leveldown "^7.2.0" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== +levelup@^4.3.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" + integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" + deferred-leveldown "~5.3.0" + level-errors "~2.0.0" + level-iterator-stream "~4.0.0" + level-supports "~1.0.0" xtend "~4.0.0" leven@^3.1.0: @@ -10127,17 +8180,6 @@ linkify-it@^4.0.1: dependencies: uc.micro "^1.0.1" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -10170,10 +8212,10 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.assign@^4.0.3, lodash.assign@^4.0.6: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - integrity sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== lodash.clonedeep@^4.5.0: version "4.5.0" @@ -10245,12 +8287,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10268,23 +8305,6 @@ long@^5.0.0: resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== -looper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-2.0.0.tgz#66cd0c774af3d4fedac53794f742db56da8f09ec" - integrity sha512-6DzMHJcjbQX/UPHc1rRCBfKlLwDkvuGZ715cIR36wSdYqWXFT35uLXq5P/2orl3tz+t+VOVPxw4yPinQlUDGDQ== - -looper@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-3.0.0.tgz#2efa54c3b1cbaba9b94aee2e5914b0be57fbb749" - integrity sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - loupe@^2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" @@ -10292,30 +8312,13 @@ loupe@^2.3.6: dependencies: get-func-name "^2.0.1" -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@5.1.1, lru-cache@^5.1.1: +lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" -lru-cache@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" - integrity sha512-91gyOKTc2k66UG6kHiH4h3S2eltcPwE1STVfMYC/NG+nZwf8IIuiamfmpGZjpbbxzSyEJaLC0tNSmhjlQUTJow== - dependencies: - pseudomap "^1.0.1" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -10323,21 +8326,21 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +"lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + lru_map@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== -ltgt@^2.1.2, ltgt@~2.2.0: +ltgt@~2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== -ltgt@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.1.3.tgz#10851a06d9964b971178441c23c9e52698eece34" - integrity sha512-5VjHC5GsENtIi5rbJd+feEpDKhfr7j0odoUR2Uh978g+2p93nd5o34cTjQWohXsPsCZeqoDnIqEf88mPCe0Pfw== - make-dir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" @@ -10357,18 +8360,6 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - markdown-it@11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.0.tgz#dbfc30363e43d756ebc52c38586b91b90046b876" @@ -10469,34 +8460,17 @@ mdurl@^1.0.1: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memdown@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" - integrity sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA== +memdown@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-5.1.0.tgz#608e91a9f10f37f5b5fe767667a8674129a833cb" + integrity sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw== dependencies: - abstract-leveldown "~5.0.0" + abstract-leveldown "~6.2.1" functional-red-black-tree "~1.0.1" immediate "~3.2.3" inherits "~2.0.1" ltgt "~2.2.0" - safe-buffer "~5.1.1" + safe-buffer "~5.2.0" memory-level@^1.0.0: version "1.0.0" @@ -10512,11 +8486,6 @@ memorystream@^0.3.1: resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -10527,74 +8496,35 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merkle-patricia-tree@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" - integrity sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ== - dependencies: - async "^2.6.1" - ethereumjs-util "^5.2.0" - level-mem "^3.0.1" - level-ws "^1.0.0" - readable-stream "^3.0.6" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkletreejs@^0.2.32: - version "0.2.32" - resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.2.32.tgz#cf1c0760e2904e4a1cc269108d6009459fd06223" - integrity sha512-TostQBiwYRIwSE5++jGmacu3ODcKAgqb0Y/pnIohXS7sWxh1gCkSptbmF1a43faehRDpcHf7J/kv0Ml2D/zblQ== +merkle-patricia-tree@^4.2.2, merkle-patricia-tree@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz#ff988d045e2bf3dfa2239f7fabe2d59618d57413" + integrity sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w== + dependencies: + "@types/levelup" "^4.3.0" + ethereumjs-util "^7.1.4" + level-mem "^5.0.1" + level-ws "^2.0.0" + readable-stream "^3.6.0" + semaphore-async-await "^1.5.1" + +merkletreejs@^0.3.11: + version "0.3.11" + resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.3.11.tgz#e0de05c3ca1fd368de05a12cb8efb954ef6fc04f" + integrity sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ== dependencies: bignumber.js "^9.0.1" buffer-reverse "^1.0.1" - crypto-js "^3.1.9-1" + crypto-js "^4.2.0" treeify "^1.1.0" web3-utils "^1.3.4" -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - micro-ftch@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -10615,18 +8545,13 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -10642,23 +8567,6 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -10704,6 +8612,13 @@ minimatch@^7.4.3: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -10711,52 +8626,22 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.5, minimist@~1.2.8: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.5: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== mkdirp-classic@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== - dependencies: - mkdirp "*" - -mkdirp@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" - integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== - -mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.5: +mkdirp@0.5.x, mkdirp@^0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -10842,23 +8727,6 @@ mocha@^9.0.2: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -mock-property@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" - integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== - dependencies: - define-data-property "^1.1.1" - functions-have-names "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - hasown "^2.0.0" - isarray "^2.0.5" - module-error@^1.0.1, module-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" @@ -10884,46 +8752,6 @@ ms@2.1.3, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -10943,11 +8771,6 @@ nan@^2.17.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== - nanoid@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" @@ -10958,28 +8781,16 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - napi-macros@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.2.2.tgz#817fef20c3e0e40a963fbf7b37d1600bd0201044" integrity sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g== +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -10995,21 +8806,11 @@ nearley@^2.20.1: railroad-diagrams "^1.0.0" randexp "0.4.6" -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -11034,13 +8835,15 @@ node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@~1.7.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" +node-gyp-build@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + +node-gyp-build@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: version "4.6.1" @@ -11084,16 +8887,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-run-all@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" @@ -11123,11 +8916,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" @@ -11141,55 +8929,21 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.13.1, object-inspect@^1.9.0: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-inspect@~1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" @@ -11209,17 +8963,6 @@ object.fromentries@^2.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" -object.getownpropertydescriptors@^2.1.6: - version "2.1.7" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" - integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - safe-array-concat "^1.0.0" - object.groupby@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" @@ -11230,13 +8973,6 @@ object.groupby@^1.0.1: es-abstract "^1.22.1" get-intrinsic "^1.2.1" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - object.values@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" @@ -11251,25 +8987,11 @@ obliterator@^2.0.0: resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.4.tgz#fa650e019b2d075d745e44f1effeb13a2adbe816" integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== -oboe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" - integrity sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ== - dependencies: - http-https "^1.0.0" - obuf@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -11298,14 +9020,6 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - open@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" @@ -11345,33 +9059,11 @@ ordinal@^1.0.3: resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g== - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -11457,34 +9149,11 @@ parent-module@^2.0.0: dependencies: callsites "^3.1.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-cache-control@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== -parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -11503,66 +9172,11 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -patch-package@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.2.tgz#71d170d650c65c26556f0d0fbbb48d92b6cc5f39" - integrity sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^2.4.2" - cross-spawn "^6.0.5" - find-yarn-workspace-root "^1.2.1" - fs-extra "^7.0.1" - is-ci "^2.0.0" - klaw-sync "^6.0.0" - minimist "^1.2.0" - rimraf "^2.6.3" - semver "^5.6.0" - slash "^2.0.0" - tmp "^0.0.33" - -patch-package@^6.2.2: - version "6.5.1" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.1.tgz#3e5d00c16997e6160291fee06a521c42ac99b621" - integrity sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^4.1.2" - cross-spawn "^6.0.5" - find-yarn-workspace-root "^2.0.0" - fs-extra "^9.0.0" - is-ci "^2.0.0" - klaw-sync "^6.0.0" - minimist "^1.2.6" - open "^7.4.2" - rimraf "^2.6.3" - semver "^5.6.0" - slash "^2.0.0" - tmp "^0.0.33" - yaml "^1.10.2" - path-browserify@^1.0.0, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -11573,7 +9187,7 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: +path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== @@ -11598,19 +9212,13 @@ path-parse@^1.0.6, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-type@^3.0.0: version "3.0.0" @@ -11642,7 +9250,7 @@ pathval@^1.1.1: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== -pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: +pbkdf2@^3.0.17, pbkdf2@^3.0.9: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== @@ -11749,11 +9357,6 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -11764,18 +9367,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - pirates@^4.0.4: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" @@ -11793,11 +9384,6 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - postgres-array@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" @@ -11847,16 +9433,6 @@ postgres-range@^1.1.1: resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.3.tgz#9ccd7b01ca2789eb3c2e0888b3184225fa859f76" integrity sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g== -postinstall-postinstall@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" - integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== - -precond@0.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" - integrity sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ== - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -11867,11 +9443,6 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - preprocess@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/preprocess/-/preprocess-3.2.0.tgz#36b3e2c52331fbc6fabb26d4fd5709304b7e3675" @@ -11907,7 +9478,7 @@ prettier-plugin-solidity@^1.1.3: semver "^7.5.4" solidity-comments-extractor "^0.0.7" -prettier@^2.1.2, prettier@^2.3.2, prettier@^2.8.3: +prettier@^2.1.2, prettier@^2.3.1, prettier@^2.3.2, prettier@^2.8.3: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== @@ -11926,17 +9497,12 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -private@^0.1.6, private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.1, process@^0.11.10: +process@^0.11.1: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== @@ -11996,14 +9562,6 @@ protobufjs@^7.2.5: "@types/node" ">=13.7.0" long "^5.0.0" -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -12014,76 +9572,11 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - psl@^1.1.28: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pull-cat@^1.1.9: - version "1.1.11" - resolved "https://registry.yarnpkg.com/pull-cat/-/pull-cat-1.1.11.tgz#b642dd1255da376a706b6db4fa962f5fdb74c31b" - integrity sha512-i3w+xZ3DCtTVz8S62hBOuNLRHqVDsHMNZmgrZsjPnsxXUgbWtXEee84lo1XswE7W2a3WHyqsNuDJTjVLAQR8xg== - -pull-defer@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/pull-defer/-/pull-defer-0.2.3.tgz#4ee09c6d9e227bede9938db80391c3dac489d113" - integrity sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA== - -pull-level@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pull-level/-/pull-level-2.0.4.tgz#4822e61757c10bdcc7cf4a03af04c92734c9afac" - integrity sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg== - dependencies: - level-post "^1.0.7" - pull-cat "^1.1.9" - pull-live "^1.0.1" - pull-pushable "^2.0.0" - pull-stream "^3.4.0" - pull-window "^2.1.4" - stream-to-pull-stream "^1.7.1" - -pull-live@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pull-live/-/pull-live-1.0.1.tgz#a4ecee01e330155e9124bbbcf4761f21b38f51f5" - integrity sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA== - dependencies: - pull-cat "^1.1.9" - pull-stream "^3.4.0" - -pull-pushable@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pull-pushable/-/pull-pushable-2.2.0.tgz#5f2f3aed47ad86919f01b12a2e99d6f1bd776581" - integrity sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg== - -pull-stream@^3.2.3, pull-stream@^3.4.0, pull-stream@^3.6.8: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.7.0.tgz#85de0e44ff38a4d2ad08cc43fc458e1922f9bf0b" - integrity sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw== - -pull-window@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/pull-window/-/pull-window-2.1.4.tgz#fc3b86feebd1920c7ae297691e23f705f88552f0" - integrity sha512-cbDzN76BMlcGG46OImrgpkMf/VkCnupj8JhsrpBw3aWBM9ye345aYnqitmZCgauBkc0HbbRRn9hCnsa3k2FNUg== - dependencies: - looper "^2.0.0" - pump@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" @@ -12100,11 +9593,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -12125,13 +9613,6 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - qs@^6.11.2, qs@^6.4.0: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" @@ -12144,15 +9625,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" @@ -12163,11 +9635,6 @@ queue-microtask@^1.2.2, queue-microtask@^1.2.3: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - railroad-diagrams@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" @@ -12181,37 +9648,14 @@ randexp@0.4.6: discontinuous-range "1.0.0" ret "~0.1.10" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0: +randombytes@^2.0.1, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.5.2, raw-body@^2.4.1: +raw-body@^2.4.1: version "2.5.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== @@ -12236,23 +9680,6 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -12262,17 +9689,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable-stream@^2.2.8, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -12285,7 +9702,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: +readable-stream@^3.1.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -12294,7 +9711,7 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@~1.0.15, readable-stream@~1.0.26-4: +readable-stream@~1.0.26-4: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== @@ -12325,33 +9742,16 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" -regenerate@^1.2.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" @@ -12366,44 +9766,11 @@ regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ== - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g== - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw== - dependencies: - jsesc "~0.5.0" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== - dependencies: - is-finite "^1.0.0" - req-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" @@ -12418,7 +9785,7 @@ req-from@^2.0.0: dependencies: resolve-from "^3.0.0" -request@^2.79.0, request@^2.85.0: +request@^2.85.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -12449,26 +9816,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -require-from-string@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" - integrity sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q== - require-from-string@^2.0.0, require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -12496,11 +9848,6 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - resolve.exports@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" @@ -12518,7 +9865,7 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.8.1, resolve@~1.22.6: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.8.1: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -12527,20 +9874,6 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.0.0" - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -12564,7 +9897,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.2.8, rimraf@^2.6.3: +rimraf@^2.2.8: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -12578,6 +9911,13 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" + integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== + dependencies: + glob "^10.3.7" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -12586,7 +9926,14 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3, rlp@^2.2.4: +rlp@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" + integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== + dependencies: + bn.js "^4.11.1" + +rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== @@ -12641,7 +9988,7 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" -safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: +safe-array-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== @@ -12651,7 +9998,7 @@ safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12661,13 +10008,6 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-event-emitter@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" - integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== - dependencies: - events "^3.0.0" - safe-regex-test@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" @@ -12677,14 +10017,7 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -12709,19 +10042,12 @@ sc-istanbul@^0.4.5: which "^1.1.1" wordwrap "^1.0.0" -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: +scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -scryptsy@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" - integrity sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw== - dependencies: - pbkdf2 "^3.0.3" - -secp256k1@^4.0.1: +secp256k1@4.0.3, secp256k1@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== @@ -12730,17 +10056,17 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -seedrandom@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083" - integrity sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg== +seedrandom@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== -semaphore@>=1.0.1, semaphore@^1.0.3, semaphore@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== +semaphore-async-await@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz#857bef5e3644601ca4b9570b87e9df5ca12974fa" + integrity sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg== -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -12757,30 +10083,6 @@ semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semve dependencies: lru-cache "^6.0.0" -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -12788,32 +10090,6 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - set-function-length@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" @@ -12838,16 +10114,6 @@ set-immediate-shim@^1.0.1: resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -12926,35 +10192,16 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -12969,36 +10216,6 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - solc@0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/solc/-/solc-0.7.3.tgz#04646961bd867a744f63d2b4e3c0701ffdc7d78a" @@ -13013,11 +10230,11 @@ solc@0.7.3: require-from-string "^2.0.0" semver "^5.5.0" tmp "0.0.33" - -solc@0.8.17: - version "0.8.17" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.17.tgz#c748fec6a64bf029ec406aa9b37e75938d1115ae" - integrity sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g== + +solc@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.15.tgz#d274dca4d5a8b7d3c9295d4cbdc9291ee1c52152" + integrity sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w== dependencies: command-exists "^1.2.8" commander "^8.1.0" @@ -13027,28 +10244,16 @@ solc@0.8.17: semver "^5.5.0" tmp "0.0.33" -solc@^0.4.20: - version "0.4.26" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.26.tgz#5390a62a99f40806b86258c737c1cf653cc35cb5" - integrity sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA== - dependencies: - fs-extra "^0.30.0" - memorystream "^0.3.1" - require-from-string "^1.1.0" - semver "^5.3.0" - yargs "^4.7.1" - -solc@^0.6.3: - version "0.6.12" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.6.12.tgz#48ac854e0c729361b22a7483645077f58cba080e" - integrity sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g== +solc@0.8.17: + version "0.8.17" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.17.tgz#c748fec6a64bf029ec406aa9b37e75938d1115ae" + integrity sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g== dependencies: command-exists "^1.2.8" - commander "3.0.2" - fs-extra "^0.30.0" + commander "^8.1.0" + follow-redirects "^1.12.1" js-sha3 "0.8.0" memorystream "^0.3.1" - require-from-string "^2.0.0" semver "^5.5.0" tmp "0.0.33" @@ -13082,7 +10287,7 @@ solidity-comments-extractor@^0.0.7: resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== -solidity-coverage@^0.8.2: +solidity-coverage@^0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.5.tgz#64071c3a0c06a0cecf9a7776c35f49edc961e875" integrity sha512-6C6N6OV2O8FQA0FWA95FdzVH+L16HU94iFgg5wAFZ29UpLFkgNI/DRR2HotG1bC0F4gAc/OMs2BJI44Q/DYlKQ== @@ -13123,25 +10328,6 @@ solpp@^0.11.5: resolve "^1.10.0" semver "^5.6.0" -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@0.5.12: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -13150,13 +10336,6 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - source-map-support@^0.5.13: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -13165,16 +10344,6 @@ source-map-support@^0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -13218,13 +10387,6 @@ split-ca@^1.0.0, split-ca@^1.0.1: resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" integrity sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - split2@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" @@ -13284,31 +10446,15 @@ stacktrace-parser@^0.1.10: dependencies: type-fest "^0.7.1" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -stream-to-pull-stream@^1.7.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz#4161aa2d2eb9964de60bfa1af7feaf917e874ece" - integrity sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg== - dependencies: - looper "^3.0.0" - pull-stream "^3.2.3" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== string-length@^4.0.1: version "4.0.2" @@ -13318,14 +10464,14 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" @@ -13335,14 +10481,14 @@ string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" string.prototype.padend@^3.0.0: version "3.1.5" @@ -13353,7 +10499,7 @@ string.prototype.padend@^3.0.0: define-properties "^1.2.0" es-abstract "^1.22.1" -string.prototype.trim@^1.2.8, string.prototype.trim@~1.2.8: +string.prototype.trim@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== @@ -13399,12 +10545,12 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^2.0.0" + ansi-regex "^5.0.1" strip-ansi@^4.0.0: version "4.0.0" @@ -13420,27 +10566,13 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.1.0: +strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== - dependencies: - is-utf8 "^0.2.0" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -13485,11 +10617,6 @@ supports-color@8.1.1, supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - supports-color@^3.1.0: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" @@ -13516,23 +10643,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -swarm-js@^0.1.40: - version "0.1.42" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" - integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^11.8.5" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - sync-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" @@ -13569,6 +10679,16 @@ synckit@^0.8.5: preprocess "^3.2.0" zksync-web3 "^0.14.3" +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^6.0.9, table@^6.8.0, table@^6.8.1: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" @@ -13597,28 +10717,6 @@ tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tape@^4.6.3: - version "4.17.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" - integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== - dependencies: - "@ljharb/resumer" "~0.0.1" - "@ljharb/through" "~2.3.9" - call-bind "~1.0.2" - deep-equal "~1.1.1" - defined "~1.0.1" - dotignore "~0.1.2" - for-each "~0.3.3" - glob "~7.2.3" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.1.4" - minimist "~1.2.8" - mock-property "~1.0.0" - object-inspect "~1.12.3" - resolve "~1.22.6" - string.prototype.trim "~1.2.8" - tar-fs@~1.16.3: version "1.16.3" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" @@ -13663,19 +10761,6 @@ tar-stream@^2.0.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - template-file@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/template-file/-/template-file-6.0.1.tgz#ce4d1f48e56d637cc94bb97ec205e6e035bbb2a5" @@ -13703,11 +10788,6 @@ test-value@^2.1.0: array-back "^1.0.3" typical "^2.6.0" -testrpc@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/testrpc/-/testrpc-0.0.1.tgz#83e2195b1f5873aec7be1af8cbe6dcf39edb7aed" - integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA== - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -13744,24 +10824,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - "through@>=2.2.7 <3", through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - titleize@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" @@ -13774,13 +10841,6 @@ tmp@0.0.33, tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" @@ -13791,36 +10851,11 @@ to-buffer@^1.1.1: resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -13828,16 +10863,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -13861,26 +10886,26 @@ treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw== - ts-api-utils@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + ts-essentials@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" integrity sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ== -ts-essentials@^6.0.3: - version "6.0.7" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-6.0.7.tgz#5f4880911b7581a873783740ce8b94da163d18a6" - integrity sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw== - ts-essentials@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" @@ -13981,7 +11006,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl-util@^0.15.0, tweetnacl-util@^0.15.1: +tweetnacl-util@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== @@ -13991,7 +11016,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== -tweetnacl@^1.0.0, tweetnacl@^1.0.3: +tweetnacl@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== @@ -14035,49 +11060,34 @@ type-fest@^1.0.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typechain@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-3.0.0.tgz#d5a47700831f238e43f7429b987b4bb54849b92e" - integrity sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg== +typechain@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-4.0.3.tgz#e8fcd6c984676858c64eeeb155ea783a10b73779" + integrity sha512-tmoHQeXZWHxIdeLK+i6dU0CU0vOd9Cndr3jFTZIMzak5/YpFZ8XoiYpTZcngygGBqZo+Z1EUmttLbW9KkFZLgQ== dependencies: command-line-args "^4.0.7" debug "^4.1.1" fs-extra "^7.0.0" js-sha3 "^0.8.0" lodash "^4.17.15" - ts-essentials "^6.0.3" + ts-essentials "^7.0.1" ts-generator "^0.1.1" -typechain@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-4.0.3.tgz#e8fcd6c984676858c64eeeb155ea783a10b73779" - integrity sha512-tmoHQeXZWHxIdeLK+i6dU0CU0vOd9Cndr3jFTZIMzak5/YpFZ8XoiYpTZcngygGBqZo+Z1EUmttLbW9KkFZLgQ== +typechain@^8.0.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== dependencies: - command-line-args "^4.0.7" - debug "^4.1.1" + "@types/prettier" "^2.1.1" + debug "^4.3.1" fs-extra "^7.0.0" + glob "7.1.7" js-sha3 "^0.8.0" lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" ts-essentials "^7.0.1" - ts-generator "^0.1.1" typed-array-buffer@^1.0.0: version "1.0.0" @@ -14140,28 +11150,21 @@ typescript@^5.2.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -typewise-core@^1.2, typewise-core@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195" - integrity sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg== - -typewise@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typewise/-/typewise-1.0.3.tgz#1067936540af97937cc5dcf9922486e9fa284651" - integrity sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ== - dependencies: - typewise-core "^1.2.0" - -typewiselite@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typewiselite/-/typewiselite-1.0.0.tgz#c8882fa1bb1092c06005a97f34ef5c8508e3664e" - integrity sha512-J9alhjVHupW3Wfz6qFRGgQw0N3gr8hOkw6zm7FZ6UR1Cse/oD9/JVok7DNE9TT9IbciDHX2Ex9+ksE6cRmtymw== - typical@^2.6.0, typical@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" integrity sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg== +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -14172,11 +11175,6 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -14187,11 +11185,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -underscore@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -14204,16 +11197,6 @@ undici@^5.14.0: dependencies: "@fastify/busboy" "^2.0.0" -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - unique-string@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" @@ -14231,24 +11214,11 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unorm@^1.3.3: - version "1.6.0" - resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - untildify@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" @@ -14274,23 +11244,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== - url@^0.11.0: version "0.11.3" resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" @@ -14299,19 +11252,14 @@ url@^0.11.0: punycode "^1.4.1" qs "^6.11.2" -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== +utf-8-validate@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== dependencies: node-gyp-build "^4.3.0" -utf8@3.0.0, utf8@^3.0.0: +utf8@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== @@ -14321,19 +11269,6 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.2.tgz#02b3dbadbb80071eee4c43aed58747afdfc516db" - integrity sha512-PBdZ03m1kBnQ5cjjO0ZvJMJS+QsbyIcFwi4hY4U76OQsCO9JrOYjbCFgIF76ccFg9xnJo7ZHPkqyj1GqmdS7MA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - for-each "^0.3.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - object.getownpropertydescriptors "^2.1.6" - safe-array-concat "^1.0.0" - util@^0.10.3: version "0.10.4" resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" @@ -14341,16 +11276,6 @@ util@^0.10.3: dependencies: inherits "2.0.3" -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -14388,16 +11313,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -14429,259 +11344,7 @@ weak-map@~1.0.x: resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3" integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw== -web3-bzz@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.11.tgz#41bc19a77444bd5365744596d778b811880f707f" - integrity sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - underscore "1.9.1" - -web3-core-helpers@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.11.tgz#84c681ed0b942c0203f3b324a245a127e8c67a99" - integrity sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A== - dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.11" - web3-utils "1.2.11" - -web3-core-method@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.11.tgz#f880137d1507a0124912bf052534f168b8d8fbb6" - integrity sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.9.1" - web3-core-helpers "1.2.11" - web3-core-promievent "1.2.11" - web3-core-subscriptions "1.2.11" - web3-utils "1.2.11" - -web3-core-promievent@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.11.tgz#51fe97ca0ddec2f99bf8c3306a7a8e4b094ea3cf" - integrity sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.11.tgz#fe6eb603fbaee18530293a91f8cf26d8ae28c45a" - integrity sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.11" - web3-providers-http "1.2.11" - web3-providers-ipc "1.2.11" - web3-providers-ws "1.2.11" - -web3-core-subscriptions@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.11.tgz#beca908fbfcb050c16f45f3f0f4c205e8505accd" - integrity sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg== - dependencies: - eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - -web3-core@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.11.tgz#1043cacc1becb80638453cc5b2a14be9050288a7" - integrity sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-requestmanager "1.2.11" - web3-utils "1.2.11" - -web3-eth-abi@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.11.tgz#a887494e5d447c2926d557a3834edd66e17af9b0" - integrity sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg== - dependencies: - "@ethersproject/abi" "5.0.0-beta.153" - underscore "1.9.1" - web3-utils "1.2.11" - -web3-eth-accounts@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.11.tgz#a9e3044da442d31903a7ce035a86d8fa33f90520" - integrity sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw== - dependencies: - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-common "^1.3.2" - ethereumjs-tx "^2.1.1" - scrypt-js "^3.0.1" - underscore "1.9.1" - uuid "3.3.2" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-utils "1.2.11" - -web3-eth-contract@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.11.tgz#917065902bc27ce89da9a1da26e62ef663663b90" - integrity sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow== - dependencies: - "@types/bn.js" "^4.11.5" - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-promievent "1.2.11" - web3-core-subscriptions "1.2.11" - web3-eth-abi "1.2.11" - web3-utils "1.2.11" - -web3-eth-ens@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.11.tgz#26d4d7f16d6cbcfff918e39832b939edc3162532" - integrity sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-promievent "1.2.11" - web3-eth-abi "1.2.11" - web3-eth-contract "1.2.11" - web3-utils "1.2.11" - -web3-eth-iban@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.11.tgz#f5f73298305bc7392e2f188bf38a7362b42144ef" - integrity sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ== - dependencies: - bn.js "^4.11.9" - web3-utils "1.2.11" - -web3-eth-personal@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.11.tgz#a38b3942a1d87a62070ce0622a941553c3d5aa70" - integrity sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-net "1.2.11" - web3-utils "1.2.11" - -web3-eth@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.11.tgz#4c81fcb6285b8caf544058fba3ae802968fdc793" - integrity sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ== - dependencies: - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-subscriptions "1.2.11" - web3-eth-abi "1.2.11" - web3-eth-accounts "1.2.11" - web3-eth-contract "1.2.11" - web3-eth-ens "1.2.11" - web3-eth-iban "1.2.11" - web3-eth-personal "1.2.11" - web3-net "1.2.11" - web3-utils "1.2.11" - -web3-net@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.11.tgz#eda68ef25e5cdb64c96c39085cdb74669aabbe1b" - integrity sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg== - dependencies: - web3-core "1.2.11" - web3-core-method "1.2.11" - web3-utils "1.2.11" - -web3-provider-engine@14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-14.2.1.tgz#ef351578797bf170e08d529cb5b02f8751329b95" - integrity sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw== - dependencies: - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^3.0.0" - eth-json-rpc-infura "^3.1.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-tx "^1.2.0" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - -web3-providers-http@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.11.tgz#1cd03442c61670572d40e4dcdf1faff8bd91e7c6" - integrity sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA== - dependencies: - web3-core-helpers "1.2.11" - xhr2-cookies "1.1.0" - -web3-providers-ipc@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.11.tgz#d16d6c9be1be6e0b4f4536c4acc16b0f4f27ef21" - integrity sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ== - dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - -web3-providers-ws@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.11.tgz#a1dfd6d9778d840561d9ec13dd453046451a96bb" - integrity sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg== - dependencies: - eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - websocket "^1.0.31" - -web3-shh@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.11.tgz#f5d086f9621c9a47e98d438010385b5f059fd88f" - integrity sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg== - dependencies: - web3-core "1.2.11" - web3-core-method "1.2.11" - web3-core-subscriptions "1.2.11" - web3-net "1.2.11" - -web3-utils@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.11.tgz#af1942aead3fb166ae851a985bed8ef2c2d95a82" - integrity sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ== - dependencies: - bn.js "^4.11.9" - eth-lib "0.2.8" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.9.1" - utf8 "3.0.0" - -web3-utils@^1.0.0-beta.31, web3-utils@^1.3.4, web3-utils@^1.3.6: +web3-utils@^1.3.4, web3-utils@^1.3.6: version "1.10.3" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.3.tgz#f1db99c82549c7d9f8348f04ffe4e0188b449714" integrity sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ== @@ -14695,53 +11358,11 @@ web3-utils@^1.0.0-beta.31, web3-utils@^1.3.4, web3-utils@^1.3.6: randombytes "^2.1.0" utf8 "3.0.0" -web3@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.11.tgz#50f458b2e8b11aa37302071c170ed61cff332975" - integrity sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ== - dependencies: - web3-bzz "1.2.11" - web3-core "1.2.11" - web3-eth "1.2.11" - web3-eth-personal "1.2.11" - web3-net "1.2.11" - web3-shh "1.2.11" - web3-utils "1.2.11" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -websocket@1.0.32: - version "1.0.32" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" - integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -websocket@^1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -whatwg-fetch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -14761,11 +11382,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== - which-typed-array@^1.1.11, which-typed-array@^1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" @@ -14791,11 +11407,6 @@ which@^1.1.1, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" - integrity sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw== - word-wrap@~1.2.3: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" @@ -14806,6 +11417,14 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + workerpool@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" @@ -14816,15 +11435,7 @@ workerpool@6.2.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -14833,6 +11444,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -14861,22 +11481,6 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@^5.1.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - ws@^7.4.6: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" @@ -14887,81 +11491,27 @@ xdg-basedir@^5.0.1: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr2-cookies@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g== - dependencies: - cookiejar "^2.1.1" - xhr2@0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.3.tgz#cbfc4759a69b4a888e78cf4f20b051038757bd11" integrity sha512-6RmGK22QwC7yXB1CRwyLWuS2opPcKOlAu0ViAnyZjDlzrEmCKL4kLHkfvB8oMRWeztMsNoDGAjsMZY15w/4tTw== -xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - xregexp@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-3.1.0.tgz#14d8461e0bdd38224bfee5039a0898fc42fcd336" integrity sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg== -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== - dependencies: - object-keys "~0.4.0" - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: +yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== @@ -14971,11 +11521,6 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - yaml@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" @@ -14986,14 +11531,6 @@ yargs-parser@20.2.4: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" - integrity sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA== - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" @@ -15040,26 +11577,6 @@ yargs@^17.3.1: y18n "^5.0.5" yargs-parser "^21.1.1" -yargs@^4.7.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" - integrity sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA== - dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - lodash.assign "^4.0.3" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.1" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^2.4.1" - yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"