diff --git a/README.md b/README.md index 99bb4ae..b2ebdfe 100644 --- a/README.md +++ b/README.md @@ -4,45 +4,29 @@ A simple farming game written in Sway. ## Running Locally -Make sure you have `fuelup` installed and are using the `beta-5` toolchain. +Make sure you have [`fuelup`](https://docs.fuel.network/guides/installation/) installed and are using the `latest` toolchain. -Install the Fuel Wallet extension and copy your wallet address. In the frontend folder, open the `src/App.tsx` file and add the following lines using your Fuel wallet address: - -```javascript -const myWallet = new WalletLocked("fuel123...."); -console.log("WALLET:", myWallet.address.toB256()); -``` - -Run the frontend locally with `npm start`, and check your console to see your Fuel wallet address in B256 format. Copy this address and update the `owner` field as shown below in the `chainConfig.json` file so that your wallet will have test funds. +Install a Fuel-compatible wallet extension and copy your wallet address in b256 format (it should start with `0x` instead of `fuel`). In the frontend folder, open the `src/chainConfig.json` file and edit line 7 to use your address. This step will make sure your wallet has test funds on your local network. ```json -"initial_state": { - "coins": [ - { - "owner": "0x_YOUR_FUEL_WALLET_ADDRESS", - "amount": "0x00000000FFFFFFFF", - "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" - } - ] - }, +{ + "owner": "0xYOUR_ADDRESS_HERE", + "amount": "0x00000000FFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" +}, ``` -Run the command below in the main project folder to start a local node. +Run the command below inside the `frontend` folder to start a local node, generate TypeScript types, and deploy the contract locally: -```shell -fuel-core run --db-type in-memory --chain ./chainConfig.json +```sh +cd frontend +npx fuels dev ``` -Next, in the `contract` folder, run the command below to deploy the contract to your local node. +You should see the message `🎉 Dev completed successfully!`. -```shell -forc deploy --unsigned -``` - -In your wallet, add a network with `http://127.0.0.1:4000/graphql` and switch to that network. +Next, run the frontend locally with `npm start`. -The contract ID should match the `CONTRACT_ID` in `frontend/src/constants.ts`. If you update the contract and the contract ID changes, you must update it here and run the command below in the `frontend` folder to generate new types. +The contract ID will automatically be updated, but the asset ID won't, so you'll have to make sure that is updated everytime the contract redeploys. -```shell -npx fuels typegen -i ../contract/out/debug/*-abi.json -o ./src/contracts -``` +Make sure your wallet is also connected to your local network instead of the testnet. diff --git a/chainConfig.json b/chainConfig.json deleted file mode 100644 index 730025b..0000000 --- a/chainConfig.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "chain_name": "local_testnet", - "block_production": { - "ProofOfAuthority": { - "trigger": "instant" - } - }, - "parent_network": { - "type": "LocalTest" - }, - "block_gas_limit": 1000000000, - "initial_state": { - "coins": [ - { - "owner": "0xc98c60242f807380c15882c47ed0df65ce6c25eac5fb64f6693ba8939fcaa1d4", - "amount": "0x000000000FFFFFFF", - "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" - } - ] - }, - "transaction_parameters": { - "contract_max_size": 16777216, - "max_inputs": 255, - "max_outputs": 255, - "max_witnesses": 255, - "max_gas_per_tx": 100000000, - "max_script_length": 1048576, - "max_script_data_length": 1048576, - "max_static_contracts": 255, - "max_storage_slots": 255, - "max_predicate_length": 1048576, - "max_predicate_data_length": 1048576, - "gas_price_factor": 1000000000, - "gas_per_byte": 4, - "max_message_data_length": 1048576 - }, - "block_producer": { - "utxo_validation": true, - "coinbase_recipient": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - "consensus": { - "PoA": { - "signing_key": "0x22ec92c3105c942a6640bdc4e4907286ec4728e8cfc0d8ac59aad4d8e1ccaefb" - } - } - } diff --git a/contract/Cargo.lock b/contract/Cargo.lock index de64b74..dfe8cb3 100644 --- a/contract/Cargo.lock +++ b/contract/Cargo.lock @@ -27,22 +27,46 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "once_cell", @@ -52,18 +76,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-tzdata" @@ -80,11 +104,72 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ascii" @@ -92,6 +177,51 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" +[[package]] +name = "asn1-rs" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" +dependencies = [ + "asn1-rs-derive", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure 0.12.6", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "asn1_der" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" + [[package]] name = "async-graphql" version = "4.0.16" @@ -108,7 +238,7 @@ dependencies = [ "fnv", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "mime", "multer", "num-traits", @@ -133,11 +263,11 @@ checksum = "c121a894495d7d3fc3d4e15e0a9843e422e4d1d9e3c514d8062a1c94b35b005d" dependencies = [ "Inflector", "async-graphql-parser", - "darling 0.14.3", - "proc-macro-crate", + "darling 0.14.4", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "thiserror", ] @@ -160,57 +290,125 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a941b499fead4a3fb5392cabf42446566d18c86313f69f2deab69560394d65f" dependencies = [ "bytes", - "indexmap", + "indexmap 1.9.3", "serde", "serde_json", ] +[[package]] +name = "async-io" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + [[package]] name = "async-stream" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" dependencies = [ "async-stream-impl", "futures-core", + "pin-project-lite", ] [[package]] name = "async-stream-impl" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] name = "async-trait" -version = "0.1.75" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", +] + +[[package]] +name = "asynchronous-codec" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", +] + +[[package]] +name = "asynchronous-codec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", ] [[package]] name = "atomic-polyfill" -version = "0.1.11" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" dependencies = [ "critical-section", ] +[[package]] +name = "attohttpc" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +dependencies = [ + "http", + "log", + "url", +] + [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -261,9 +459,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -275,6 +473,12 @@ dependencies = [ "serde", ] +[[package]] +name = "base-x" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" + [[package]] name = "base16ct" version = "0.2.0" @@ -289,15 +493,21 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bech32" @@ -313,9 +523,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" dependencies = [ "serde", ] @@ -332,51 +542,69 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] [[package]] name = "bs58" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2", + "sha2 0.10.8", "tinyvec", ] [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" dependencies = [ "serde", ] [[package]] name = "cc" -version = "1.0.79" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" [[package]] name = "cfg-if" @@ -384,18 +612,43 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20", + "cipher", + "poly1305", + "zeroize", +] + [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", + "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -406,44 +659,48 @@ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common", "inout", + "zeroize", ] [[package]] name = "clap" -version = "4.1.4" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ - "bitflags 1.3.2", + "clap_builder", "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", "clap_lex", - "is-terminal", - "once_cell", - "strsim", - "termcolor", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", - "proc-macro-error", + "heck 0.5.0", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" -dependencies = [ - "os_str_bytes", -] +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "cobs" @@ -451,16 +708,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "coins-bip32" version = "0.8.7" @@ -469,11 +716,11 @@ checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ "bs58", "coins-core", - "digest", - "hmac", + "digest 0.10.7", + "hmac 0.12.1", "k256", "serde", - "sha2", + "sha2 0.10.8", "thiserror", ] @@ -485,11 +732,11 @@ checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" dependencies = [ "bitvec", "coins-bip32", - "hmac", + "hmac 0.12.1", "once_cell", "pbkdf2 0.12.2", "rand", - "sha2", + "sha2 0.10.8", "thiserror", ] @@ -499,20 +746,26 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ - "base64 0.21.0", + "base64 0.21.7", "bech32", "bs58", - "digest", + "digest 0.10.7", "generic-array", "hex", "ripemd", "serde", "serde_derive", - "sha2", + "sha2 0.10.8", "sha3", "thiserror", ] +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + [[package]] name = "combine" version = "3.8.1" @@ -526,11 +779,33 @@ dependencies = [ "unreachable", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + [[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 = "convert_case" @@ -540,9 +815,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie" -version = "0.16.2" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" +checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" dependencies = [ "percent-encoding", "time", @@ -551,12 +826,12 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.16.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa" +checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" dependencies = [ "cookie", - "idna 0.2.3", + "idna 0.3.0", "log", "publicsuffix", "serde", @@ -568,9 +843,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", @@ -578,9 +853,18 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] [[package]] name = "counter" @@ -593,61 +877,43 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "critical-section" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52" - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] +checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[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", "crossbeam-epoch", "crossbeam-utils", ] [[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", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[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", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -657,9 +923,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.2" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", "rand_core", @@ -674,9 +940,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core", "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "ct-logs" version = "0.8.0" @@ -697,80 +974,37 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest", + "digest 0.10.7", "fiat-crypto", "platforms", "rustc_version", "subtle", + "zeroize", ] [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.41", -] - -[[package]] -name = "cxx" -version = "1.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d59d9acd2a682b4e40605a242f6670eaa58c5957471cbf85e8aa6a0b97a5e8" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfa40bda659dd5c864e65f4c9a2b0aff19bea56b017b9b77c73d3766a453a38" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 1.0.107", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "457ce6757c5c70dc6ecdbda6925b958aae7f959bda7d8fb9bde889e34a09dc03" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.90" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf883b7aacd7b2aeb2a7b338648ee19f57c140d4ee8e52c68979c6b2f7f2263" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] name = "cynic" -version = "2.2.4" +version = "2.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6576ac5a74e1f627ec956d713f7e219f484ec43491e6cc1e8f74a99cc7222a" +checksum = "b1afa0591b1021e427e548a1f0f147fe6168f6c7c7f7006bace77f28856051b8" dependencies = [ "cynic-proc-macros", "reqwest", @@ -782,9 +1016,9 @@ dependencies = [ [[package]] name = "cynic-codegen" -version = "2.2.4" +version = "2.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a1ee0ecbc347a865977f6cebac3999893421cb9669f23b224e6b021efc0c6a" +checksum = "70a1bb05cc554f46079d0fa72abe995a2d32d0737d410a41da75b31e3f7ef768" dependencies = [ "counter", "darling 0.13.4", @@ -792,18 +1026,18 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "strsim", - "syn 1.0.107", + "strsim 0.10.0", + "syn 1.0.109", ] [[package]] name = "cynic-proc-macros" -version = "2.2.4" +version = "2.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6741b66ede00c597c4a00f5fae8aaad3f8b47a09bf2ab0682312d6431e028358" +checksum = "aa595c4ed7a5374e0e58c5c34f9d93bd6b7d45062790963bd4b4c3c0bf520c4d" dependencies = [ "cynic-codegen", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -818,12 +1052,22 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.3" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + +[[package]] +name = "darling" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.14.3", - "darling_macro 0.14.3", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -836,22 +1080,36 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", - "syn 1.0.107", + "strsim 0.10.0", + "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 1.0.107", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.63", ] [[package]] @@ -862,35 +1120,90 @@ checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core 0.13.4", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.14.3", + "darling_core 0.20.9", "quote", - "syn 1.0.107", + "syn 2.0.63", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "data-encoding-macro" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" +dependencies = [ + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" +dependencies = [ + "data-encoding", + "syn 1.0.109", ] [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", ] +[[package]] +name = "der-parser" +version = "8.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" +dependencies = [ + "asn1-rs", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] [[package]] name = "derivative" @@ -900,7 +1213,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -913,7 +1226,22 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 1.0.107", + "syn 1.0.109", +] + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", ] [[package]] @@ -922,26 +1250,43 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", + "block-buffer 0.10.4", "const-oid", "crypto-common", "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.63", +] + +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + [[package]] name = "dtoa" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "ecdsa" -version = "0.16.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", - "digest", + "digest 0.10.7", "elliptic-curve", "rfc6979", "signature", @@ -950,29 +1295,34 @@ dependencies = [ [[package]] name = "ed25519" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ + "pkcs8", "signature", ] [[package]] name = "ed25519-dalek" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "sha2", + "rand_core", + "serde", + "sha2 0.10.8", + "subtle", + "zeroize", ] [[package]] name = "either" -version = "1.8.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "elliptic-curve" @@ -982,7 +1332,7 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", - "digest", + "digest 0.10.7", "ff", "generic-array", "group", @@ -993,66 +1343,75 @@ dependencies = [ "zeroize", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.63", +] + [[package]] name = "enum-iterator" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea166b3f7dc1032f7866d13f8d8e02c8d87507b61750176b86554964dc6a7bf" +checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce" +checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] -name = "errno" -version = "0.2.8" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "eth-keystore" version = "0.5.0" @@ -1061,15 +1420,15 @@ checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ "aes", "ctr", - "digest", + "digest 0.10.7", "hex", - "hmac", + "hmac 0.12.1", "pbkdf2 0.11.0", "rand", "scrypt", "serde", "serde_json", - "sha2", + "sha2 0.10.8", "sha3", "thiserror", "uuid 0.8.2", @@ -1077,9 +1436,30 @@ dependencies = [ [[package]] name = "ethnum" -version = "1.4.0" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8ff382b2fa527fb7fb06eeebfc5bbb3f17e3cc6b9d70b006c41daa8824adac" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener", + "pin-project-lite", +] [[package]] name = "eventsource-client" @@ -1106,9 +1486,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "ff" @@ -1122,9 +1502,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.20" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "fixed-hash" @@ -1135,6 +1515,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1143,18 +1532,24 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] +[[package]] +name = "fragile" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" + [[package]] name = "fuel-abi-types" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25" +checksum = "ee6135cb6e12773a7abf7d6c3a8de6467dee86fcf7293720d33e33feb01dc6d8" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -1163,27 +1558,27 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.41", + "syn 2.0.63", "thiserror", ] [[package]] name = "fuel-asm" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e" +checksum = "42df651415e443094f86102473b7f9fa23633ab6c3c98dd3f713adde251acf0f" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "fuel-types", "serde", - "strum", + "strum 0.24.1", ] [[package]] name = "fuel-core" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b784b66a9dc46393d69967727895db787974a4d6349cc139c940125ede40c681" +checksum = "6b030e12851d70598e12722886b899e28884d168367fc20d9a809951dd599004" dependencies = [ "anyhow", "async-graphql", @@ -1198,54 +1593,58 @@ dependencies = [ "fuel-core-executor", "fuel-core-importer", "fuel-core-metrics", + "fuel-core-p2p", "fuel-core-poa", "fuel-core-producer", "fuel-core-services", "fuel-core-storage", "fuel-core-txpool", "fuel-core-types", + "fuel-core-upgradable-executor", "futures", "hex", "hyper", - "itertools 0.10.5", - "postcard", + "indicatif", + "itertools 0.12.1", "rand", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.25.0", + "strum_macros 0.25.3", "thiserror", "tokio", "tokio-stream", + "tokio-util", "tower-http", "tracing", - "uuid 1.6.1", + "uuid 1.8.0", ] [[package]] name = "fuel-core-chain-config" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f2b1fe72649f4eca267dc49f9ef1edfdc4b8f0d6325a8b1ebeb6641b11e1c3" +checksum = "d202fe1dfeb98882bdc5a0206a58e469d76fd09d952c4050bb979102bd690398" dependencies = [ "anyhow", "bech32", + "derivative", "fuel-core-storage", "fuel-core-types", - "hex", - "itertools 0.10.5", + "itertools 0.12.1", "postcard", + "rand", "serde", "serde_json", - "serde_with 1.14.0", + "serde_with", "tracing", ] [[package]] name = "fuel-core-client" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "609b815dd45f01a012fa237d9ea946dcc67d6858d141bf64cbeb9fb0a80a6474" +checksum = "bc636a8706e36c713606ee4226fdef5260e3650ba0e8a57f0fc06258d0078a34" dependencies = [ "anyhow", "cynic", @@ -1254,8 +1653,8 @@ dependencies = [ "fuel-core-types", "futures", "hex", - "hyper-rustls 0.24.1", - "itertools 0.10.5", + "hyper-rustls 0.24.2", + "itertools 0.12.1", "reqwest", "schemafy_lib", "serde", @@ -1267,22 +1666,22 @@ dependencies = [ [[package]] name = "fuel-core-consensus-module" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b22705ff15266cd0206aea5e59e881be3606bc221ec29b938a2e630c72420b8" +checksum = "0f99179c08972efffe7628f0ff8d59028218b126347a6f9eba86f71e20966eeb" dependencies = [ "anyhow", "fuel-core-chain-config", "fuel-core-poa", + "fuel-core-storage", "fuel-core-types", - "tokio", ] [[package]] name = "fuel-core-database" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11202dd7027502e663178663ab0a995d2ea93a0d543775d63730f8daa2cd490c" +checksum = "f5b1fd08a72609ebf0c8106359a37a4b205055be15e9f4fc30a4c0b5f0644c6b" dependencies = [ "anyhow", "derive_more", @@ -1292,24 +1691,24 @@ dependencies = [ [[package]] name = "fuel-core-executor" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1cbcc8e330681305d603c22f736df3fe403bfedf5c122066fb853638286a9c" +checksum = "1f98d89798007bc781d56e02681144683f5c645ee0725e7717e38694e8e5e31d" dependencies = [ "anyhow", - "fuel-core-chain-config", "fuel-core-storage", "fuel-core-types", "hex", "parking_lot", + "serde", "tracing", ] [[package]] name = "fuel-core-importer" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db12defb4ed0d3aff3d39138925a0d8467f857254cba5d5e9de9bc273ade25d0" +checksum = "f51837a53f2d8b78a701aee61b99c7f1873f23e864f01f4b4d0644a06e1f7c41" dependencies = [ "anyhow", "derive_more", @@ -1317,29 +1716,61 @@ dependencies = [ "fuel-core-storage", "fuel-core-types", "tokio", + "tokio-rayon", "tracing", ] [[package]] name = "fuel-core-metrics" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d853a839036a1906e8082192268034ace79e5d04dbd935abeaee745c5f5a39" +checksum = "bacc62bc4fec2fe6a818a1a7145b892bd486d69266190ca8dd31a036a3a327b7" dependencies = [ "axum", "once_cell", "pin-project-lite", - "prometheus-client 0.18.1", - "prometheus-client 0.20.0", + "prometheus-client", "regex", "tracing", ] +[[package]] +name = "fuel-core-p2p" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6496068f0f5736f9e51bba8f8bb04cb83f68df2f6142e410fe62854b47621b3" +dependencies = [ + "anyhow", + "async-trait", + "fuel-core-chain-config", + "fuel-core-metrics", + "fuel-core-services", + "fuel-core-storage", + "fuel-core-types", + "futures", + "hex", + "ip_network", + "libp2p", + "libp2p-mplex", + "postcard", + "prometheus-client", + "quick-protobuf", + "quick-protobuf-codec", + "rand", + "serde", + "serde_with", + "sha2 0.10.8", + "thiserror", + "tokio", + "tracing", + "void", +] + [[package]] name = "fuel-core-poa" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c94a4807d14918f6f2f30c29fd4cfed0c7b7565c01d51c05cffff2881b468f3" +checksum = "68d189ecd635688ddc896b44c8497b29c04bb4a3719a24eea0ca9691a6f76d5e" dependencies = [ "anyhow", "async-trait", @@ -1354,9 +1785,9 @@ dependencies = [ [[package]] name = "fuel-core-producer" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bbc29241e839c711ee2fcb9729978c1717f02e02459c00216a63e15384b275" +checksum = "4d2901a7ba2c0e724bbb88a3111fdb9844f5faf9f0bd4005944f61f093730b4d" dependencies = [ "anyhow", "async-trait", @@ -1370,9 +1801,9 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d8ed6f17fc5e42094412ea2af7a9e6a2ec5cd6fe56548ef0e0730938b55c26" +checksum = "cf2ab4d3931b8cafdb2e69fe8ca97918a168d74c73c070481ca0e552cc37bb93" dependencies = [ "anyhow", "async-trait", @@ -1385,31 +1816,42 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8188ae0d5af2925ca05608b60f69cdc89f9e33b6500f776e7e1ecd2c44d32447" +checksum = "e039c1c6ebef314c74c34728e1f2199dcf9ede041d6f5c6e11479517c8f4d320" dependencies = [ "anyhow", "derive_more", + "enum-iterator", "fuel-core-types", "fuel-vm", + "impl-tools", + "itertools 0.12.1", + "mockall", + "num_enum", + "paste", + "postcard", "primitive-types", + "rand", + "serde", + "strum 0.25.0", + "strum_macros 0.25.3", ] [[package]] name = "fuel-core-txpool" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef6228d74e0a2efeda97a7f5f3c31052c3b0e961ca92c6754cbb19c864813f3d" +checksum = "985684e2d67d5018e9227a4f9ed79cac02b23b207e457ee95833ab047769c2ac" dependencies = [ "anyhow", "async-trait", - "fuel-core-chain-config", "fuel-core-metrics", "fuel-core-services", "fuel-core-storage", "fuel-core-types", "futures", + "mockall", "parking_lot", "tokio", "tokio-rayon", @@ -1419,14 +1861,16 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd06358708d4c61ef53ad73c26ae55a0ed59ba9096c56b64a1eb56af748e9f0" +checksum = "cf038dd8df8d3aa665a13295c9ef888ba8118600cccdf8fb4587410e0e102fdf" dependencies = [ "anyhow", "bs58", + "derivative", "derive_more", "fuel-vm", + "rand", "secrecy", "serde", "tai64", @@ -1434,11 +1878,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "fuel-core-upgradable-executor" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc54c84a7dc13f76930761ebca391b167caa096dc2bdb2413b5a2400bf65f99d" +dependencies = [ + "fuel-core-executor", + "fuel-core-storage", + "fuel-core-types", +] + [[package]] name = "fuel-crypto" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a" +checksum = "71cef93970fb8a26d3a683ae211833c6bbf391066887f501bd5859f29992b59a" dependencies = [ "coins-bip32", "coins-bip39", @@ -1451,70 +1906,71 @@ dependencies = [ "rand", "secp256k1", "serde", - "sha2", + "sha2 0.10.8", "zeroize", ] [[package]] name = "fuel-derive" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8" +checksum = "2b85e8e508b26d088262075fcfe9921b7009c931fef1cc55fe1dafb116c99884" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", - "synstructure 0.13.0", + "syn 2.0.63", + "synstructure 0.13.1", ] [[package]] name = "fuel-merkle" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab" +checksum = "5198b4eab5a19b0034971da88199dae7dd61806ebd8df366d6af1f17cda2e151" dependencies = [ "derive_more", - "digest", + "digest 0.10.7", "fuel-storage", "hashbrown 0.13.2", "hex", "serde", - "sha2", + "sha2 0.10.8", ] [[package]] name = "fuel-storage" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b" +checksum = "fa738e9c244f3f312af09faef108ec9a285f02afcefbc579c19c242cea742dd0" [[package]] name = "fuel-tx" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1" +checksum = "8e4b4ea79ffe711af7bbf363b25f383fc6e481e652cf55a5ef8b5a458fcf4ef9" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "derivative", "derive_more", "fuel-asm", "fuel-crypto", "fuel-merkle", "fuel-types", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "itertools 0.10.5", + "postcard", "rand", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", ] [[package]] name = "fuel-types" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e" +checksum = "455cf5275d96f6907e81ed1825c4e6a9dd79f7c1c37a4e15134562f83024c7e7" dependencies = [ "fuel-derive", "hex", @@ -1524,13 +1980,14 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.43.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546" +checksum = "8811f949db8ce61cc68dcf81644047df4ee23be55879efcfe9f1aa5adc378965" dependencies = [ + "anyhow", "async-trait", "backtrace", - "bitflags 2.4.0", + "bitflags 2.5.0", "derivative", "derive_more", "ethnum", @@ -1540,24 +1997,26 @@ dependencies = [ "fuel-storage", "fuel-tx", "fuel-types", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "itertools 0.10.5", "libm", "paste", "percent-encoding", "primitive-types", + "rand", "serde", + "serde_with", "sha3", "static_assertions", - "strum", + "strum 0.24.1", "tai64", ] [[package]] name = "fuels" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0761be35fa13d61c0220aa4535d3cc990542032abfc006bef709121a402637" +checksum = "8eeb6fa017c6d695cf4468d21c640857ba1c74d31fdac3277ad4414593a14a7b" dependencies = [ "fuel-core", "fuel-core-client", @@ -1572,50 +2031,49 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ddc69fefff879a914aa06b2d7e5396a596399e6db4383015a3d222699f4b31" +checksum = "0a55f3ba7346cb73a5565fd7b6ab2c0016be052863323ca076e6ac9fec719759" dependencies = [ "async-trait", "chrono", "elliptic-curve", "eth-keystore", "fuel-core-client", + "fuel-core-types", "fuel-crypto", "fuel-tx", "fuel-types", "fuels-core", - "hex", "rand", "semver", "tai64", "thiserror", "tokio", - "tracing", "zeroize", ] [[package]] name = "fuels-code-gen" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19daefd4e70d4b6998b6650dea23d982360650f8710e5c7bc6e8a5b91228814d" +checksum = "8db288a46989c20bc48dee787008959a2a7c17061fe78cf4ae4c1263c80692e1" dependencies = [ "Inflector", "fuel-abi-types", - "itertools 0.12.0", + "itertools 0.12.1", "proc-macro2", "quote", "regex", "serde_json", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] name = "fuels-core" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0389e16906fbb1119006e5c09ce789aeb6d0d8e344372c077ac8484bab8a12b9" +checksum = "63d0abdc7230e4adb619a3735c237af545dcfdf86f4096b9d1daaf315838987e" dependencies = [ "async-trait", "bech32", @@ -1624,49 +2082,48 @@ dependencies = [ "fuel-asm", "fuel-core-chain-config", "fuel-core-client", + "fuel-core-types", "fuel-crypto", "fuel-tx", "fuel-types", "fuel-vm", "fuels-macros", "hex", - "itertools 0.12.0", + "itertools 0.12.1", "serde", "serde_json", - "sha2", "thiserror", "uint", ] [[package]] name = "fuels-macros" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce17afcb07246c221da0d5a55d4ffc748d4b49a0fd7058a90b1ad1c6f0023a7" +checksum = "9e137a52541dbd0345bf000301091b5266644fd4de04bb8238457c5c70b9ac4e" dependencies = [ "fuels-code-gen", - "itertools 0.12.0", + "itertools 0.12.1", "proc-macro2", "quote", "rand", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] name = "fuels-programs" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7898f4e9f3b438de60b55644806bf2718e1c09e0605180c19fb44a8ca0a1165" +checksum = "ada44df4a718da78add027d1204af8154265fc2f64b60cc28b1bba597df7e5d6" dependencies = [ "async-trait", - "bytes", "fuel-abi-types", "fuel-asm", "fuel-tx", "fuel-types", "fuels-accounts", "fuels-core", - "itertools 0.12.0", + "itertools 0.12.1", "rand", "serde_json", "tokio", @@ -1674,9 +2131,9 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.55.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7620c418f9501713c2cd976f216b9d46ff847a4d681af56e36af17ad26dac14e" +checksum = "f46d53ef79da8600d8ef580c0acc859be80b07eef0c9ddc19c61bb04b3cf4c15" dependencies = [ "fuel-core", "fuel-core-chain-config", @@ -1689,12 +2146,8 @@ dependencies = [ "fuels-accounts", "fuels-core", "futures", - "hex", "portpicker", "rand", - "serde", - "serde_json", - "serde_with 3.4.0", "tempfile", "tokio", "which", @@ -1708,9 +2161,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[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", @@ -1721,11 +2174,21 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-bounded" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e2774cc104e198ef3d3e1ff4ab40f86fa3245d6cb6a3a46174f21463cee173" +dependencies = [ + "futures-timer", + "futures-util", +] + [[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", @@ -1733,55 +2196,93 @@ 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", "futures-util", + "num_cpus", ] [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "futures-core", + "pin-project-lite", +] [[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", "quote", - "syn 2.0.41", + "syn 2.0.63", +] + +[[package]] +name = "futures-rustls" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" +dependencies = [ + "futures-io", + "rustls 0.21.12", ] [[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 = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-ticker" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9763058047f713632a52e916cc7f6a4b3fc6e9fc1ff8c5b1dc49e5a89041682e" +dependencies = [ + "futures", + "futures-timer", + "instant", +] + +[[package]] +name = "futures-timer" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[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-channel", "futures-core", @@ -1797,9 +2298,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -1808,20 +2309,30 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", "wasi", ] +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + [[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 = "graphql-parser" @@ -1846,9 +2357,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -1856,7 +2367,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -1889,9 +2400,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -1900,15 +2411,15 @@ dependencies = [ [[package]] name = "heapless" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743" +checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" dependencies = [ "atomic-polyfill", "hash32", "rustc_version", "serde", - "spin 0.9.5", + "spin 0.9.8", "stable_deref_trait", ] @@ -1919,19 +2430,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] -name = "hermit-abi" -version = "0.2.6" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -1942,29 +2450,122 @@ dependencies = [ "serde", ] +[[package]] +name = "hex_fmt" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" + +[[package]] +name = "hickory-proto" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.4.0", + "ipnet", + "once_cell", + "rand", + "socket2", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot", + "rand", + "resolv-conf", + "smallvec", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac 0.12.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", ] [[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 0.48.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", ] [[package]] name = "http" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -1973,9 +2574,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", @@ -1984,9 +2585,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -1996,15 +2597,15 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[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", @@ -2017,7 +2618,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.7", + "socket2", "tokio", "tower-service", "tracing", @@ -2043,19 +2644,19 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", "hyper", "log", - "rustls 0.21.7", + "rustls 0.21.12", "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", - "webpki-roots 0.23.1", + "webpki-roots", ] [[package]] @@ -2072,26 +2673,25 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows-core 0.52.0", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -2102,36 +2702,141 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "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 = "if-addrs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "if-watch" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" +dependencies = [ + "async-io", + "core-foundation", + "fnv", + "futures", + "if-addrs", + "ipnet", + "log", + "rtnetlink", + "system-configuration", + "tokio", + "windows", +] + +[[package]] +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures", + "http", + "hyper", + "log", + "rand", + "tokio", + "url", + "xmltree", +] + +[[package]] +name = "impl-tools" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82c305b1081f1a99fda262883c788e50ab57d36c00830bdd7e0a82894ad965c" +dependencies = [ + "autocfg", + "impl-tools-lib", + "proc-macro-error", + "syn 2.0.63", +] + +[[package]] +name = "impl-tools-lib" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85d3946d886eaab0702fa0c6585adcced581513223fa9df7ccfabbd9fa331a88" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.63", +] + [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", "serde", ] +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + [[package]] name = "inout" version = "0.1.3" @@ -2142,33 +2847,44 @@ dependencies = [ ] [[package]] -name = "io-lifetimes" -version = "1.0.5" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "libc", - "windows-sys 0.45.0", + "cfg-if", ] [[package]] -name = "ipnet" -version = "2.7.1" +name = "ip_network" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] -name = "is-terminal" -version = "0.4.3" +name = "ipconfig" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix 0.36.8", - "windows-sys 0.45.0", + "socket2", + "widestring", + "windows-sys 0.48.0", + "winreg", ] +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -2180,47 +2896,47 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "k256" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", "once_cell", - "sha2", + "sha2 0.10.8", "signature", ] [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -2233,9 +2949,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -2244,31 +2960,528 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] -name = "link-cplusplus" -version = "1.0.8" +name = "libp2p" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +checksum = "681fb3f183edfbedd7a57d32ebe5dcdc0b9f94061185acf3c30249349cc6fc99" dependencies = [ - "cc", + "bytes", + "either", + "futures", + "futures-timer", + "getrandom", + "instant", + "libp2p-allow-block-list", + "libp2p-connection-limits", + "libp2p-core", + "libp2p-dns", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", + "libp2p-noise", + "libp2p-quic", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-tcp", + "libp2p-upnp", + "libp2p-websocket", + "libp2p-yamux", + "multiaddr", + "pin-project", + "rw-stream-sink", + "thiserror", ] [[package]] -name = "linux-raw-sys" -version = "0.1.4" +name = "libp2p-allow-block-list" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "107b238b794cb83ab53b74ad5dcf7cca3200899b72fe662840cfb52f5b0a32e6" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7cd50a78ccfada14de94cbacd3ce4b0138157f376870f13d3a8422cd075b4fd" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-core" +version = "0.41.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8130a8269e65a2554d55131c770bdf4bcd94d2b8d4efb24ca23699be65066c05" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-identity", + "multiaddr", + "multihash", + "multistream-select", + "once_cell", + "parking_lot", + "pin-project", + "quick-protobuf", + "rand", + "rw-stream-sink", + "smallvec", + "thiserror", + "tracing", + "unsigned-varint 0.8.0", + "void", +] + +[[package]] +name = "libp2p-dns" +version = "0.41.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d17cbcf7160ff35c3e8e560de4a068fe9d6cb777ea72840e48eb76ff9576c4b6" +dependencies = [ + "async-trait", + "futures", + "hickory-resolver", + "libp2p-core", + "libp2p-identity", + "parking_lot", + "smallvec", + "tracing", +] + +[[package]] +name = "libp2p-gossipsub" +version = "0.46.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d665144a616dadebdc5fff186b1233488cdcd8bfb1223218ff084b6d052c94f7" +dependencies = [ + "asynchronous-codec 0.7.0", + "base64 0.21.7", + "byteorder", + "bytes", + "either", + "fnv", + "futures", + "futures-ticker", + "getrandom", + "hex_fmt", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "prometheus-client", + "quick-protobuf", + "quick-protobuf-codec", + "rand", + "regex", + "sha2 0.10.8", + "smallvec", + "tracing", + "void", +] + +[[package]] +name = "libp2p-identify" +version = "0.44.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +dependencies = [ + "asynchronous-codec 0.7.0", + "either", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "lru", + "quick-protobuf", + "quick-protobuf-codec", + "smallvec", + "thiserror", + "tracing", + "void", +] + +[[package]] +name = "libp2p-identity" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999ec70441b2fb35355076726a6bc466c932e9bdc66f6a11c6c0aa17c7ab9be0" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "hkdf", + "libsecp256k1", + "multihash", + "quick-protobuf", + "rand", + "sha2 0.10.8", + "thiserror", + "tracing", + "zeroize", +] + +[[package]] +name = "libp2p-kad" +version = "0.45.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" +dependencies = [ + "arrayvec", + "asynchronous-codec 0.7.0", + "bytes", + "either", + "fnv", + "futures", + "futures-bounded", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "quick-protobuf", + "quick-protobuf-codec", + "rand", + "sha2 0.10.8", + "smallvec", + "thiserror", + "tracing", + "uint", + "void", +] + +[[package]] +name = "libp2p-mdns" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2" +dependencies = [ + "data-encoding", + "futures", + "hickory-proto", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand", + "smallvec", + "socket2", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-metrics" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +dependencies = [ + "futures", + "instant", + "libp2p-core", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-swarm", + "pin-project", + "prometheus-client", +] + +[[package]] +name = "libp2p-mplex" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e895765e27e30217b25f7cb7ac4686dad1ff80bf2fdeffd1d898566900a924" +dependencies = [ + "asynchronous-codec 0.6.2", + "bytes", + "futures", + "libp2p-core", + "libp2p-identity", + "nohash-hasher", + "parking_lot", + "rand", + "smallvec", + "tracing", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "libp2p-noise" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecd0545ce077f6ea5434bcb76e8d0fe942693b4380aaad0d34a358c2bd05793" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "curve25519-dalek", + "futures", + "libp2p-core", + "libp2p-identity", + "multiaddr", + "multihash", + "once_cell", + "quick-protobuf", + "rand", + "sha2 0.10.8", + "snow", + "static_assertions", + "thiserror", + "tracing", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-quic" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0375cdfee57b47b313ef1f0fdb625b78aed770d33a40cf1c294a371ff5e6666" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", + "parking_lot", + "quinn", + "rand", + "ring 0.16.20", + "rustls 0.21.12", + "socket2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "libp2p-request-response" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6946e5456240b3173187cc37a17cb40c3cd1f7138c76e2c773e0d792a42a8de1" +dependencies = [ + "async-trait", + "futures", + "futures-bounded", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand", + "smallvec", + "tracing", + "void", +] + +[[package]] +name = "libp2p-swarm" +version = "0.44.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm-derive", + "lru", + "multistream-select", + "once_cell", + "rand", + "smallvec", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.34.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.63", +] + +[[package]] +name = "libp2p-tcp" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c" +dependencies = [ + "futures", + "futures-timer", + "if-watch", + "libc", + "libp2p-core", + "libp2p-identity", + "socket2", + "tokio", + "tracing", +] + +[[package]] +name = "libp2p-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ce7e3c2e7569d685d08ec795157981722ff96e9e9f9eae75df3c29d02b07a5" +dependencies = [ + "futures", + "futures-rustls", + "libp2p-core", + "libp2p-identity", + "rcgen", + "ring 0.16.20", + "rustls 0.21.12", + "rustls-webpki", + "thiserror", + "x509-parser", + "yasna", +] + +[[package]] +name = "libp2p-upnp" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccf04b0e3ff3de52d07d5fd6c3b061d0e7f908ffc683c32d9638caedce86fc8" +dependencies = [ + "futures", + "futures-timer", + "igd-next", + "libp2p-core", + "libp2p-swarm", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-websocket" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4846d51afd08180e164291c3754ba30dd4fbac6fac65571be56403c16431a5e" +dependencies = [ + "either", + "futures", + "futures-rustls", + "libp2p-core", + "libp2p-identity", + "parking_lot", + "pin-project-lite", + "rw-stream-sink", + "soketto", + "tracing", + "url", + "webpki-roots", +] + +[[package]] +name = "libp2p-yamux" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200cbe50349a44760927d50b431d77bed79b9c0a3959de1af8d24a63434b71e5" +dependencies = [ + "either", + "futures", + "libp2p-core", + "thiserror", + "tracing", + "yamux 0.12.1", + "yamux 0.13.2", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +dependencies = [ + "arrayref", + "base64 0.13.1", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand", + "serde", + "sha2 0.9.9", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2276,18 +3489,33 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "lru" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "cfg-if", + "hashbrown 0.14.5", ] [[package]] -name = "matches" -version = "0.1.10" +name = "lru-cache" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" [[package]] name = "matchit" @@ -2297,50 +3525,74 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] -name = "memoffset" -version = "0.9.0" +name = "mime" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] -name = "mime" -version = "0.3.16" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi", "windows-sys 0.48.0", ] +[[package]] +name = "mockall" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "multer" -version = "2.0.4" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22" +checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" dependencies = [ "bytes", "encoding_rs", @@ -2350,64 +3602,269 @@ dependencies = [ "log", "memchr", "mime", - "spin 0.9.5", + "spin 0.9.8", "version_check", ] [[package]] -name = "nom8" +name = "multiaddr" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.2", + "url", +] + +[[package]] +name = "multibase" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +dependencies = [ + "core2", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multistream-select" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" +dependencies = [ + "bytes", + "futures", + "log", + "pin-project", + "smallvec", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "netlink-packet-core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-utils" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +dependencies = [ + "anyhow", + "byteorder", + "paste", + "thiserror", +] + +[[package]] +name = "netlink-proto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +dependencies = [ + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror", + "tokio", +] + +[[package]] +name = "netlink-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" +dependencies = [ + "bytes", + "futures", + "libc", + "log", + "tokio", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "nohash-hasher" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", + "minimal-lexical", +] + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "num-bigint" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", ] [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi", "libc", ] +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.63", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + [[package]] name = "object" -version = "0.32.0" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] +[[package]] +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +dependencies = [ + "asn1-rs", +] + [[package]] name = "once_cell" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "os_str_bytes" -version = "6.4.1" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "p256" @@ -2418,14 +3875,20 @@ dependencies = [ "ecdsa", "elliptic-curve", "primeorder", - "sha2", + "sha2 0.10.8", ] +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -2433,22 +3896,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.52.5", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -2456,7 +3919,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -2465,8 +3928,18 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest", - "hmac", + "digest 0.10.7", + "hmac 0.12.1", +] + +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", ] [[package]] @@ -2477,39 +3950,40 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.5.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -2529,9 +4003,53 @@ dependencies = [ [[package]] name = "platforms" -version = "3.1.2" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + +[[package]] +name = "polling" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" [[package]] name = "portpicker" @@ -2544,35 +4062,72 @@ dependencies = [ [[package]] name = "postcard" -version = "1.0.2" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2b180dc0bade59f03fd005cb967d3f1e5f69b13922dad0cd6e047cb8af2363" +checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" dependencies = [ "cobs", + "embedded-io", "heapless", "serde", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "predicates" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +dependencies = [ + "difflib", + "float-cmp", + "itertools 0.10.5", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + [[package]] name = "primeorder" -version = "0.13.2" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ "elliptic-curve", ] [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "uint", @@ -2580,12 +4135,21 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", ] [[package]] @@ -2597,7 +4161,6 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.107", "version_check", ] @@ -2614,30 +4177,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus-client" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" -dependencies = [ - "dtoa", - "itoa", - "parking_lot", - "prometheus-client-derive-text-encode", -] - -[[package]] -name = "prometheus-client" -version = "0.20.0" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e227aeb6c2cfec819e999c4773b35f8c7fa37298a203ff46420095458eee567e" +checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" dependencies = [ "dtoa", "itoa", @@ -2653,18 +4204,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", -] - -[[package]] -name = "prometheus-client-derive-text-encode" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] @@ -2683,11 +4223,87 @@ dependencies = [ "psl-types", ] +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "quick-protobuf-codec" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "quick-protobuf", + "thiserror", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "quinn" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" +dependencies = [ + "bytes", + "futures-io", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.21.12", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" +dependencies = [ + "bytes", + "rand", + "ring 0.16.20", + "rustc-hash", + "rustls 0.21.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" +dependencies = [ + "bytes", + "libc", + "socket2", + "tracing", + "windows-sys 0.48.0", +] + [[package]] name = "quote" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2730,9 +4346,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -2740,39 +4356,40 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "rcgen" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" dependencies = [ - "bitflags 1.3.2", + "pem", + "ring 0.16.20", + "time", + "yasna", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] name = "regex" -version = "1.10.2" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", @@ -2782,9 +4399,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -2793,17 +4410,17 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "base64 0.21.0", + "base64 0.21.7", "bytes", "cookie", "cookie_store", @@ -2814,7 +4431,7 @@ dependencies = [ "http", "http-body", "hyper", - "hyper-rustls 0.24.1", + "hyper-rustls 0.24.2", "ipnet", "js-sys", "log", @@ -2822,11 +4439,13 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.7", + "rustls 0.21.12", "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", + "system-configuration", "tokio", "tokio-rustls 0.24.1", "tower-service", @@ -2834,17 +4453,27 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.25.2", + "webpki-roots", "winreg", ] +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", +] + [[package]] name = "rfc6979" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac", + "hmac 0.12.1", "subtle", ] @@ -2858,25 +4487,61 @@ dependencies = [ "libc", "once_cell", "spin 0.5.2", - "untrusted", + "untrusted 0.7.1", "web-sys", "winapi", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + [[package]] name = "ripemd" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest", + "digest 0.10.7", +] + +[[package]] +name = "rtnetlink" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" +dependencies = [ + "futures", + "log", + "netlink-packet-route", + "netlink-proto", + "nix", + "thiserror", + "tokio", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" @@ -2888,29 +4553,24 @@ dependencies = [ ] [[package]] -name = "rustix" -version = "0.36.8" +name = "rusticata-macros" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "bitflags 1.3.2", - "errno 0.2.8", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", + "nom", ] [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.0", - "errno 0.3.8", + "bitflags 2.5.0", + "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys", "windows-sys 0.52.0", ] @@ -2922,21 +4582,21 @@ checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ "base64 0.13.1", "log", - "ring", + "ring 0.16.20", "sct 0.6.1", "webpki", ] [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring", - "rustls-webpki 0.101.4", - "sct 0.7.0", + "ring 0.17.8", + "rustls-webpki", + "sct 0.7.1", ] [[package]] @@ -2965,44 +4625,45 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.0", + "base64 0.21.7", ] [[package]] name = "rustls-webpki" -version = "0.100.2" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", - "untrusted", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] -name = "rustls-webpki" -version = "0.101.4" +name = "rustversion" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" -dependencies = [ - "ring", - "untrusted", -] +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] -name = "rustversion" -version = "1.0.11" +name = "rw-stream-sink" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" +dependencies = [ + "futures", + "pin-project", + "static_assertions", +] [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "salsa20" @@ -3015,11 +4676,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.42.0", + "windows-sys 0.52.0", ] [[package]] @@ -3045,20 +4706,14 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scrypt" @@ -3066,10 +4721,10 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" dependencies = [ - "hmac", + "hmac 0.12.1", "pbkdf2 0.11.0", "salsa20", - "sha2", + "sha2 0.10.8", ] [[package]] @@ -3078,25 +4733,25 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring", - "untrusted", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "sec1" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", @@ -3136,11 +4791,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -3149,9 +4804,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -3159,35 +4814,35 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -3208,33 +4863,58 @@ dependencies = [ [[package]] name = "serde_with" -version = "1.14.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", "serde", + "serde_derive", + "serde_json", "serde_with_macros", + "time", ] [[package]] -name = "serde_with" -version = "3.4.0" +name = "serde_with_macros" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ - "serde", + "darling 0.20.9", + "proc-macro2", + "quote", + "syn 2.0.63", ] [[package]] -name = "serde_with_macros" -version = "1.5.2" +name = "sha-1" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "darling 0.13.4", - "proc-macro2", - "quote", - "syn 1.0.107", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", ] [[package]] @@ -3245,71 +4925,93 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest", + "digest 0.10.7", "keccak", ] [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest", + "digest 0.10.7", "rand_core", ] [[package]] name = "slab" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "snow" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "curve25519-dalek", + "rand_core", + "ring 0.17.8", + "rustc_version", + "sha2 0.10.8", + "subtle", +] [[package]] name = "socket2" -version = "0.4.7" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] -name = "socket2" -version = "0.5.5" +name = "soketto" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "libc", - "windows-sys 0.48.0", + "base64 0.13.1", + "bytes", + "futures", + "httparse", + "log", + "rand", + "sha-1", ] [[package]] @@ -3320,18 +5022,18 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.5" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dccf47db1b41fa1573ed27ccf5e08e3ca771cb994f776668c5ebda893b248fc" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" dependencies = [ "lock_api", ] [[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", @@ -3355,13 +5057,28 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.3", ] [[package]] @@ -3370,24 +5087,37 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 1.0.107", + "syn 2.0.63", ] [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -3396,9 +5126,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704" dependencies = [ "proc-macro2", "quote", @@ -3419,20 +5149,40 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 1.0.109", "unicode-xid", ] [[package]] name = "synstructure" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", - "unicode-xid", + "syn 2.0.63", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", ] [[package]] @@ -3452,54 +5202,52 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.4.1", - "rustix 0.38.28", - "windows-sys 0.48.0", + "rustix", + "windows-sys 0.52.0", ] [[package]] -name = "termcolor" -version = "1.2.0" +name = "termtree" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] name = "time" -version = "0.3.28" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -3507,16 +5255,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -3537,9 +5286,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -3549,7 +5298,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] @@ -3572,7 +5321,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] @@ -3602,15 +5351,15 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.7", + "rustls 0.21.12", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -3620,33 +5369,43 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] name = "toml_datetime" -version = "0.5.1" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" [[package]] name = "toml_edit" -version = "0.18.1" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap", - "nom8", + "indexmap 2.2.6", "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow", ] [[package]] @@ -3718,7 +5477,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] @@ -3744,21 +5503,21 @@ dependencies = [ [[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" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uint" @@ -3774,30 +5533,30 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" @@ -3805,6 +5564,16 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "unreachable" version = "1.0.0" @@ -3814,23 +5583,51 @@ dependencies = [ "void", ] +[[package]] +name = "unsigned-varint" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" +dependencies = [ + "asynchronous-codec 0.6.2", + "bytes", +] + +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" + [[package]] name = "untrusted" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.5.0", "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.8.2" @@ -3843,9 +5640,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ "getrandom", ] @@ -3864,11 +5661,10 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -3880,9 +5676,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3890,24 +5686,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -3917,9 +5713,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3927,28 +5723,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.63", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -3960,38 +5756,34 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.2", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] name = "webpki-roots" -version = "0.25.2" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "which" -version = "5.0.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" dependencies = [ "either", "home", - "once_cell", - "rustix 0.38.28", - "windows-sys 0.48.0", + "rustix", + "winsafe", ] +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + [[package]] name = "winapi" version = "0.3.9" @@ -4008,15 +5800,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -4024,27 +5807,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +dependencies = [ + "windows-core 0.51.1", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows-targets 0.48.5", ] [[package]] -name = "windows-sys" -version = "0.45.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.42.1", + "windows-targets 0.52.5", ] [[package]] @@ -4062,22 +5849,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows-targets 0.52.5", ] [[package]] @@ -4097,25 +5869,20 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 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", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -4124,15 +5891,9 @@ 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.42.1" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -4142,15 +5903,9 @@ 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.42.1" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -4160,15 +5915,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" [[package]] -name = "windows_i686_msvc" -version = "0.42.1" +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -4178,15 +5933,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -4196,15 +5945,9 @@ 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.42.1" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -4214,27 +5957,30 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" +name = "winnow" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] [[package]] name = "winreg" @@ -4246,6 +5992,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "wyz" version = "0.5.1" @@ -4255,24 +6007,108 @@ dependencies = [ "tap", ] +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek", + "rand_core", + "serde", + "zeroize", +] + +[[package]] +name = "x509-parser" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" +dependencies = [ + "asn1-rs", + "data-encoding", + "der-parser", + "lazy_static", + "nom", + "oid-registry", + "rusticata-macros", + "thiserror", + "time", +] + +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "yamux" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot", + "pin-project", + "rand", + "static_assertions", +] + +[[package]] +name = "yamux" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f97202f6b125031b95d83e01dc57292b529384f80bfae4677e4bbc10178cf72" +dependencies = [ + "futures", + "instant", + "log", + "nohash-hasher", + "parking_lot", + "pin-project", + "rand", + "static_assertions", +] + +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time", +] + [[package]] name = "zerocopy" -version = "0.7.31" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.31" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.63", ] [[package]] @@ -4286,12 +6122,11 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", - "synstructure 0.12.6", + "syn 2.0.63", ] diff --git a/contract/Cargo.toml b/contract/Cargo.toml index b6dba3e..3fc6913 100644 --- a/contract/Cargo.toml +++ b/contract/Cargo.toml @@ -7,7 +7,7 @@ authors = ["sarahschwartz <58856580+sarahschwartz@users.noreply.github.com>"] license = "Apache-2.0" [dev-dependencies] -fuels = { version = "0.55.0", features = ["fuel-core-lib"] } +fuels = { version = "0.62.0", features = ["fuel-core-lib"] } tokio = { version = "1.12", features = ["rt", "macros"] } [[test]] diff --git a/contract/Forc.lock b/contract/Forc.lock index 85bcc4a..15c554f 100644 --- a/contract/Forc.lock +++ b/contract/Forc.lock @@ -5,9 +5,9 @@ dependencies = ["std"] [[package]] name = "core" -source = "path+from-root-B672DC9E3D340CD2" +source = "path+from-root-148AAAB4460F1A9D" [[package]] name = "std" -source = "git+https://github.com/fuellabs/sway?tag=v0.49.2#a70c746d27b3300beef896ccd1dcce1299836192" +source = "git+https://github.com/fuellabs/sway?tag=v0.59.0#d9985d8111f94235edba9a08fc71a9513ec2a95c" dependencies = ["core"] diff --git a/contract/src/abi_structs.sw b/contract/src/abi_structs.sw index 6ba7bbf..0ac4a62 100644 --- a/contract/src/abi_structs.sw +++ b/contract/src/abi_structs.sw @@ -1,12 +1,15 @@ library; -use std::{bytes::Bytes, hash::{Hash, Hasher},}; +use std::{bytes::Bytes, hash::{Hash, Hasher}}; abi GameContract { // initialize player, mint some coins #[storage(read, write)] fn new_player(); + // get asset ID + fn get_asset_id() -> AssetId; + // level up farming skill #[storage(read, write)] fn level_up(); @@ -18,13 +21,9 @@ abi GameContract { #[storage(read, write)] fn plant_seed_at_index(food_type: FoodType, index: u64); - // plant any amount of 1 type of seed - #[storage(read, write)] - fn plant_seeds(food_type: FoodType, amount: u64, indexes: Vec); - - // harvest all grown seeds + // harvest grown seeds at certain indexes #[storage(read, write)] - fn harvest(index: u64); + fn harvest(indexes: Vec); // sell a harvested item #[storage(read, write)] @@ -47,15 +46,11 @@ abi GameContract { #[storage(read)] fn can_harvest(index: u64) -> bool; - - //////// TEMP - #[storage(read, write)] - fn buy_seeds_free(food_type: FoodType, amount: u64); } pub struct Player { - farming_skill: u64, - total_value_sold: u64, + pub farming_skill: u64, + pub total_value_sold: u64, } impl Player { @@ -82,16 +77,15 @@ impl Hash for FoodType { fn hash(self, ref mut state: Hasher) { let mut bytes = Bytes::with_capacity(1); match self { - FoodType::Tomatoes => bytes - .push(0u8), + FoodType::Tomatoes => bytes.push(0u8), } state.write(bytes); } } pub struct Food { - name: FoodType, - time_planted: Option, + pub name: FoodType, + pub time_planted: Option, } impl Food { @@ -104,7 +98,7 @@ impl Food { } pub struct GardenVector { - inner: [Option; 10], + pub inner: [Option; 10], } impl GardenVector { @@ -367,3 +361,46 @@ impl GardenVector { }; } } + +//////////////////////////////////////// +// EVENT LOG STRUCTS +//////////////////////////////////////// + +pub struct NewPlayer { + pub address: Identity, +} + +pub struct LevelUp { + pub address: Identity, + pub player_info: Player, +} + +pub struct BuySeeds { + pub address: Identity, + pub food_type: FoodType, + pub amount_bought: u64, + pub cost: u64, + pub total_current_amount: u64, +} + +pub struct PlantSeed { + pub address: Identity, + pub food_type: FoodType, + pub index: u64, + pub timestamp: u64, +} + +pub struct Harvest { + pub address: Identity, + pub food_type: FoodType, + pub index: u64, + pub timestamp: u64, +} + +pub struct SellItem { + pub address: Identity, + pub food_type: FoodType, + pub amount_sold: u64, + pub value_sold: u64, + pub player_info: Player +} \ No newline at end of file diff --git a/contract/src/main.sw b/contract/src/main.sw index 24d2789..13ec176 100644 --- a/contract/src/main.sw +++ b/contract/src/main.sw @@ -5,20 +5,19 @@ mod abi_structs; use { abi_structs::*, std::{ + asset::{ + mint_to, + transfer, + }, auth::msg_sender, block::timestamp, call_frames::{ - contract_id, msg_asset_id, }, constants::DEFAULT_SUB_ID, context::msg_amount, hash::Hash, logging::log, - asset::{ - mint_to, - transfer, - }, }, }; @@ -62,6 +61,15 @@ impl GameContract for Contract { // each player gets some coins to start mint_to(sender, DEFAULT_SUB_ID, 1_000_000_000); + + // log that a new player has been created + log(NewPlayer { + address: sender, + }); + } + + fn get_asset_id() -> AssetId { + AssetId::default() } #[storage(read, write)] @@ -81,8 +89,16 @@ impl GameContract for Contract { // increase the player's skill level player.level_up_skill(); + let sender = msg_sender().unwrap(); + // overwrite storage with the updated player struct - storage.players.insert(msg_sender().unwrap(), player); + storage.players.insert(sender, player); + + // log the level up + log(LevelUp { + address: sender, + player_info: player, + }); } #[storage(read, write), payable] @@ -93,9 +109,6 @@ impl GameContract for Contract { InvalidError::IncorrectAssetId(asset_id), ); - // get the amount of coins sent - let message_amount = msg_amount(); - // set the price for each seed type let mut price = match food_type { FoodType::Tomatoes => 750_000, @@ -106,10 +119,7 @@ impl GameContract for Contract { let cost = amount * price; // require that the amount is at least the price of the item - require( - message_amount >= cost, - InvalidError::NotEnoughTokens(amount), - ); + require(msg_amount() >= cost, InvalidError::NotEnoughTokens(amount)); let sender = msg_sender().unwrap(); @@ -123,6 +133,14 @@ impl GameContract for Contract { storage .player_seeds .insert((sender, food_type), current_amount); + + log(BuySeeds { + address: sender, + food_type, + amount_bought: amount, + cost, + total_current_amount: current_amount, + }); } #[storage(read, write)] @@ -146,69 +164,55 @@ impl GameContract for Contract { vec.plant_at_index(food, index); storage.planted_seeds.insert(sender, vec); + + log(PlantSeed { + address: sender, + food_type, + index, + timestamp: timestamp(), + }); } #[storage(read, write)] - fn plant_seeds(food_type: FoodType, amount: u64, indexes: Vec) { - // make sure the indexes length is equal to the amount - require( - indexes - .len() == amount, - "amount is not equal to indexes length", - ); + fn harvest(indexes: Vec) { + // use this for testing + let time = 0; + // let one_min = 120; + // let time = one_min * 5; - // get the sender let sender = msg_sender().unwrap(); - // require player has this many seeds - let current_amount_option = storage.player_seeds.get((sender, food_type)).try_read(); - let current_amount = current_amount_option.unwrap_or(0); - require( - current_amount >= amount, - InvalidError::NotEnoughSeeds(amount), - ); - let new_amount = current_amount - amount; - // update amount from player_seeds - storage.player_seeds.insert((sender, food_type), new_amount); + let mut planted_seeds = storage.planted_seeds.get(sender).try_read().unwrap(); + let current_time = timestamp(); let mut count = 0; - - // add the amount of food structs to planted_seeds - let mut vec = GardenVector::new(); - while count < amount { - let food = Food::new(food_type, Some(timestamp())); + while count < indexes.len() { let index = indexes.get(count).unwrap(); - vec.plant_at_index(food, index); - count += 1; - } - storage.planted_seeds.insert(sender, vec); - } + let food = planted_seeds.inner[index].unwrap(); + let planted_time = food.time_planted.unwrap(); + let finish_time = planted_time + time; + // require X days to pass + require(current_time >= finish_time, "too early"); - #[storage(read, write)] - fn harvest(index: u64) { - let sender = msg_sender().unwrap(); - let mut planted_seeds = storage.planted_seeds.get(sender).try_read().unwrap(); - let food = planted_seeds.inner[index].unwrap(); - let current_time = timestamp(); - let planted_time = food.time_planted.unwrap(); + // remove from planted_seeds + planted_seeds.harvest_at_index(index); - // let one_min = 120; - // use this for testing - let time = 0; - // let time = one_min * 5; - let finish_time = planted_time + time; - // require X days to pass - require(current_time >= finish_time, "too early"); + // get current amount of items + let current_amount = storage.player_items.get((sender, food.name)).try_read().unwrap_or(0); - // remove from planted_seeds - planted_seeds.harvest_at_index(index); + // add to player_items + storage + .player_items + .insert((sender, food.name), current_amount + 1); + + log(Harvest { + address: sender, + food_type: food.name, + index, + timestamp: current_time, + }); + count += 1; + } storage.planted_seeds.insert(sender, planted_seeds); - - // get current amount of items - let current_amount = storage.player_items.get((sender, food.name)).try_read().unwrap_or(0); - // add to player_items - storage - .player_items - .insert((sender, food.name), current_amount + 1); } #[storage(read, write)] @@ -238,6 +242,14 @@ impl GameContract for Contract { // send tokens mint_to(sender, DEFAULT_SUB_ID, amount_to_mint); + + log(SellItem { + address: sender, + food_type, + amount_sold: amount, + value_sold: amount_to_mint, + player_info: player, + }); } #[storage(read)] @@ -307,19 +319,4 @@ impl GameContract for Contract { false } } - - #[storage(read, write)] - fn buy_seeds_free(food_type: FoodType, amount: u64) { - let sender = msg_sender().unwrap(); - - // check how many seeds the player currenly has - let mut current_amount = storage.player_seeds.get((sender, food_type)).try_read().unwrap_or(0); - // add the current amount to the amount they are buying - current_amount = current_amount + amount; - - // add seeds to inventory - storage - .player_seeds - .insert((sender, food_type), current_amount); - } } diff --git a/contract/tests/harness.rs b/contract/tests/harness.rs index 054cfe4..c340744 100644 --- a/contract/tests/harness.rs +++ b/contract/tests/harness.rs @@ -16,7 +16,7 @@ async fn get_contract_instance() -> ( WalletsConfig::new( Some(4), /* Four wallets */ Some(1), /* Single coin (UTXO) */ - Some(1_000_000_000), /* Amount per coin */ + Some(2_000_000_000), /* Amount per coin */ ), None, None, @@ -51,8 +51,8 @@ async fn can_play_game() { // create a new player with wallet 1 let new_player_rep = instance + .clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .new_player() .append_variable_outputs(1) @@ -62,8 +62,8 @@ async fn can_play_game() { // make sure wallet_1 can't make a new player again let new_player_err = instance + .clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .new_player() .append_variable_outputs(1) @@ -71,15 +71,6 @@ async fn can_play_game() { .await; assert!(new_player_err.is_err()); - // error handling example - // let err = new_player_err.unwrap_err(); - // let err_msg = match err { - // Error::RevertTransactionError(string, _receipts) => string, - // _ => String::from("not found") - // }; - // println!("ERROR: {:?}", err_msg.contains("player already exists")); - // println!("ERROR 2: {}", err_msg); - let contract_asset: AssetId = Bech32ContractId::asset_id(&id, &Bits256::zeroed()); // check that tokens were minted to wallet_1 @@ -87,6 +78,7 @@ async fn can_play_game() { assert_eq!(initial_balance, 1_000_000_000); let player = instance + .clone() .methods() .get_player(wallet_1_id.clone()) .simulate() @@ -99,14 +91,19 @@ async fn can_play_game() { let call_params = CallParameters::with_asset_id(CallParameters::default(), contract_asset) .with_amount(price * amount); + let tx_policies = TxPolicies::default() + .with_tip(1) + .with_script_gas_limit(1_000_000) + .with_maturity(0); + // buy 5 tomato seeds from wallet_1 - let buy_seeds_resp = instance + let buy_seeds_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .buy_seeds(FoodType::Tomatoes, amount) .call_params(call_params) .unwrap() + .with_tx_policies(tx_policies) .call() .await; assert!(buy_seeds_resp.is_ok()); @@ -114,7 +111,7 @@ async fn can_play_game() { let planted_balance = wallet_1.get_asset_balance(&contract_asset).await.unwrap(); assert_eq!(planted_balance, initial_balance - (amount * price)); - let seed_amount = instance + let seed_amount = instance.clone() .methods() .get_seed_amount(wallet_1_id.clone(), FoodType::Tomatoes) .simulate() @@ -125,17 +122,16 @@ async fn can_play_game() { let index_vec: Vec = [0, 1, 2, 3, 4].into(); // plant seeds from wallet_1 at the first 5 indexes - let plant_seeds_resp = instance + let plant_seeds_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() - .plant_seeds(FoodType::Tomatoes, amount, index_vec) + .plant_seeds(FoodType::Tomatoes, index_vec) .call() .await; assert!(plant_seeds_resp.is_ok()); // check how many seeds are planted - let garden_vec = instance + let garden_vec = instance.clone() .methods() .get_garden_vec(wallet_1_id.clone()) .simulate() @@ -148,19 +144,20 @@ async fn can_play_game() { assert!(garden_vec.value.inner[4].is_some()); assert!(garden_vec.value.inner[5].is_none()); + println!("GARDEN VEC:{:?}", garden_vec); + // harvest the first planted seed - let mut harvest_resp = instance + let mut harvest_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() - .harvest(0) + .harvest(vec![0]) .append_variable_outputs(1) .call() .await; assert!(harvest_resp.is_ok()); // check if the player has a harvested item - let item_amount = instance + let item_amount = instance.clone() .methods() .get_item_amount(wallet_1_id.clone(), FoodType::Tomatoes) .simulate() @@ -169,7 +166,7 @@ async fn can_play_game() { assert_eq!(item_amount.value, 1); // make sure the number of planted seeds decreased - let mut new_garden_vec = instance + let mut new_garden_vec = instance.clone() .methods() .get_garden_vec(wallet_1_id.clone()) .simulate() @@ -181,17 +178,16 @@ async fn can_play_game() { assert!(new_garden_vec.value.inner[3].is_some()); // harvest another one at index 3 - harvest_resp = instance + harvest_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() - .harvest(3) + .harvest(vec![3]) .append_variable_outputs(1) .call() .await; assert!(harvest_resp.is_ok()); - new_garden_vec = instance + new_garden_vec = instance.clone() .methods() .get_garden_vec(wallet_1_id.clone()) .simulate() @@ -203,9 +199,8 @@ async fn can_play_game() { assert!(new_garden_vec.value.inner[3].is_none()); // sell 2 harvested - let sell_resp = instance + let sell_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .sell_item(FoodType::Tomatoes, 2) .append_variable_outputs(1) @@ -213,7 +208,7 @@ async fn can_play_game() { .await; assert!(sell_resp.is_ok()); - let can_level_up = instance + let can_level_up = instance.clone() .methods() .can_level_up(wallet_1_id.clone()) .simulate() @@ -221,16 +216,15 @@ async fn can_play_game() { .unwrap(); assert_eq!(can_level_up.value, true); - let level_up_rep = instance + let level_up_rep = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .level_up() .call() .await; assert!(level_up_rep.is_ok()); - let player_resp = instance + let player_resp = instance.clone() .methods() .get_player(wallet_1_id.clone()) .simulate() @@ -247,32 +241,14 @@ async fn can_play_game() { let new_call_params = CallParameters::with_asset_id(CallParameters::default(), contract_asset).with_amount(price); - let buy_seeds_again_resp = instance + let buy_seeds_again_resp = instance.clone() .with_account(wallet_1.clone()) - .unwrap() .methods() .buy_seeds(FoodType::Tomatoes, 1) .call_params(new_call_params) .unwrap() + .with_tx_policies(tx_policies) .call() .await; assert!(buy_seeds_again_resp.is_ok()); - - // test plant seeds at index - let plant_seeds_at_index_resp = instance - .with_account(wallet_1.clone()) - .unwrap() - .methods() - .plant_seed_at_index(FoodType::Tomatoes, 7) - .call() - .await; - assert!(plant_seeds_at_index_resp.is_ok()); - - new_garden_vec = instance - .methods() - .get_garden_vec(wallet_1_id.clone()) - .simulate() - .await - .unwrap(); - assert!(new_garden_vec.value.inner[7].is_some()); } diff --git a/frontend/.eslintignore b/frontend/.eslintignore index 2f0140f..0803e4d 100644 --- a/frontend/.eslintignore +++ b/frontend/.eslintignore @@ -1,3 +1,4 @@ node_modules *.html -src/sway-api \ No newline at end of file +**/src/sway-api/** +**/src/sway-api/**/** \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore index 4d29575..b00e8a5 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -17,6 +17,7 @@ .env.development.local .env.test.local .env.production.local +.fuels npm-debug.log* yarn-debug.log* diff --git a/frontend/.prettierignore b/frontend/.prettierignore index 1cd4bfb..1c63420 100644 --- a/frontend/.prettierignore +++ b/frontend/.prettierignore @@ -1,3 +1,5 @@ .github node_modules -package-lock.json \ No newline at end of file +package-lock.json +**/src/sway-api/** +**/src/sway-api/**/** \ No newline at end of file diff --git a/frontend/chainConfig.json b/frontend/chainConfig.json new file mode 100644 index 0000000..fcaba14 --- /dev/null +++ b/frontend/chainConfig.json @@ -0,0 +1,525 @@ +{ + "chain_name": "local_testnet", + "block_gas_limit": 5000000000, + "initial_state": { + "coins": [ + { + "owner": "0xce9f8d9367fc4671c0ececce7ab603f6f75d1e66082a82ad12ecdc219b308820", + "amount": "0x00000000FFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xce9f8d9367fc4671c0ececce7ab603f6f75d1e66082a82ad12ecdc219b308820", + "amount": "0x00000000FFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + }, + { + "owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82", + "amount": "0xFFFFFFFFFFFFFFFF", + "asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202" + } + ], + "messages": [ + { + "sender": "0xc43454aa38dd91f88109a4b7aef5efb96ce34e3f24992fe0f81d233ca686f80f", + "recipient": "0x69a2b736b60159b43bb8a4f98c0589f6da5fa3a3d101e8e269c499eb942753ba", + "nonce": "0101010101010101010101010101010101010101010101010101010101010101", + "amount": "0x000000000000FFFF", + "data": "", + "da_height": "0x00" + }, + { + "sender": "0x69a2b736b60159b43bb8a4f98c0589f6da5fa3a3d101e8e269c499eb942753ba", + "recipient": "0xc43454aa38dd91f88109a4b7aef5efb96ce34e3f24992fe0f81d233ca686f80f", + "nonce": "0e1ef2963832068b0e1ef2963832068b0e1ef2963832068b0e1ef2963832068b", + "amount": "0xb04f3c08f59b309e", + "data": "", + "da_height": "0x00" + } + ] + }, + "consensus_parameters": { + "tx_params": { + "max_inputs": 255, + "max_outputs": 255, + "max_witnesses": 255, + "max_gas_per_tx": 30000000, + "max_size": 17825792 + }, + "predicate_params": { + "max_predicate_length": 1048576, + "max_predicate_data_length": 1048576, + "max_gas_per_predicate": 10000000, + "max_message_data_length": 1048576 + }, + "script_params": { + "max_script_length": 1048576, + "max_script_data_length": 1048576 + }, + "contract_params": { + "contract_max_size": 16777216, + "max_storage_slots": 255 + }, + "fee_params": { + "gas_price_factor": 92, + "gas_per_byte": 4 + } + }, + "gas_costs": { + "add": 1, + "addi": 1, + "aloc": 1, + "and": 1, + "andi": 1, + "bal": 13, + "bhei": 1, + "bhsh": 1, + "burn": 132, + "cb": 1, + "cfei": 1, + "cfsi": 1, + "croo": 16, + "div": 1, + "divi": 1, + "ecr1": 3000, + "eck1": 951, + "ed19": 3000, + "eq": 1, + "exp": 1, + "expi": 1, + "flag": 1, + "gm": 1, + "gt": 1, + "gtf": 1, + "ji": 1, + "jmp": 1, + "jne": 1, + "jnei": 1, + "jnzi": 1, + "jmpf": 1, + "jmpb": 1, + "jnzf": 1, + "jnzb": 1, + "jnef": 1, + "jneb": 1, + "lb": 1, + "log": 9, + "lt": 1, + "lw": 1, + "mint": 135, + "mlog": 1, + "modOp": 1, + "modi": 1, + "moveOp": 1, + "movi": 1, + "mroo": 2, + "mul": 1, + "muli": 1, + "mldv": 1, + "noop": 1, + "not": 1, + "or": 1, + "ori": 1, + "poph": 2, + "popl": 2, + "pshh": 2, + "pshl": 2, + "ret": 13, + "rvrt": 13, + "sb": 1, + "sll": 1, + "slli": 1, + "srl": 1, + "srli": 1, + "srw": 12, + "sub": 1, + "subi": 1, + "sw": 1, + "sww": 67, + "time": 1, + "tr": 105, + "tro": 60, + "wdcm": 1, + "wqcm": 1, + "wdop": 1, + "wqop": 1, + "wdml": 1, + "wqml": 1, + "wddv": 1, + "wqdv": 2, + "wdmd": 3, + "wqmd": 4, + "wdam": 2, + "wqam": 3, + "wdmm": 3, + "wqmm": 3, + "xor": 1, + "xori": 1, + "call": { + "LightOperation": { + "base": 144, + "units_per_gas": 214 + } + }, + "ccp": { + "LightOperation": { + "base": 15, + "units_per_gas": 103 + } + }, + "csiz": { + "LightOperation": { + "base": 17, + "units_per_gas": 790 + } + }, + "k256": { + "LightOperation": { + "base": 11, + "units_per_gas": 214 + } + }, + "ldc": { + "LightOperation": { + "base": 15, + "units_per_gas": 272 + } + }, + "logd": { + "LightOperation": { + "base": 26, + "units_per_gas": 64 + } + }, + "mcl": { + "LightOperation": { + "base": 1, + "units_per_gas": 3333 + } + }, + "mcli": { + "LightOperation": { + "base": 1, + "units_per_gas": 3333 + } + }, + "mcp": { + "LightOperation": { + "base": 1, + "units_per_gas": 2000 + } + }, + "mcpi": { + "LightOperation": { + "base": 3, + "units_per_gas": 2000 + } + }, + "meq": { + "LightOperation": { + "base": 1, + "units_per_gas": 2500 + } + }, + "retd": { + "LightOperation": { + "base": 29, + "units_per_gas": 62 + } + }, + "s256": { + "LightOperation": { + "base": 2, + "units_per_gas": 214 + } + }, + "scwq": { + "LightOperation": { + "base": 13, + "units_per_gas": 5 + } + }, + "smo": { + "LightOperation": { + "base": 209, + "units_per_gas": 55 + } + }, + "srwq": { + "LightOperation": { + "base": 47, + "units_per_gas": 5 + } + }, + "swwq": { + "LightOperation": { + "base": 44, + "units_per_gas": 5 + } + }, + "contract_root": { + "LightOperation": { + "base": 75, + "units_per_gas": 1 + } + }, + "state_root": { + "LightOperation": { + "base": 412, + "units_per_gas": 1 + } + }, + "vm_initialization": { + "HeavyOperation": { + "base": 2000, + "gas_per_unit": 0 + } + }, + "new_storage_per_byte": 1 + }, + "consensus": { + "PoA": { + "signing_key": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d" + } + } +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ffedeb9..f730aab 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -10,12 +10,13 @@ "dependencies": { "@fuel-ui/css": "^0.12.4", "@fuel-ui/react": "^0.12.4", - "@fuel-wallet/react": "^0.15.2", - "@fuel-wallet/sdk": "^0.15.2", + "@fuels/connectors": "^0.2.2", "@fuels/eslint-plugin": "^0.1.4", "@fuels/prettier-config": "^0.1.4", + "@fuels/react": "^0.18.1", "@react-three/drei": "^9.97.0", "@react-three/fiber": "^8.15.16", + "@tanstack/react-query": "^5.36.2", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", @@ -24,7 +25,7 @@ "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", "@vercel/analytics": "^1.0.0", - "fuels": "^0.73.0", + "fuels": "^0.88.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", @@ -49,11 +50,6 @@ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==" }, - "node_modules/@adraffy/ens-normalize": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" - }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -2050,15 +2046,6 @@ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "peer": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", @@ -2853,16 +2840,16 @@ } }, "node_modules/@fuel-ts/abi-coder": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/abi-coder/-/abi-coder-0.73.0.tgz", - "integrity": "sha512-whuX9mqhYKOiP0iyNYUrL5Onn6Lk21PmctyGMYh+rK4sU8yAIBDN8ubQcDmwq1YoYkpJR2UzANXwBXud33KDWQ==", - "dependencies": { - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "ethers": "^6.7.1", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/abi-coder/-/abi-coder-0.88.0.tgz", + "integrity": "sha512-pSJlfN4WvjjW1/061fTPPxHk61NvdDOotP1wBk7BSt06igrRlbCJrNJrYxdq3vVER6pEKW6QslNENFykV9pn9A==", + "dependencies": { + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/hasher": "^0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/utils": "0.88.0", "type-fest": "^3.1.0" }, "engines": { @@ -2881,15 +2868,15 @@ } }, "node_modules/@fuel-ts/abi-typegen": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/abi-typegen/-/abi-typegen-0.73.0.tgz", - "integrity": "sha512-m/k7wYsQ3kll46O1WMGT8+KrpU0QSmJBrck56RyvBxCBrC3wX55VV94uwUM/ytQJ75Y8skAC0HQdW7DBISF7SQ==", - "dependencies": { - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/abi-typegen/-/abi-typegen-0.88.0.tgz", + "integrity": "sha512-IQG2VHYj+GRWnV5X876iqCOFa9aaUYN8ipReBP8EyQ3GVmaOKVdQf5YtViYXLzmOeaD+jjzk1hJ+FqzKUEW+tA==", + "dependencies": { + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "^0.88.0", + "@fuel-ts/utils": "0.88.0", + "@fuel-ts/versions": "0.88.0", "commander": "^9.4.1", - "ethers": "^6.7.1", "glob": "^10.2.6", "handlebars": "^4.7.7", "mkdirp": "^1.0.4", @@ -2920,30 +2907,30 @@ } }, "node_modules/@fuel-ts/abi-typegen/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", + "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.11.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@fuel-ts/abi-typegen/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2965,72 +2952,103 @@ "node": ">=10" } }, + "node_modules/@fuel-ts/account": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/account/-/account-0.88.0.tgz", + "integrity": "sha512-xn+azWBOPV8eP1wpZsVlcOg2ITiWDk4S6B3tFc2bYjk+CfB1h85D3T6/4tbLHCnWDSAFGqQDk6rIrANLJf+wpg==", + "dependencies": { + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/address": "0.88.0", + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/hasher": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/merkle": "0.88.0", + "@fuel-ts/transactions": "0.88.0", + "@fuel-ts/utils": "0.88.0", + "@fuel-ts/versions": "0.88.0", + "@fuels/vm-asm": "0.49.0", + "@noble/curves": "^1.3.0", + "events": "^3.3.0", + "graphql": "^16.8.1", + "graphql-request": "5.0.0", + "graphql-tag": "^2.12.6", + "portfinder": "^1.0.32", + "ramda": "^0.29.0", + "tree-kill": "^1.2.2", + "uuid": "^9.0.0" + }, + "engines": { + "node": "^18.18.2 || ^20.0.0" + } + }, "node_modules/@fuel-ts/address": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/address/-/address-0.73.0.tgz", - "integrity": "sha512-uGLvXlua6mQua3CGpCANdiSRb1SY3BoVIyfac1hIA5bT5fKgnjxtfhqSeAvPR5cLCurBvOKXqW38n+c1F9Xjxg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/address/-/address-0.88.0.tgz", + "integrity": "sha512-+OYIGxBcpVrLDnQwT4jGi2k7Zy+SaPoBy47OCTV6BeUUL7f3pG1kAb8v4yFiN3Q8pUzFsrHndhcAfUA6fjyFHQ==", "dependencies": { - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "bech32": "^2.0.0", - "ethers": "^6.7.1" + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/utils": "^0.88.0", + "@noble/hashes": "^1.3.3", + "bech32": "^2.0.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/contract": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/contract/-/contract-0.73.0.tgz", - "integrity": "sha512-IveZAYEvHvssWbST2mqv6BlOvmAMea8im+JIAgl+XICj/Q5KAf6e0Mn/JQv/7fHq4UqUonk3Kb2Ye/1tHjwHqw==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/merkle": "0.73.0", - "@fuel-ts/program": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "ethers": "^6.7.1" + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/contract/-/contract-0.88.0.tgz", + "integrity": "sha512-Z2BGH0c7tD2T1BLiabjeC9c4Fr6n7zybEPg4yWpuSyzVPy4Zmi1Wc6k4f9XvD5yU6GQAMNpINGGdH7cKtHhpwQ==", + "dependencies": { + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/account": "0.88.0", + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/hasher": "0.88.0", + "@fuel-ts/interfaces": "^0.88.0", + "@fuel-ts/merkle": "0.88.0", + "@fuel-ts/program": "0.88.0", + "@fuel-ts/transactions": "0.88.0", + "@fuel-ts/utils": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/crypto": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/crypto/-/crypto-0.73.0.tgz", - "integrity": "sha512-nkQBkcQthAsRW1agvAXgeOJ0c4DyElt2v993bjYGJX8Av8vRmc8q/LRqzRTXhqfDAEUDQ84JQibWtc+Ywwj25Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/crypto/-/crypto-0.88.0.tgz", + "integrity": "sha512-LOd9+x5NX8eKccOhEc/diWeHMOd0/3lQsSsgvHt338KFl11u1ruGB5STmB40qbTEM5frxiow+LxtWY1+8bZFrg==", "dependencies": { - "@fuel-ts/errors": "0.73.0", - "ethereum-cryptography": "^2.1.2", - "ethers": "^6.7.1" + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/utils": "^0.88.0", + "@noble/hashes": "^1.3.3" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/errors": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/errors/-/errors-0.73.0.tgz", - "integrity": "sha512-Uqe+hFVut4TZgrUsS+KzeXgDl3dADqqTS4eVoKUbG9ML9CTMaG9P2V/qYOTjJOOx+QX3xx72E7AR/oSwUEBWLA==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/errors/-/errors-0.88.0.tgz", + "integrity": "sha512-ZO8s4cebvQRQCqkQwFrDZw0icQj2Nt/w+tpdpPwjwa8PnMS2kKJ8L+m9YoCFNHZ2Ec287LPboVsa/KrMQ18ixw==", "dependencies": { - "@fuel-ts/versions": "0.73.0" + "@fuel-ts/versions": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/forc": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/forc/-/forc-0.73.0.tgz", - "integrity": "sha512-Dpli/ch7axvJ2nptzVnYgpQQHUM4NwuSXkIRrhEKdcSGy6q1kClngL5NaeenUHLzsQfZPrMJ69fExF6BpOHNhg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/forc/-/forc-0.88.0.tgz", + "integrity": "sha512-dqLIvoAvfH+jhzy5qDQHlGQjG3LQBE7gZzqP09FXb9ft01vdQsWTt4FnwcXnxW5siUCsAr/+MVrm7GDcY2FLyQ==", "hasInstallScript": true, "dependencies": { "node-fetch": "^2.6.7" @@ -3040,9 +3058,9 @@ } }, "node_modules/@fuel-ts/fuel-core": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/fuel-core/-/fuel-core-0.73.0.tgz", - "integrity": "sha512-+c1678UfBhfz8atxZEgBJfxKY7OXtlcIqQzZOft6mSiyu81Lc6C3WfQY/EJqMG/mEKCmZpNHHrpA3sU72sO+7Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/fuel-core/-/fuel-core-0.88.0.tgz", + "integrity": "sha512-Bb9EmaZiRXlGA6byRB95236RTvG4JM4HRJrndnuyJ9tZJBD6DNn1U1PtamQyQ1nWz8CDIP1BKYGGSDYEo2DRTA==", "hasInstallScript": true, "dependencies": { "node-fetch": "^2.7.0" @@ -3052,50 +3070,33 @@ } }, "node_modules/@fuel-ts/hasher": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/hasher/-/hasher-0.73.0.tgz", - "integrity": "sha512-1tN+J0pBBLPpbneDqQTqWH6kYrsJ24i9F9rDBUf6iDXHiyCD1QKVL2MXtVdRUZ/0zBkxNxdOoUjdDKfsrMWL5g==", - "dependencies": { - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "ethers": "^6.7.1", - "ramda": "^0.29.0" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/hdwallet": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/hdwallet/-/hdwallet-0.73.0.tgz", - "integrity": "sha512-8ncYkrgQBQO6FoSQSgsa/r+HdUuTbeHAiMG10AMAvLBwzrTtyp7tlwr1KBDmrBEQQn95CSa1pd1drd/7f2F7MA==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/hasher/-/hasher-0.88.0.tgz", + "integrity": "sha512-8/u+GIF5djKYlXfqShQ9+EAlAI5+RvwbvgTqMJuRmHmMjATfX4M40bQ9KQizZUC0YLvJX0sRAKbNXYdxSSvv1Q==", "dependencies": { - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/mnemonic": "0.73.0", - "@fuel-ts/signer": "0.73.0", - "ethers": "^6.7.1" + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/interfaces": "^0.88.0", + "@fuel-ts/utils": "0.88.0", + "@noble/hashes": "^1.3.3" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/interfaces": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/interfaces/-/interfaces-0.73.0.tgz", - "integrity": "sha512-/YwdWf1nlBX6XcSkNsk3fxkISlUMCHPh3R+CKLl8Bvq63erOr60KCz0ULeoqXpD/HsGTdJUiNGAv8Sv3eqrpTw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/interfaces/-/interfaces-0.88.0.tgz", + "integrity": "sha512-+WjIcbQ3yzl/URcE5UUPiZPgwgc3N912KR0tu+JgRiONLyM20CB5itYnvkE8GOOkWdvWno4tEIwsXQ8Pue+TOA==", "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/math": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/math/-/math-0.73.0.tgz", - "integrity": "sha512-eyXOSa0zxy7J1ArfAelOVPsuiziAqqzyLogwW/1TuQO4Q5WYyJfhFPsYf7CnpzrOd4fSQggeGBMdzheu5j/Bhw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/math/-/math-0.88.0.tgz", + "integrity": "sha512-o1MlUP/eRzWNLFmpwVF50yQz2q5A88SvF8YDNAM6D8iaknky7Iy/IW780BW/Rtr2K7DE1WsSmGrI1GHS1WwIRA==", "dependencies": { - "@fuel-ts/errors": "0.73.0", + "@fuel-ts/errors": "0.88.0", "@types/bn.js": "^5.1.1", "bn.js": "^5.2.1" }, @@ -3104,173 +3105,90 @@ } }, "node_modules/@fuel-ts/merkle": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/merkle/-/merkle-0.73.0.tgz", - "integrity": "sha512-FStpyuBuFlTgInBBhnmFuLW8yvgz/grBmh3k+tE7ph9QG6zUH5iTlnu4hd26xCYMprqyjx2VOfOCIXI5B2PjPQ==", - "dependencies": { - "@fuel-ts/math": "0.73.0", - "ethers": "^6.7.1" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/mnemonic": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/mnemonic/-/mnemonic-0.73.0.tgz", - "integrity": "sha512-IsECe6WOvbfXWYx/SMbhzb4pmUPxfB174sSmk1H8z+mn3/QCAuEE6ld6qWnmh1OE0ZrUKD84FflcS20VsBFmWg==", - "dependencies": { - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/wordlists": "0.73.0", - "ethers": "^6.7.1" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/predicate": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/predicate/-/predicate-0.73.0.tgz", - "integrity": "sha512-CRqhXIsjp/XAPs4Lx7qnELAz8jbPEe3CDoo5bzUBO2ZsDU6ADeOavmpuyYwkP8/QqvGSCZ4W3u7rMcTILxjE5w==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/merkle/-/merkle-0.88.0.tgz", + "integrity": "sha512-2yW3b+35RwaZqcb/x0YXJwSzCg9VhBJyJPVAEt7oezqRTFQt4VEeLBiaBm7xHeHN10i3JC4HWyXsRNwvXlW4PQ==", "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/hasher": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/merkle": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "ethers": "^6.7.1" + "@fuel-ts/hasher": "^0.88.0", + "@fuel-ts/math": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/program": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/program/-/program-0.73.0.tgz", - "integrity": "sha512-1SzQu1PfFDEuoF49CqCjzWY0XA+paVIIqTJWx2fzjJTC1vNI75kNDmueU2GxPNi6LiXPHeow/5bAiO7SnMrQRQ==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/hasher": "^0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "@fuels/vm-asm": "0.42.1", - "ethers": "^6.7.1" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/providers": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/providers/-/providers-0.73.0.tgz", - "integrity": "sha512-81NWYrCG4AuNmXbVxBn3jgI1Ed6hiJWOGbN8Cu7SKenDg8MSlfqDkZylNCKx+vAOSdtPki2nyzSRWLSCca3+rw==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/hasher": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "ethers": "^6.7.1", - "graphql": "^16.6.0", - "graphql-request": "5.0.0", - "graphql-tag": "^2.12.6", - "ramda": "^0.29.0", - "tai64": "^1.0.0" + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/program/-/program-0.88.0.tgz", + "integrity": "sha512-KaiiBauzHRqh2NoOUL40KyDwhs84FosiRGoZRIToe3zKNS5xRSAnTCWfLp+PLq495NDYN8RzTIMa01mSV42wIw==", + "dependencies": { + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/account": "0.88.0", + "@fuel-ts/address": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/transactions": "0.88.0", + "@fuel-ts/utils": "0.88.0", + "@fuels/vm-asm": "0.49.0", + "ramda": "^0.29.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/script": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/script/-/script-0.73.0.tgz", - "integrity": "sha512-m9pn1IMwZB3OGuK4tTUdmnNUi3gtvC4nYIYbymO8rGhY/ZdH0SCnlCrIkmm/urYzNqcZMwGkmqN9Vb7iPF/sPw==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/abi-typegen": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/program": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "ethers": "^6.7.1" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/signer": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/signer/-/signer-0.73.0.tgz", - "integrity": "sha512-VCEgNg1FtrN8iSXkPpM5xtdYiKQ92VX+s82nfFS0mnFyk0urlmd/Xk4O4rjK9uvC5+nyAY587ysHFGca8qvS0Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/script/-/script-0.88.0.tgz", + "integrity": "sha512-7BEdVTVaaYBjZdTXn8jv9v8lCwSx41QREwhxg8YLwln6kNb35ANdZa23LLkzWg9yXDEJ9g2e90ix5sXGjWkF+g==", "dependencies": { - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/hasher": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@noble/curves": "^1.3.0", - "ethers": "^6.7.1" + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/account": "0.88.0", + "@fuel-ts/address": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/program": "0.88.0", + "@fuel-ts/transactions": "0.88.0", + "@fuel-ts/utils": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/transactions": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/transactions/-/transactions-0.73.0.tgz", - "integrity": "sha512-E+M9YJRXSiIr3FAJXakb5EKN6drAvz9I8wlWld707uvJ8TS1tpIW9rzvCXCYH7fmcFr7CaNgdyFUvKrvX55r2Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/transactions/-/transactions-0.88.0.tgz", + "integrity": "sha512-i2HEEVkrRX3iFQ3SnRdeYJ6lQYT+6F+D2KYDgYOyxcy70uE4DlYAoN5vcDzXb+8FKrY6jUAUo/StPtf/tTan1Q==", "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "ethers": "^6.7.1" + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/address": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/hasher": "^0.88.0", + "@fuel-ts/interfaces": "^0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/utils": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/utils": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/utils/-/utils-0.73.0.tgz", - "integrity": "sha512-wY0oQqo3US4WWx3A2eDb0KBJerP9euoVMgp+FYNFSgWMuHZgm0sX5Oz2pJEKR9K0xFnXyomHUdIHGGvvi8v29w==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/utils/-/utils-0.88.0.tgz", + "integrity": "sha512-2P9KpVUh8g7ToOGbvMJ8E7Ow9YUUYXkfvYF2NOuFGaWBHGOdszMobSo6FzDmX9wG/nKHhPa8/QJVLUCWZdQSLg==", "dependencies": { - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "ramda": "^0.29.0", - "rimraf": "^3.0.2" + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0" }, "engines": { "node": "^18.18.2 || ^20.0.0" } }, "node_modules/@fuel-ts/versions": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/versions/-/versions-0.73.0.tgz", - "integrity": "sha512-llc1gwmSOk+ymEx+PnaTinTDa1nhTUQg0p8vqatPCre4uTCmRoMz5aNI2aYt4RzjWgiCvXpewu0n/PDpxQ1OWg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@fuel-ts/versions/-/versions-0.88.0.tgz", + "integrity": "sha512-atrsZKODWg2hoeEoJ0cbYwBFsuYJuGoqiq5+GlKpzn2yapH4MFsGXG8+OTE5s5dlZGwQ+QFdTi+oJnN81cPghw==", "dependencies": { "chalk": "4", "cli-table": "^0.3.11" @@ -3346,61 +3264,6 @@ "node": ">=8" } }, - "node_modules/@fuel-ts/wallet": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/wallet/-/wallet-0.73.0.tgz", - "integrity": "sha512-nzAfNN+y13Xm4o0tx6K9h5Vu60iAyCixqp1s5FMtol5gnwUbruH1KT25jIVD2ipVl2qGVktrtYROm75n6YijOg==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/fuel-core": "0.73.0", - "@fuel-ts/hasher": "0.73.0", - "@fuel-ts/hdwallet": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/mnemonic": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/signer": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuels/vm-asm": "0.42.1", - "ethers": "^6.7.1", - "portfinder": "^1.0.32", - "tree-kill": "^1.2.2", - "uuid": "^9.0.0" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/wallet-manager": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/wallet-manager/-/wallet-manager-0.73.0.tgz", - "integrity": "sha512-VNgawSQX2KPsimkqZqWZhfeljXuBrMJpkIEY1rLGAm7z4ex/pNd2K6wmCCDhqm35mHFFTx1gxMdFCTAl+5W08g==", - "dependencies": { - "@fuel-ts/address": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/mnemonic": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "events": "^3.3.0" - }, - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, - "node_modules/@fuel-ts/wordlists": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@fuel-ts/wordlists/-/wordlists-0.73.0.tgz", - "integrity": "sha512-Fd1jiLw7Sm0v6EqqVOEuXXYcQStDGMe/LyIf/9K7nrZbC6siVfw1FktBANnd39/uaQ0GHM4NZRXOO58LEf7nzg==", - "engines": { - "node": "^18.18.2 || ^20.0.0" - } - }, "node_modules/@fuel-ui/css": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/@fuel-ui/css/-/css-0.12.4.tgz", @@ -5179,749 +5042,726 @@ "node": ">=12" } }, - "node_modules/@fuel-wallet/react": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@fuel-wallet/react/-/react-0.15.2.tgz", - "integrity": "sha512-cJPidiRSSZM2jV4bHgvQl7EOTnNde7Lx7+49Hxs7hr53eleS5Otd8yY3grgWDWL0D4wiSLZkrUM+U2SH9ScENg==", - "dependencies": { - "@radix-ui/react-dialog": "^1.0.5", - "@tanstack/react-query": "^4.36.1", - "events": "^3.3.0" - }, + "node_modules/@fuels/connectors": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fuels/connectors/-/connectors-0.2.2.tgz", + "integrity": "sha512-TbyJjK3GgyeF6ERZyoh8GfECAVBoI69w4Ee/Osw2Q1zzGIY5/oWwPJxCUzOzd+47eIRWlvtItl1mvkyDyn3aVA==", "peerDependencies": { - "fuels": ">=0.73.0", - "react": "^18.2.0" + "fuels": ">=0.78.0" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "node_modules/@fuels/eslint-plugin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@fuels/eslint-plugin/-/eslint-plugin-0.1.4.tgz", + "integrity": "sha512-ND6B9kIdrEORH5f88PAnlPQzYPt0Cb+TZx56rIZFeLmpq0AEEYDNKjpub95LTXFekI13UIqlMTHSYtRcrbbYkg==", "dependencies": { - "@babel/runtime": "^7.13.10" + "@next/eslint-plugin-next": "^13.4.19", + "@typescript-eslint/eslint-plugin": "^6.6.0", + "@typescript-eslint/parser": "^6.6.0", + "eslint": "^8.48.0", + "eslint-config-prettier": "^9.0.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-import-resolver-typescript": "^3.6.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jest-dom": "^5.1.0", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^6.0.1", + "prettier": "^3.0.3" + }, + "peerDependencies": { + "eslint": "^8.48.0" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", + "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dependencies": { - "@babel/runtime": "^7.13.10" + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/type-utils": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "@types/react": { + "typescript": { "optional": true } } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/parser": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", + "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dependencies": { - "@babel/runtime": "^7.13.10" + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "@types/react": { + "typescript": { "optional": true } } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-dialog": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", - "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.1", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^16.0.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", + "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "typescript": { "optional": true } } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", + "engines": { + "node": "^16.0.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "typescript": { "optional": true } } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", + "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "semver": "^7.5.4" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^16.0.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-presence": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", - "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@typescript-eslint/types": "6.20.0", + "eslint-visitor-keys": "^3.4.1" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^16.0.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "node_modules/@fuels/eslint-plugin/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "balanced-match": "^1.0.0" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.0.tgz", + "integrity": "sha512-+LCYJU81WF2yQ+Xu4A135CgK8IszcFcyMF4sWkbiu6Oj+Nel0TrkZq/HvDw0/1WuO3dhDQsZA/OpEMGd0NfcUw==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" + "@typescript-eslint/utils": "^5.58.0" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { - "@babel/runtime": "^7.13.10" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { - "@types/react": { + "typescript": { "optional": true } } }, - "node_modules/@fuel-wallet/react/node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dependencies": { - "@babel/runtime": "^7.13.10" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@fuel-wallet/sdk": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@fuel-wallet/sdk/-/sdk-0.15.2.tgz", - "integrity": "sha512-hUrCNpWqso968h8oExhVCWp8lOgAR0ZA1dkv7/bOYT+HEpWebl90GjJ2q2xx6+ijq4WrRJi8fIDVgnB7+LD+mw==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dependencies": { - "@fuel-wallet/types": "0.15.2", - "events": "^3.3.0", - "json-rpc-2.0": "^1.6.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, - "peerDependencies": { - "fuels": ">=0.73.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@fuel-wallet/types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@fuel-wallet/types/-/types-0.15.2.tgz", - "integrity": "sha512-RQCIImIItQiAjUrSWjpOp2t9o6YUlSyxakpSlX+myTBM7TjIWXFjZDSFthcLKhQdECMYIf7hZyRf7d0o2AJ6dQ==", + "node_modules/@fuels/eslint-plugin/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "@fuels/assets": "^0.1.1", - "dexie-observable": "4.0.1-beta.13", - "json-rpc-2.0": "^1.6.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, - "peerDependencies": { - "fuels": ">=0.73.0" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@fuels/assets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@fuels/assets/-/assets-0.1.5.tgz", - "integrity": "sha512-3rFZdY2f5/h7e2Rlhv/+WKz1CVsTnydKoxLdVjQfUaNsj7zbMLSfT37bsBSB42AnXKOlPs/vyMbS77LxhN8a2A==" + "node_modules/@fuels/eslint-plugin/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } }, - "node_modules/@fuels/eslint-plugin": { + "node_modules/@fuels/eslint-plugin/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@fuels/prettier-config": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@fuels/eslint-plugin/-/eslint-plugin-0.1.4.tgz", - "integrity": "sha512-ND6B9kIdrEORH5f88PAnlPQzYPt0Cb+TZx56rIZFeLmpq0AEEYDNKjpub95LTXFekI13UIqlMTHSYtRcrbbYkg==", + "resolved": "https://registry.npmjs.org/@fuels/prettier-config/-/prettier-config-0.1.4.tgz", + "integrity": "sha512-1jh3/v2fWbMlBp2ImzYTQhzRdy23ToAGowH6/cWDN4Y7kGoOkmhjfoPKDmBDUGYjqDhi0HpwVRt5u5E5/npzGg==", "dependencies": { - "@next/eslint-plugin-next": "^13.4.19", - "@typescript-eslint/eslint-plugin": "^6.6.0", - "@typescript-eslint/parser": "^6.6.0", - "eslint": "^8.48.0", - "eslint-config-prettier": "^9.0.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-import-resolver-typescript": "^3.6.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jest-dom": "^5.1.0", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^6.0.1", "prettier": "^3.0.3" }, "peerDependencies": { - "eslint": "^8.48.0" + "prettier": "^3.0.3" } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", - "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", + "node_modules/@fuels/react": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@fuels/react/-/react-0.18.1.tgz", + "integrity": "sha512-Hduy5GcHcY7I112JjPOVYu/4xGMKuMNqD/YO0c2D401RAA9nlh6G14yMFNZ3G/LJx4gJ/Ayx7rlVRh1z43cP/A==", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/type-utils": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@radix-ui/react-dialog": "^1.0.5", + "events": "^3.3.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@tanstack/react-query": ">=5.0.0", + "fuels": ">=0.74.0", + "react": "^18.2.0" + } + }, + "node_modules/@fuels/react/node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@fuels/react/node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, "peerDependenciesMeta": { - "typescript": { + "@types/react": { "optional": true } } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/parser": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", - "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", "dependencies": { - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@babel/runtime": "^7.13.10" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, "peerDependenciesMeta": { - "typescript": { + "@types/react": { "optional": true } } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", - "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", - "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", "dependencies": { - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, "peerDependenciesMeta": { - "typescript": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { "optional": true } } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", - "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", - "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@babel/runtime": "^7.13.10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, "peerDependenciesMeta": { - "typescript": { + "@types/react": { "optional": true } } }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", - "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@fuels/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", - "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", - "dependencies": { - "@typescript-eslint/types": "6.20.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@fuels/eslint-plugin/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.0.tgz", - "integrity": "sha512-+LCYJU81WF2yQ+Xu4A135CgK8IszcFcyMF4sWkbiu6Oj+Nel0TrkZq/HvDw0/1WuO3dhDQsZA/OpEMGd0NfcUw==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, "peerDependenciesMeta": { - "typescript": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { "optional": true } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@babel/runtime": "^7.13.10" }, - "engines": { - "node": ">=8.0.0" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" + "node_modules/@fuels/react/node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@fuels/eslint-plugin/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", "dependencies": { - "brace-expansion": "^2.0.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" }, - "engines": { - "node": ">=16 || 14 >=14.17" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@fuels/prettier-config": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@fuels/prettier-config/-/prettier-config-0.1.4.tgz", - "integrity": "sha512-1jh3/v2fWbMlBp2ImzYTQhzRdy23ToAGowH6/cWDN4Y7kGoOkmhjfoPKDmBDUGYjqDhi0HpwVRt5u5E5/npzGg==", + "node_modules/@fuels/react/node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", "dependencies": { - "prettier": "^3.0.3" + "@babel/runtime": "^7.13.10" }, "peerDependencies": { - "prettier": "^3.0.3" + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@fuels/vm-asm": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@fuels/vm-asm/-/vm-asm-0.42.1.tgz", - "integrity": "sha512-5e0IDHen26hrKc93ejYNDhQFbqi+EQ7xPpFJcUnSrz0+6zPdPhA2dtwh5UqN0fYDM5AcEFd0wpq+r7Pd2XS5AQ==" + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@fuels/vm-asm/-/vm-asm-0.49.0.tgz", + "integrity": "sha512-IL+X9XoTlmomgSKO1pp8IThD/dcQo4Mz3dmCqRcY5+I9ux25P2apPCHxYLFx9m5bPJlQTm6VKbeVLMSdhr9nOw==" }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", @@ -7340,20 +7180,20 @@ } }, "node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz", + "integrity": "sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==", "dependencies": { - "@noble/hashes": "1.3.3" + "@noble/hashes": "1.4.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { "node": ">= 16" }, @@ -9660,39 +9500,6 @@ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==" }, - "node_modules/@scure/base": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz", - "integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", - "dependencies": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", - "dependencies": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", @@ -9714,12 +9521,6 @@ "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "peer": true - }, "node_modules/@stitches/react": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", @@ -9955,38 +9756,27 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", - "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "version": "5.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.36.1.tgz", + "integrity": "sha512-BteWYEPUcucEu3NBcDAgKuI4U25R9aPrHSP6YSf2NvaD2pSlIQTdqOfLRsxH9WdRYg7k0Uom35Uacb6nvbIMJg==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", - "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.36.2.tgz", + "integrity": "sha512-bHNa+5dead+j6SA8WVlEOPxcGfteVFgdyFTCFcxBgjnPf0fFpHUc7aNZBCnvmPXqy/BeQa9zTuU9ectb7i8ZXA==", "dependencies": { - "@tanstack/query-core": "4.36.1", - "use-sync-external-store": "^1.2.0" + "@tanstack/query-core": "5.36.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "react": "^18.0.0" } }, "node_modules/@testing-library/dom": { @@ -10374,21 +10164,6 @@ "@types/node": "*" } }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "peer": true - }, - "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/draco3d": { "version": "1.4.9", "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.9.tgz", @@ -10543,14 +10318,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" - }, - "node_modules/@types/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", - "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -11263,11 +11033,6 @@ "node": ">=8.9" } }, - "node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" - }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -11979,15 +11744,6 @@ } ] }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "peer": true, - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -12641,21 +12397,6 @@ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "peer": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -12664,60 +12405,6 @@ "node": ">=0.8" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "peer": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/connect/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "peer": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -12800,19 +12487,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "peer": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -13219,12 +12893,6 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "peer": true - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -13243,15 +12911,6 @@ "node": ">=10" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", @@ -13451,32 +13110,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/dexie": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.2.5.tgz", - "integrity": "sha512-MA7vYQvXxWN2+G50D0GLS4FqdYUyRYQsN0FikZIVebOmRoNCSCL9+eUbIF80dqrfns3kmY+83+hE2GN9CnAGyA==", - "peer": true, - "dependencies": { - "karma-safari-launcher": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/dexie-observable": { - "version": "4.0.1-beta.13", - "resolved": "https://registry.npmjs.org/dexie-observable/-/dexie-observable-4.0.1-beta.13.tgz", - "integrity": "sha512-axmgPk7yjoPwj+0DdQIE5s1MBXi+6XcIFIjBKdQAmSGpsLQSth/LHvMOQ3q3Wj6pwIE5hqIxg2GL75sVqQbhEw==", - "peerDependencies": { - "dexie": "^3.0.2 || ^4.0.1-alpha.5" - } - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "peer": true - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -13541,18 +13174,6 @@ "utila": "~0.4" } }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "peer": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, "node_modules/dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", @@ -13707,82 +13328,22 @@ "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/engine.io": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", - "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", - "peer": true, - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", - "peer": true, - "engines": { - "node": ">=10.0.0" - } + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "peer": true, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { - "node": ">= 0.6" + "node": ">= 4" } }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "peer": true, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">= 0.8" } }, "node_modules/enhanced-resolve": { @@ -13797,12 +13358,6 @@ "node": ">=10.13.0" } }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "peer": true - }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -14872,96 +14427,6 @@ "node": ">= 0.6" } }, - "node_modules/ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", - "dependencies": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" - } - }, - "node_modules/ethers": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.11.1.tgz", - "integrity": "sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "18.15.13", - "aes-js": "4.0.0-beta.5", - "tslib": "2.4.0", - "ws": "8.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/ethers/node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethers/node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethers/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" - }, - "node_modules/ethers/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/ethers/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -15073,12 +14538,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "peer": true - }, "node_modules/extract-files": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", @@ -15641,47 +15100,38 @@ } }, "node_modules/fuels": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/fuels/-/fuels-0.73.0.tgz", - "integrity": "sha512-EjJMfS4jSb/avYbk56RrbPFSNRAl+zM+WLS+H0NeXOJlu89iUIFJmBSV/c/YCbeS6Fa1h2EK4SdrjJdd9ijOvA==", - "dependencies": { - "@fuel-ts/abi-coder": "0.73.0", - "@fuel-ts/abi-typegen": "0.73.0", - "@fuel-ts/address": "0.73.0", - "@fuel-ts/contract": "0.73.0", - "@fuel-ts/crypto": "0.73.0", - "@fuel-ts/errors": "0.73.0", - "@fuel-ts/forc": "0.73.0", - "@fuel-ts/fuel-core": "0.73.0", - "@fuel-ts/hasher": "0.73.0", - "@fuel-ts/hdwallet": "0.73.0", - "@fuel-ts/interfaces": "0.73.0", - "@fuel-ts/math": "0.73.0", - "@fuel-ts/merkle": "0.73.0", - "@fuel-ts/mnemonic": "0.73.0", - "@fuel-ts/predicate": "0.73.0", - "@fuel-ts/program": "0.73.0", - "@fuel-ts/providers": "0.73.0", - "@fuel-ts/script": "0.73.0", - "@fuel-ts/signer": "0.73.0", - "@fuel-ts/transactions": "0.73.0", - "@fuel-ts/utils": "0.73.0", - "@fuel-ts/versions": "0.73.0", - "@fuel-ts/wallet": "0.73.0", - "@fuel-ts/wallet-manager": "0.73.0", - "@fuel-ts/wordlists": "0.73.0", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/fuels/-/fuels-0.88.0.tgz", + "integrity": "sha512-bhKynBvFxi8zCIqW9ikgVNirovlenFxg/zTSKxUExmEDyyf107N+3sihyM1qyoRRCykrIBSyLZ3gnoZBpa5fgw==", + "dependencies": { + "@fuel-ts/abi-coder": "0.88.0", + "@fuel-ts/abi-typegen": "0.88.0", + "@fuel-ts/account": "0.88.0", + "@fuel-ts/address": "0.88.0", + "@fuel-ts/contract": "0.88.0", + "@fuel-ts/crypto": "0.88.0", + "@fuel-ts/errors": "0.88.0", + "@fuel-ts/forc": "0.88.0", + "@fuel-ts/fuel-core": "0.88.0", + "@fuel-ts/hasher": "0.88.0", + "@fuel-ts/interfaces": "0.88.0", + "@fuel-ts/math": "0.88.0", + "@fuel-ts/merkle": "0.88.0", + "@fuel-ts/program": "0.88.0", + "@fuel-ts/script": "0.88.0", + "@fuel-ts/transactions": "0.88.0", + "@fuel-ts/utils": "0.88.0", + "@fuel-ts/versions": "0.88.0", "bundle-require": "^4.0.1", "chalk": "4", "chokidar": "^3.5.3", "commander": "^9.4.1", "esbuild": "^0.19.3", - "ethers": "^6.7.1", "glob": "^10.2.6", "handlebars": "^4.7.7", "joycon": "^3.1.1", "lodash.camelcase": "^4.3.0", "portfinder": "^1.0.32", - "rimraf": "^3.0.2", "toml": "^3.0.0", "tree-kill": "^1.2.2", "yup": "^0.32.11" @@ -15755,15 +15205,15 @@ } }, "node_modules/fuels/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -15784,9 +15234,9 @@ } }, "node_modules/fuels/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -17149,18 +16599,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "peer": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -17286,9 +16724,9 @@ } }, "node_modules/jackspeak": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.5.tgz", - "integrity": "sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -19566,11 +19004,6 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/json-rpc-2.0": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", - "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==" - }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", @@ -19650,65 +19083,6 @@ "node": ">=4.0" } }, - "node_modules/karma": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", - "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", - "peer": true, - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.4.1", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-safari-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz", - "integrity": "sha512-qmypLWd6F2qrDJfAETvXDfxHvKDk+nyIjpH9xIeI3/hENr0U3nuqkxaftq73PfXZ4aOuOChA6SnLW4m4AxfRjQ==", - "peer": true, - "peerDependencies": { - "karma": ">=0.9" - } - }, - "node_modules/karma/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "peer": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -19871,27 +19245,6 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "peer": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -20194,9 +19547,9 @@ } }, "node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -20801,24 +20154,24 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "engines": { "node": "14 || >=16.14" } @@ -22432,15 +21785,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "peer": true, - "engines": { - "node": ">=0.9" - } - }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -23530,12 +22874,6 @@ "node": ">=0.10.0" } }, - "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", - "peer": true - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -24083,67 +23421,6 @@ "node": ">=8" } }, - "node_modules/socket.io": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", - "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", - "peer": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", - "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", - "peer": true, - "dependencies": { - "ws": "~8.11.0" - } - }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "peer": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "peer": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -24429,52 +23706,6 @@ "node": ">= 0.4" } }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "peer": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/streamroller/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/streamroller/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/streamroller/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -24904,21 +24135,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/tai64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tai64/-/tai64-1.0.0.tgz", - "integrity": "sha512-bfidqCho3mtZsqNFyVXc4obhDmRIUbQp2godk137z/z47BJ+oKYIVHgJrdYOAciRJ6+P2iDjDtcm/DgQ7I11fQ==", - "dependencies": { - "@types/long": "4.0.0", - "@types/node": "10.12.18", - "long": "4.0.0" - } - }, - "node_modules/tai64/node_modules/@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" - }, "node_modules/tailwindcss": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", @@ -25195,18 +24411,6 @@ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "peer": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -25571,29 +24775,6 @@ "node": ">=4.2.0" } }, - "node_modules/ua-parser-js": { - "version": "0.7.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", - "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -25891,15 +25072,6 @@ "node": ">= 0.8" } }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index 7965ee7..ee0b7fa 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -5,12 +5,13 @@ "dependencies": { "@fuel-ui/css": "^0.12.4", "@fuel-ui/react": "^0.12.4", - "@fuel-wallet/react": "^0.15.2", - "@fuel-wallet/sdk": "^0.15.2", + "@fuels/connectors": "^0.2.2", "@fuels/eslint-plugin": "^0.1.4", "@fuels/prettier-config": "^0.1.4", + "@fuels/react": "^0.18.1", "@react-three/drei": "^9.97.0", "@react-three/fiber": "^8.15.16", + "@tanstack/react-query": "^5.36.2", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", @@ -19,7 +20,7 @@ "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", "@vercel/analytics": "^1.0.0", - "fuels": "^0.73.0", + "fuels": "^0.88.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", @@ -35,7 +36,8 @@ "lint": "eslint . --ext .ts,.tsx,.js,.jsx", "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx --fix", "prettier:check": "prettier --check .", - "prettier:format": "prettier --write ." + "prettier:format": "prettier --write .", + "build-types": "fuels build" }, "eslintConfig": { "extends": [ diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b29e7ee..0881aef 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -5,7 +5,7 @@ import { useWallet, useAssets, useAddAssets, -} from '@fuel-wallet/react'; +} from '@fuels/react'; import { Analytics } from '@vercel/analytics/react'; import { Wallet, Provider } from 'fuels'; import type { Account } from 'fuels'; @@ -18,6 +18,7 @@ import { FARM_COIN_ASSET, FARM_COIN_ASSET_ID, FUEL_PROVIDER_URL, + // VERCEL_ENV, } from './constants'; import './App.css'; import { ContractAbi__factory } from './sway-api'; @@ -26,6 +27,9 @@ function App() { const [burnerWallet, setBurnerWallet] = useState(); const [mounted, setMounted] = useState(false); const [isMobile, setIsMobile] = useState(false); + const [farmCoinAssetID, setFarmCoinAssetId] = useState( + FARM_COIN_ASSET_ID + ); const { isConnected } = useIsConnected(); const { wallet } = useWallet(); const { assets } = useAssets(); @@ -44,13 +48,13 @@ function App() { for (let i = 0; i < assets.length; i++) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const thisAsset = assets[i] as any; - if (thisAsset.assetId && thisAsset.assetId === FARM_COIN_ASSET_ID) { + if (thisAsset.assetId && thisAsset.assetId === farmCoinAssetID) { hasAsset = true; break; } - } - if (!hasAsset) { - addAssets([FARM_COIN_ASSET]); + if (!hasAsset) { + addAssets([FARM_COIN_ASSET]); + } } } else { setMounted(true); @@ -87,10 +91,25 @@ function App() { return null; }, [wallet, burnerWallet]); + useEffect(() => { + async function getAssetId() { + if (contract) { + const { value } = await contract.functions.get_asset_id().get(); + // console.log("VALUE:", value) + setFarmCoinAssetId(value.bits); + } + } + getAssetId(); + }, [contract]); + return ( - {isConnected || (contract && burnerWallet) ? ( - + {(isConnected || (contract && burnerWallet)) && farmCoinAssetID ? ( + ) : ( diff --git a/frontend/src/components/Game.tsx b/frontend/src/components/Game.tsx index ec0d28f..4c8013d 100644 --- a/frontend/src/components/Game.tsx +++ b/frontend/src/components/Game.tsx @@ -4,6 +4,7 @@ import type { KeyboardControlsEntry } from '@react-three/drei'; import { KeyboardControls } from '@react-three/drei'; import { Canvas } from '@react-three/fiber'; import { BN } from 'fuels'; +import type { BytesLike } from 'fuels'; import { useState, useEffect, useMemo, Suspense } from 'react'; import type { Modals } from '../constants'; @@ -31,6 +32,7 @@ import Info from './show/Info'; interface GameProps { contract: ContractAbi | null; isMobile: boolean; + farmCoinAssetID: BytesLike; } export type Position = @@ -42,7 +44,11 @@ export type Position = | 'right-bottom'; export type MobileControls = 'none' | 'up' | 'down' | 'left' | 'right'; -export default function Game({ contract, isMobile }: GameProps) { +export default function Game({ + contract, + isMobile, + farmCoinAssetID, +}: GameProps) { const [modal, setModal] = useState('none'); const [tileStates, setTileStates] = useState< GardenVectorOutput | undefined @@ -63,38 +69,28 @@ export default function Game({ contract, isMobile }: GameProps) { if (contract && contract.account) { try { const address: AddressInput = { - value: contract.account.address.toB256(), + bits: contract.account.address.toB256(), }; const id: IdentityInput = { Address: address }; - const seedType: FoodTypeInput = FoodTypeInput.Tomatoes; // get the player first - const { value: Some } = await contract.functions - .get_player(id) - .txParams({ - gasPrice: 1, - gasLimit: 800_000, - }) - .simulate(); + const { value: Some } = await contract.functions.get_player(id).get(); if (Some?.farming_skill.gte(1)) { setPlayer(Some); + const seedType: FoodTypeInput = FoodTypeInput.Tomatoes; // if there is a player found, get the rest of the player info const { value: results } = await contract .multiCall([ contract.functions.get_seed_amount(id, seedType), contract.functions.get_item_amount(id, seedType), ]) - .txParams({ - gasPrice: 1, - gasLimit: 800_000, - }) - .simulate(); + .get(); const seedAmount = new BN(results[0]).toNumber(); setSeeds(seedAmount); const itemAmount = new BN(results[1]).toNumber(); setItems(itemAmount); } } catch (err) { - console.log('Error:', err); + console.log('Error in Game:', err); setStatus('error'); } setStatus('none'); @@ -188,6 +184,7 @@ export default function Game({ contract, isMobile }: GameProps) { updateNum={updateNum} seeds={seeds} items={items} + farmCoinAssetID={farmCoinAssetID} /> {player !== null && ( @@ -217,6 +214,7 @@ export default function Game({ contract, isMobile }: GameProps) { updatePageNum={updatePageNum} items={items} setCanMove={setCanMove} + farmCoinAssetID={farmCoinAssetID} /> )} diff --git a/frontend/src/components/Garden.tsx b/frontend/src/components/Garden.tsx index 0100f71..0c59925 100644 --- a/frontend/src/components/Garden.tsx +++ b/frontend/src/components/Garden.tsx @@ -29,19 +29,14 @@ export default function Garden({ if (contract && contract.account) { try { const address: AddressInput = { - value: contract.account.address.toB256(), + bits: contract.account.address.toB256(), }; const id: IdentityInput = { Address: address }; - const { value } = await contract.functions - .get_garden_vec(id) - .txParams({ - gasPrice: 1, - gasLimit: 800_000, - }) - .simulate(); + const { value } = await contract.functions.get_garden_vec(id).get(); + // console.log("VALUE:", value) setTileStates(value); } catch (err) { - console.log('Error:', err); + console.log('Error in Garden:', err); } } } diff --git a/frontend/src/components/NewPlayer.tsx b/frontend/src/components/NewPlayer.tsx index 72bc96d..33c64ef 100644 --- a/frontend/src/components/NewPlayer.tsx +++ b/frontend/src/components/NewPlayer.tsx @@ -1,9 +1,9 @@ import { cssObj } from '@fuel-ui/css'; import { Button, BoxCentered, Link } from '@fuel-ui/react'; -import { useWallet } from '@fuel-wallet/react'; +import { useWallet } from '@fuels/react'; import { useState, useEffect } from 'react'; -import { BASE_ASSET_ID, buttonStyle } from '../constants'; +import { TESTNET_FAUCET_URL, buttonStyle } from '../constants'; import type { ContractAbi } from '../sway-api'; import Loading from './Loading'; @@ -21,8 +21,11 @@ export default function NewPlayer({ contract, updatePageNum }: NewPlayerProps) { useEffect(() => { async function getBalance() { const thisWallet = wallet ?? contract?.account; - const balance = await thisWallet!.getBalance(BASE_ASSET_ID); + const baseAssetId = thisWallet?.provider.getBaseAssetId(); + const balance = await thisWallet!.getBalance(baseAssetId); + // console.log("BALANCE:", balance) const balanceNum = balance?.toNumber(); + // console.log("BALANCENum:", balanceNum) if (balanceNum) { setHasFunds(balanceNum > 0); @@ -39,14 +42,12 @@ export default function NewPlayer({ contract, updatePageNum }: NewPlayerProps) { .new_player() .txParams({ variableOutputs: 1, - gasPrice: 1, - gasLimit: 800_000, }) .call(); setStatus('none'); updatePageNum(); } catch (err) { - console.log('Error:', err); + console.log('Error in NewPlayer:', err); setStatus('error'); } } else { @@ -68,7 +69,7 @@ export default function NewPlayer({ contract, updatePageNum }: NewPlayerProps) { You need some ETH to play: void; setCanMove: Dispatch>; + farmCoinAssetID: BytesLike; } export default function BuySeeds({ contract, updatePageNum, setCanMove, + farmCoinAssetID, }: BuySeedsProps) { const [status, setStatus] = useState<'error' | 'none' | `loading`>('none'); @@ -36,14 +35,13 @@ export default function BuySeeds({ await contract.functions .buy_seeds(seedType, inputAmount) .callParams({ - forward: [price, FARM_COIN_ASSET_ID], + forward: [price, farmCoinAssetID], }) - .txParams({ gasPrice: 1, gasLimit: 800_000 }) .call(); updatePageNum(); setStatus('none'); } catch (err) { - console.log('Error:', err); + console.log('Error in BuySeeds:', err); setStatus('error'); } setCanMove(true); diff --git a/frontend/src/components/modals/HarvestModal.tsx b/frontend/src/components/modals/HarvestModal.tsx index 800b0c2..a72ce36 100644 --- a/frontend/src/components/modals/HarvestModal.tsx +++ b/frontend/src/components/modals/HarvestModal.tsx @@ -25,14 +25,11 @@ export default function HarvestModal({ try { setStatus('loading'); setCanMove(false); - await contract.functions - .harvest(tileArray[0]) - .txParams({ gasPrice: 1, gasLimit: 800_000 }) - .call(); + await contract.functions.harvest(tileArray).call(); updatePageNum(); setStatus('none'); } catch (err) { - console.log('Error:', err); + console.log('Error in HarvestModal:', err); setStatus('error'); } setCanMove(true); diff --git a/frontend/src/components/modals/MarketModal.tsx b/frontend/src/components/modals/MarketModal.tsx index f2cbcc9..9e5ddc0 100644 --- a/frontend/src/components/modals/MarketModal.tsx +++ b/frontend/src/components/modals/MarketModal.tsx @@ -1,3 +1,4 @@ +import type { BytesLike } from 'fuels'; import type { Dispatch, SetStateAction } from 'react'; import type { ContractAbi } from '../../sway-api'; @@ -10,6 +11,7 @@ interface MarketModalProps { updatePageNum: () => void; items: number; setCanMove: Dispatch>; + farmCoinAssetID: BytesLike; } export default function MarketModal({ @@ -17,6 +19,7 @@ export default function MarketModal({ updatePageNum, items, setCanMove, + farmCoinAssetID, }: MarketModalProps) { return (
@@ -24,6 +27,7 @@ export default function MarketModal({ contract={contract} updatePageNum={updatePageNum} setCanMove={setCanMove} + farmCoinAssetID={farmCoinAssetID} /> {items > 0 && ( @@ -33,6 +36,7 @@ export default function Info({ player={player} contract={contract} updateNum={updateNum} + farmCoinAssetID={farmCoinAssetID} /> diff --git a/frontend/src/components/show/ShowCoins.tsx b/frontend/src/components/show/ShowCoins.tsx index 2bd9e14..be51592 100644 --- a/frontend/src/components/show/ShowCoins.tsx +++ b/frontend/src/components/show/ShowCoins.tsx @@ -1,25 +1,29 @@ import { cssObj } from '@fuel-ui/css'; import { Box } from '@fuel-ui/react'; -import { useWallet } from '@fuel-wallet/react'; -import type { BN } from 'fuels'; +import { useWallet } from '@fuels/react'; +import type { BN, BytesLike } from 'fuels'; import { useState, useEffect } from 'react'; -import { FARM_COIN_ASSET_ID } from '../../constants'; import type { ContractAbi } from '../../sway-api'; interface ShowCoinsProps { updateNum: number; contract: ContractAbi | null; + farmCoinAssetID: BytesLike; } -export default function ShowCoins({ updateNum, contract }: ShowCoinsProps) { +export default function ShowCoins({ + updateNum, + contract, + farmCoinAssetID, +}: ShowCoinsProps) { const { wallet } = useWallet(); const [balance, setBalance] = useState(); useEffect(() => { async function getBalance() { const thisWallet = wallet ?? contract?.account; - const balanceBN = await thisWallet!.getBalance(FARM_COIN_ASSET_ID); + const balanceBN = await thisWallet!.getBalance(farmCoinAssetID); setBalance(balanceBN); } getBalance(); diff --git a/frontend/src/components/show/ShowPlayerInfo.tsx b/frontend/src/components/show/ShowPlayerInfo.tsx index 65faf31..77fbee0 100644 --- a/frontend/src/components/show/ShowPlayerInfo.tsx +++ b/frontend/src/components/show/ShowPlayerInfo.tsx @@ -1,5 +1,6 @@ import { cssObj } from '@fuel-ui/css'; import { Flex, Box } from '@fuel-ui/react'; +import type { BytesLike } from 'fuels'; import type { ContractAbi, @@ -12,12 +13,14 @@ interface PlayerProps { player: PlayerOutput | null; contract: ContractAbi | null; updateNum: number; + farmCoinAssetID: BytesLike; } export default function ShowPlayerInfo({ player, contract, updateNum, + farmCoinAssetID, }: PlayerProps) { let valSold; if (player !== null) { @@ -28,7 +31,11 @@ export default function ShowPlayerInfo({ Value Sold: {valSold ?? '0'} - + ); diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts index 0457aa5..d8378b0 100644 --- a/frontend/src/constants.ts +++ b/frontend/src/constants.ts @@ -1,19 +1,26 @@ import { cssObj } from '@fuel-ui/css'; -import type { Asset } from '@fuel-wallet/sdk'; -import type { Fuel } from '@fuels/assets'; -import type { BN } from 'fuels'; +import type { Asset, BN, NetworkFuel } from 'fuels'; import { Vector3 } from 'three'; -export const FUEL_PROVIDER_URL = 'https://beta-5.fuel.network/graphql'; +// import contractIds from './sway-api/contract-ids.json'; -export const CONTRACT_ID = - '0xd2a93abef5c3f45f48bb9f0736ccfda4c3f32c9c57fc307ab9363ef7712f305f'; +export const FUEL_PROVIDER_URL = 'https://testnet.fuel.network/v1/graphql'; + +export const TESTNET_FAUCET_URL = 'https://faucet-testnet.fuel.network/'; -export const BASE_ASSET_ID = - '0x0000000000000000000000000000000000000000000000000000000000000000'; +// export const VERCEL_ENV = +// // process.env.REACT_APP_VERCEL_ENV || process.env.NODE_ENV || 'development'; + +export const CONTRACT_ID = + // VERCEL_ENV === 'development' + // ? contractIds.contract + // : + '0xf5b08689ada97df7fd2fbd67bee7dea6d219f117c1dc9345245da16fe4e99111'; export const FARM_COIN_ASSET_ID = - '0x0cfabde7bbe58d253cf3103d8f55d26987b3dc4691205b9299ac6826c613a2e2'; + // VERCEL_ENV === 'development' + // ? null : + '0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea'; export const FARM_COIN_NETWORK_ASSET = { /** type of network */ @@ -32,7 +39,7 @@ export const FARM_COIN_ASSET: Asset = { icon: 'https://sway-farm.vercel.app/images/pixel-bunny.png', name: 'Sway Farm Coin', symbol: 'FARM', - networks: [FARM_COIN_NETWORK_ASSET as Fuel], + networks: [FARM_COIN_NETWORK_ASSET as NetworkFuel], }; export enum Controls { diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx index d197745..0f4ecd9 100644 --- a/frontend/src/index.tsx +++ b/frontend/src/index.tsx @@ -1,27 +1,27 @@ -import { FuelProvider } from '@fuel-wallet/react'; +import { defaultConnectors } from '@fuels/connectors'; +import { FuelProvider } from '@fuels/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; -import reportWebVitals from './reportWebVitals'; + +const queryClient = new QueryClient(); const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement ); root.render( - - - + + + + + ); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/frontend/src/sway-api/contracts/ContractAbi.d.ts b/frontend/src/sway-api/contracts/ContractAbi.d.ts index dfb2c6e..349ef1f 100644 --- a/frontend/src/sway-api/contracts/ContractAbi.d.ts +++ b/frontend/src/sway-api/contracts/ContractAbi.d.ts @@ -4,9 +4,9 @@ /* eslint-disable */ /* - Fuels version: 0.73.0 - Forc version: 0.49.2 - Fuel-Core version: 0.22.0 + Fuels version: 0.88.0 + Forc version: 0.59.0 + Fuel-Core version: 0.26.0 */ import type { @@ -20,84 +20,46 @@ import type { InvokeFunction, } from 'fuels'; -import type { Option, Enum, Vec } from './common'; +import type { Option, Enum, Vec } from "./common"; -export enum FoodTypeInput { - Tomatoes = 'Tomatoes', -} -export enum FoodTypeOutput { - Tomatoes = 'Tomatoes', -} -export type IdentityInput = Enum<{ - Address: AddressInput; - ContractId: ContractIdInput; -}>; -export type IdentityOutput = Enum<{ - Address: AddressOutput; - ContractId: ContractIdOutput; -}>; -export type InvalidErrorInput = Enum<{ - NotEnoughTokens: BigNumberish; - NotEnoughSeeds: BigNumberish; - IncorrectAssetId: AssetIdInput; -}>; -export type InvalidErrorOutput = Enum<{ - NotEnoughTokens: BN; - NotEnoughSeeds: BN; - IncorrectAssetId: AssetIdOutput; -}>; +export enum FoodTypeInput { Tomatoes = 'Tomatoes' }; +export enum FoodTypeOutput { Tomatoes = 'Tomatoes' }; +export type IdentityInput = Enum<{ Address: AddressInput, ContractId: ContractIdInput }>; +export type IdentityOutput = Enum<{ Address: AddressOutput, ContractId: ContractIdOutput }>; +export type InvalidErrorInput = Enum<{ NotEnoughTokens: BigNumberish, NotEnoughSeeds: BigNumberish, IncorrectAssetId: AssetIdInput }>; +export type InvalidErrorOutput = Enum<{ NotEnoughTokens: BN, NotEnoughSeeds: BN, IncorrectAssetId: AssetIdOutput }>; -export type AddressInput = { value: string }; +export type AddressInput = { bits: string }; export type AddressOutput = AddressInput; -export type AssetIdInput = { value: string }; +export type AssetIdInput = { bits: string }; export type AssetIdOutput = AssetIdInput; -export type ContractIdInput = { value: string }; +export type BuySeedsInput = { address: IdentityInput, food_type: FoodTypeInput, amount_bought: BigNumberish, cost: BigNumberish, total_current_amount: BigNumberish }; +export type BuySeedsOutput = { address: IdentityOutput, food_type: FoodTypeOutput, amount_bought: BN, cost: BN, total_current_amount: BN }; +export type ContractIdInput = { bits: string }; export type ContractIdOutput = ContractIdInput; -export type FoodInput = { - name: FoodTypeInput; - time_planted: Option; -}; -export type FoodOutput = { name: FoodTypeOutput; time_planted: Option }; -export type GardenVectorInput = { - inner: [ - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - ]; -}; -export type GardenVectorOutput = { - inner: [ - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - Option, - ]; -}; -export type PlayerInput = { - farming_skill: BigNumberish; - total_value_sold: BigNumberish; -}; -export type PlayerOutput = { farming_skill: BN; total_value_sold: BN }; +export type FoodInput = { name: FoodTypeInput, time_planted: Option }; +export type FoodOutput = { name: FoodTypeOutput, time_planted: Option }; +export type GardenVectorInput = { inner: [Option, Option, Option, Option, Option, Option, Option, Option, Option, Option] }; +export type GardenVectorOutput = { inner: [Option, Option, Option, Option, Option, Option, Option, Option, Option, Option] }; +export type HarvestInput = { address: IdentityInput, food_type: FoodTypeInput, index: BigNumberish, timestamp: BigNumberish }; +export type HarvestOutput = { address: IdentityOutput, food_type: FoodTypeOutput, index: BN, timestamp: BN }; +export type LevelUpInput = { address: IdentityInput, player_info: PlayerInput }; +export type LevelUpOutput = { address: IdentityOutput, player_info: PlayerOutput }; +export type NewPlayerInput = { address: IdentityInput }; +export type NewPlayerOutput = { address: IdentityOutput }; +export type PlantSeedInput = { address: IdentityInput, food_type: FoodTypeInput, index: BigNumberish, timestamp: BigNumberish }; +export type PlantSeedOutput = { address: IdentityOutput, food_type: FoodTypeOutput, index: BN, timestamp: BN }; +export type PlayerInput = { farming_skill: BigNumberish, total_value_sold: BigNumberish }; +export type PlayerOutput = { farming_skill: BN, total_value_sold: BN }; +export type SellItemInput = { address: IdentityInput, food_type: FoodTypeInput, amount_sold: BigNumberish, value_sold: BigNumberish, player_info: PlayerInput }; +export type SellItemOutput = { address: IdentityOutput, food_type: FoodTypeOutput, amount_sold: BN, value_sold: BN, player_info: PlayerOutput }; interface ContractAbiInterface extends Interface { functions: { buy_seeds: FunctionFragment; - buy_seeds_free: FunctionFragment; can_harvest: FunctionFragment; can_level_up: FunctionFragment; + get_asset_id: FunctionFragment; get_garden_vec: FunctionFragment; get_item_amount: FunctionFragment; get_player: FunctionFragment; @@ -106,160 +68,53 @@ interface ContractAbiInterface extends Interface { level_up: FunctionFragment; new_player: FunctionFragment; plant_seed_at_index: FunctionFragment; - plant_seeds: FunctionFragment; sell_item: FunctionFragment; }; - encodeFunctionData( - functionFragment: 'buy_seeds', - values: [FoodTypeInput, BigNumberish] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'buy_seeds_free', - values: [FoodTypeInput, BigNumberish] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'can_harvest', - values: [BigNumberish] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'can_level_up', - values: [IdentityInput] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'get_garden_vec', - values: [IdentityInput] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'get_item_amount', - values: [IdentityInput, FoodTypeInput] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'get_player', - values: [IdentityInput] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'get_seed_amount', - values: [IdentityInput, FoodTypeInput] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'harvest', - values: [BigNumberish] - ): Uint8Array; + encodeFunctionData(functionFragment: 'buy_seeds', values: [FoodTypeInput, BigNumberish]): Uint8Array; + encodeFunctionData(functionFragment: 'can_harvest', values: [BigNumberish]): Uint8Array; + encodeFunctionData(functionFragment: 'can_level_up', values: [IdentityInput]): Uint8Array; + encodeFunctionData(functionFragment: 'get_asset_id', values: []): Uint8Array; + encodeFunctionData(functionFragment: 'get_garden_vec', values: [IdentityInput]): Uint8Array; + encodeFunctionData(functionFragment: 'get_item_amount', values: [IdentityInput, FoodTypeInput]): Uint8Array; + encodeFunctionData(functionFragment: 'get_player', values: [IdentityInput]): Uint8Array; + encodeFunctionData(functionFragment: 'get_seed_amount', values: [IdentityInput, FoodTypeInput]): Uint8Array; + encodeFunctionData(functionFragment: 'harvest', values: [Vec]): Uint8Array; encodeFunctionData(functionFragment: 'level_up', values: []): Uint8Array; encodeFunctionData(functionFragment: 'new_player', values: []): Uint8Array; - encodeFunctionData( - functionFragment: 'plant_seed_at_index', - values: [FoodTypeInput, BigNumberish] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'plant_seeds', - values: [FoodTypeInput, BigNumberish, Vec] - ): Uint8Array; - encodeFunctionData( - functionFragment: 'sell_item', - values: [FoodTypeInput, BigNumberish] - ): Uint8Array; + encodeFunctionData(functionFragment: 'plant_seed_at_index', values: [FoodTypeInput, BigNumberish]): Uint8Array; + encodeFunctionData(functionFragment: 'sell_item', values: [FoodTypeInput, BigNumberish]): Uint8Array; - decodeFunctionData( - functionFragment: 'buy_seeds', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'buy_seeds_free', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'can_harvest', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'can_level_up', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'get_garden_vec', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'get_item_amount', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'get_player', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'get_seed_amount', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'harvest', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'level_up', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'new_player', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'plant_seed_at_index', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'plant_seeds', - data: BytesLike - ): DecodedValue; - decodeFunctionData( - functionFragment: 'sell_item', - data: BytesLike - ): DecodedValue; + decodeFunctionData(functionFragment: 'buy_seeds', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'can_harvest', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'can_level_up', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'get_asset_id', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'get_garden_vec', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'get_item_amount', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'get_player', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'get_seed_amount', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'harvest', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'level_up', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'new_player', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'plant_seed_at_index', data: BytesLike): DecodedValue; + decodeFunctionData(functionFragment: 'sell_item', data: BytesLike): DecodedValue; } export class ContractAbi extends Contract { interface: ContractAbiInterface; functions: { - buy_seeds: InvokeFunction< - [food_type: FoodTypeInput, amount: BigNumberish], - void - >; - buy_seeds_free: InvokeFunction< - [food_type: FoodTypeInput, amount: BigNumberish], - void - >; + buy_seeds: InvokeFunction<[food_type: FoodTypeInput, amount: BigNumberish], void>; can_harvest: InvokeFunction<[index: BigNumberish], boolean>; can_level_up: InvokeFunction<[id: IdentityInput], boolean>; + get_asset_id: InvokeFunction<[], AssetIdOutput>; get_garden_vec: InvokeFunction<[id: IdentityInput], GardenVectorOutput>; - get_item_amount: InvokeFunction< - [id: IdentityInput, item: FoodTypeInput], - BN - >; + get_item_amount: InvokeFunction<[id: IdentityInput, item: FoodTypeInput], BN>; get_player: InvokeFunction<[id: IdentityInput], Option>; - get_seed_amount: InvokeFunction< - [id: IdentityInput, item: FoodTypeInput], - BN - >; - harvest: InvokeFunction<[index: BigNumberish], void>; + get_seed_amount: InvokeFunction<[id: IdentityInput, item: FoodTypeInput], BN>; + harvest: InvokeFunction<[indexes: Vec], void>; level_up: InvokeFunction<[], void>; new_player: InvokeFunction<[], void>; - plant_seed_at_index: InvokeFunction< - [food_type: FoodTypeInput, index: BigNumberish], - void - >; - plant_seeds: InvokeFunction< - [ - food_type: FoodTypeInput, - amount: BigNumberish, - indexes: Vec, - ], - void - >; - sell_item: InvokeFunction< - [food_type: FoodTypeInput, amount: BigNumberish], - void - >; + plant_seed_at_index: InvokeFunction<[food_type: FoodTypeInput, index: BigNumberish], void>; + sell_item: InvokeFunction<[food_type: FoodTypeInput, amount: BigNumberish], void>; }; } diff --git a/frontend/src/sway-api/contracts/ContractAbi.hex.ts b/frontend/src/sway-api/contracts/ContractAbi.hex.ts index 6c65f24..a967a83 100644 --- a/frontend/src/sway-api/contracts/ContractAbi.hex.ts +++ b/frontend/src/sway-api/contracts/ContractAbi.hex.ts @@ -4,9 +4,9 @@ /* eslint-disable */ /* - Fuels version: 0.73.0 - Forc version: 0.49.2 - Fuel-Core version: 0.22.0 + Fuels version: 0.88.0 + Forc version: 0.59.0 + Fuel-Core version: 0.26.0 */ -export default '0x7400000347000000000000000000c0205dfcc00110fff3005d4060495d47f043134904407648002e5d47f044134904407648028d5d47f045134904407648049f5d47f04613490440764807055d47f04713490440764807b45d47f04813490440764808a25d47f049134904407648093c5d47f04a13490440764809ce5d47f04b1349044076480a685d47f04c134904405df3f051764bc0005d47f04d134904405df3f052764bc0005d47f04e134904405df3f053764bc0005d47f04f134904405df3f054764bc0005d47f050134904405df3f055764bc00072f0007b36f000001aec500091000d005d40604a505100005d5d00015d4ff056104d33005d63f05610618300504060205047b02872480020284504801a4060005047bb9072480020284504805043bcb872440020284134405043bcb85047bb90504bb118724c0020284914c050452020724c0020284584c05d47f008424124405043bcb85047b23872480020284504805043b0285047b238504bba28724c0020284904c05043bb28724c0020284114c0a14124205d47f0095fed10005047b028504bb008724c0020284914c013410000764002281a40b0005d45400013451000764400025d43f00a364000005d47f00b1b457440154904407648000113490440504fb2105fec00425fed7046134120007640021171400001764000125047b3f05fec007e5043b4985fec109371480002504fb1f072600020284d260050490008726000202849360050491008724c0028284904c05043b9687248003028411480740000e06140000113450000764400061341004076400001360000005043b8981a401000740000025043b8981a400000134500007644000613410040764000025d43f00a364000006158010374000001615800055043b0485fec00095047bb6872480028284504801a54000016415580764000215043bb685047b61072480028284504805d43b16d134100407640000c5d43b0c213410000764000025d43f00a364000005043b4c05fec10985fec109c504bb8e872440028284904407400000a5043b610504100085047b4205fec008450491008724c0020284904c0504bb8e872400028284914005047b91072400028284524007400007b61415200134500007644000d13450040764400075c47f0601341044076400001360000005043b8a05d43f009740000025043b8a01a4010005047b8a8740000025043b8a81a400000134500007644000b5d47f00913410440764000081ae950001ae4100020f8330058fbe00250fbe00474002f041a57d0007500004061415200134500007644000d13450040764400075c47f0601341044076400001360000005043b8b05d43f009740000025043b8b01a4010005047b8b8740000025043b8b81a40000013410000764000065043b2c05fec0058504bb8c072440028284904407400000c5043b1785fec102f61455203504bb158724c0020284914c050450008724c0020284524c0504bb8c072440028284904405043bc9072440028284124405d43b16d134100401a440000764000015c47f068764401665043bc905047b66872480028284504805d43b1921341004076400001360000005043b668504100085047bbb072480020284504805043bbb05047bb68504bb690724c0028284914c05d47b16d1345104076440001360000005047b69050451008504bbbd0724c0020284914c05047b1d072480020284504805043bbd0504bba48724c0020284914c05047bb48724c0020284504c0a1412460764001375043b2585fec104b5fec004f5047b91072480028284504805043b5e872480028284114805d43b12213410040764000155d43b0bd13410000764000025d43f00a364000005043b5e8504100085047b2905fec0052504bb3885fec0071504d200872600020284d060050411008724c0028284124c0504bb93872400030284914007400000a5043b5e8504100205047b1a05fec103450491028724c0008284904c0504bb93872400030284914005043b96872440030284124405047b63872480030284504805d43b12d1341000076400001360000005d43f057104103005047b63850451008504bbcd8724c0028284914c0504bb3c0724c0028284914c050452028724c0008284544c05047b2e8724c0030284524c0504d103072600020284d0600504fb7a872600050284d16005047b7481ae930001ae5100020f8330058fbe00250fbe00474002e251a47d000504fb44872600030284d26005049303072600020284906005043b7f87248005028413480504bb7681ae900001ae5200020f8330058fbe00250fbe00474002e141a43d000504bb0a0724c0020284914c05fec00185045202872480020284504805043b0a05d47b0185d4bf00e1b4914805d4ff00e104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c0504fb51872600020284d06005043bc3072600020284136005043bc30504fbc305063b6c81ae920001ae5800020f8330058fbe00250fbe00474002d9e1a4bd0005063b6e81ae810001ae5800020f8330058fbe00250fbe00474002d961a63d0005067b9a87268002028652680504bbae872680020284986805063ba68a36194a1504bb9c87260002028493600504fba685063ba88a36124e072480020284184805043b5387248002028418480504bb070724c0020284904c05fec10125fed10135043b0705047bc1072480020284504805d43b0125d47b0135d4bf0121b4904805d4ff00e1b493480264800001a487000504fbc10394904d0764000065043b3b05fec0076504bb99872440010284904407400000a5043b2805fec10505d4ff00e1b453440104524405d4510005fed1051504bb99872440010284904405043b6b872440010284124405d43b13313410040764000065d43b0d7134100001a440000764000035d43f00a364000005d47b0d85d43f05710410300106915c05047bcd8504bb4e8724c0028284914c050452028724c0008284544c05047b338724c0030284524c050491030724c0020284904c05043b84872480050284114805047b7881ae900001ae5100020f8330058fbe00250fbe00474002d8a1a43d0005047bbf072480020284504805043bbf05047b55872480020284504805043bc5072480020284114805043bc505047bc50504bb7081ae810001ae5200020f8330058fbe00250fbe00474002d231a4bd000504fb7281ae810001ae5300020f8330058fbe00250fbe00474002d1b1a4fd0005063b9e87264002028612640504bbb087264002028493640504fbaa8a34d84a1504bba08724c0020284914c05047baa8504fbac8a34d246072440020284134405043b57872440020284134405047b0e872480020284504805fec10215fec00225043b0e85047bc7072480020284504805d43b0215d47b0225d4bf0121b4904805d4ff00e1b493480264800001a487000504fbc70394934d05d4ff00e1b453440104524405f45a0005047bc703b450490240000001ae950001ae4100020f8330058fbe00250fbe00474002d6f1a57d000750001d55043bb685047bc9072480028284114801ae950001ae4100020f8330058fbe00250fbe00474002d631a57d000750001e15043b5c0724400282841344072440028340014115d43f013364000005043b598724400282843b44072440028340004115d43f013364000001aec500091000b605d40604a505500005d51000171400001764000125047b3505fec006a5043b3f85fec107f71480002504fb16872600020284d260050490008726000202849360050491008724c0028284904c05043b8487248003028411480740000df6140000113450000764400061341004076400001360000005043b7781a401000740000025043b7781a400000134500007644000613410040764000025d43f00a364000006158010374000001615800055043b0305fec00065047ba0872480028284504801a5c000016417580764000215043ba085047b4f072480028284504805d43b141134100407640000c5d43b09e13410000764000025d43f00a364000005043b4205fec10845fec1088504bb7c872440028284904407400000a5043b4f0504100085047b3805fec007050491008724c0020284904c0504bb7c872400028284914005047b7f072400028284524007400007b61417200134500007644000d13450040764400075c47f0601341044076400001360000005043b7805d43f009740000025043b7801a4010005047b788740000025043b7881a400000134500007644000b5d47f00913410440764000081ae970001ae4100020f8330058fbe00250fbe00474002ce01a5fd0007500004061417200134500007644000d13450040764400075c47f0601341044076400001360000005043b7905d43f009740000025043b7901a4010005047b798740000025043b7981a40000013410000764000065043b2205fec0044504bb7a072440028284904407400000c5043b1205fec102461457203504bb100724c0020284914c050450008724c0020284524c0504bb7a072440028284904405043bb1072440028284124405d43b141134100401a440000764000015c47f068764401655043bb105047b54872480028284504805d43b1621341004076400001360000005043b548504100085047ba3072480020284504805043ba305047ba08504bb570724c0028284914c05d47b1411345104076440001360000005047b57050451008504bba50724c0020284914c05047b14872480020284504805043ba50504bb908724c0020284914c05047b9e8724c0020284504c0a1412460764001365043b1e85fec103d5fec00415047b7f072480028284504805043b4c872480028284114805d43b0fe13410040764000155d43b09913410000764000025d43f00a364000005043b4c8504100085047b1b85fec0037504bb2e85fec005d504d200872600020284d060050411008724c0028284124c0504bb8187240003028491400740000095043b4c8504100205fec10005047b0287248000828450480504bb81872400030284bb4005043b84872440030284124405047b51872480030284504805d43b1091341000076400001360000005d43f057104103005047b51850451008504bbb38724c0028284914c0504bb188724c0028284914c050452028724c0008284554c05047b248724c0030284524c0504d103072600020284d0600504fb68872600050284d16005047b6281ae930001ae5100020f8330058fbe00250fbe00474002c021a47d000504fb3a872600030284d26005049303072600020284906005043b6d87248005028413480504bb6481ae900001ae5200020f8330058fbe00250fbe00474002bf11a43d000504bb088724c0020284914c05fec00155045202872480020284504805043b0885d47b0155d4bf00e1b4914805d4ff00e104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c0504fb44872600020284d06005043bab072600020284136005043bab0504fbab05063b5a81ae920001ae5800020f8330058fbe00250fbe00474002b7b1a4bd0005063b5c81ae810001ae5800020f8330058fbe00250fbe00474002b731a63d0005067b8887268002028652680504bb9a872680020284986805063b928a36194a1504bb8a87260002028493600504fb9285063b948a36124e072480020284184805043b4687248002028418480504bb058724c0020284904c05fec100f5fed10105043b0585047ba9072480020284504805d43b00f5d47b0105d4bf0121b4904805d4ff00e1b493480264800001a487000504fba90394904d0764000065043b3105fec0062504bb87872440010284904407400000a5043b2105fec10425d4ff00e1b453440104524405d4510005fed1043504bb87872440010284904405043b59872440010284124405d43b10f13410040764000065d43b0b3134100001a440000764000035d43f00a364000005d47b0b45d43f05710410300106915005047bb38504bb320724c0028284914c050452028724c0008284554c05047b298724c0030284524c050491030724c0020284904c05043b72872480050284114805047b6681ae900001ae5100020f8330058fbe00250fbe00474002b671a43d0005047ba7072480020284504805043ba705047b48872480020284504805043bad072480020284114805043bad05047bad0504bb5e81ae810001ae5200020f8330058fbe00250fbe00474002b001a4bd000504fb6081ae810001ae5300020f8330058fbe00250fbe00474002af81a4fd0005063b8c87264002028612640504bb9c87264002028493640504fb968a34d84a1504bb8e8724c0020284914c05047b968504fb988a34d246072440020284134405043b4a872440020284134405047b0d072480020284504805fec101e5fec001f5043b0d05047baf072480020284504805d43b01e5d47b01f5d4bf0121b4904805d4ff00e1b493480264800001a487000504fbaf0394934d05d4ff00e1b453440104524405f45a0005047baf03b450490240000001ae970001ae4100020f8330058fbe00250fbe00474002b4c1a5fd000750001d45043ba085047bb1072480028284114801ae970001ae4100020f8330058fbe00250fbe00474002b401a5fd000750001e01aec5000910014605d54604a71400001764000125043b7985fec00f35047b8385fec110771480002504fb16872500020284d250050491008725000202849350050490008724c0028284914c0504fbeb872440030284d0440740000ea6140000113450000764400061341004076400001360000005043bca01a401000740000025043bca01a400000134500007644000613410040764000025d43f00a364000006158010374000001615800055043b0305fec0006724411b01047b44072480028284504801a5c00001641758076400022724011b01043b4005047b93072480028284504805d43b236134100407640000c5d43b12613410000764000025d43f00a364000005043b8605fec110c5fec1110504bbe3872440028284904407400000a5043b930504100085047b7c85fec00f950491008724c0020284904c0504bbe3872400028284914005047be6072400028284524007400008461417200134500007644000d13450040764400075c47f0601341044076400001360000005043bca85d43f009740000025043bca81a4010005047bcb0740000025043bcb01a400000134500007644000b5d47f00913410440764000081ae970001ae4100020f8330058fbe00250fbe00474002acb1a5fd0007500004161417200134500007644000d13450040764400075c47f0601341044076400001360000005043be005d43f009740000025043be001a4010005047be08740000025043be081a40000013410000764000065043b4705fec008e504bbe1072440028284904407400000c5043b1205fec102461457203504bb100724c0020284914c050450008724c0020284524c0504bbe107244002828490440724013f01043b40072440028284124405d43b236134100401a440000764000015c47f068764401b6724013f01043b4005047b98872480028284504805d43b27e1341004076400001360000005043b98850410008724411d81047b4407248002028450480724011d81043b400724411b01047b440504bb9b0724c0028284914c05d47b2361345104076440001360000005047b9b050451008724811f8104bb480724c0020284914c05047b1487248002028450480724011f81043b400724810b0104bb480724c0020284914c0724411901047b440724c0020284504c0a14124607640017f5043b1b85fec10375fec003b5047be6072480028284504805043b90872480028284114805d43b1cc13410040764000155d43b12113410000764000025d43f00a364000005043b908504100085047b1885fec0031504bb4e05fec009c504d200872500020284d050050411008724c0028284124c0504bbe887240003028491400740000095043b908504100205fec10005047b0287248000828450480504bbe8872400030284bb400504fbeb872400030284d24005043b95872440030284134405d43b1d71341000076400001360000005d43f058104103005047b95850451008504bb498724c0028284914c0504d202872500020284d0500504fbc1072500048284d2500504bbbd01ae930001ae5200020f8330058fbe00250fbe004740029b81a4bd000504fb7f072500028284d15005045302872500020284505005043bc5872440048284134405047bbf01ae900001ae5100020f8330058fbe00250fbe004740029a71a43d0005047b0b8724c0020284524c05fec001b50491028724c0020284904c0724014181043b40072480048284114805d43b01b5d47f00e1b4504405d4bf018104514805d4bf00f104514805d4bf0101f4514805d4bf011196904805d43f00e1b41a4005d4bf018104104805d4bf00f104104805d4bf0101f410480504bb888504fb0b87250002028493500724c1390104fb4c072500020284d250072481390104bb480724c1390104fb4c05053bb501ae910001ae5400020f8330058fbe00250fbe004740029571a47d0005053bb701ae900001ae5400020f8330058fbe00250fbe0047400294f1a53d000726010301063b6007264002028611640724411501047b4407264002028454640725010d01053b500a3518461724410501047b4407250002028453500724c10d0104fb4c0725010f01053b500a35114e072440020284944405047b8a87248002028454480504bb058724c0020284914c05fed000f5feda0105043b058724413701047b44072480020284504805d43b00f5d47b0105d4bf0121b4904805d4ff00e1b493480264800001a487000724c1370104fb4c0394904d0764000065043b5085fec00a15047bee872480148284504807400000b5043b1e05fec103c5d4ff00e1b4534401045244050490008724c0140284914c05047bee872480148284504805d43b1dd134100401a440000764000015c47f068764400a45d43b2875d47f00e1b4504405d4bf018104514805d4bf00f104514805d4bf0101f4514805d4bf011196904805d43f00e1b41a4005d4bf018104104805d4bf00f104104805d4bf0101f410480504bb8c8724c1418104fb4c07250002028493500724c13b0104fb4c072500020284d2500724813b0104bb480724c13b0104fb4c05053bb901ae910001ae5400020f8330058fbe00250fbe004740028e11a47d0005053bbb01ae900001ae5400020f8330058fbe00250fbe004740028d91a53d000726010701063b6007264002028611640724411701047b4407264002028454640725011101053b500a3518461724410901047b4407250002028453500724c1110104fb4c0725011301053b500a35114e072440020284944405047b8e87248002028454480504bb088724c0020284914c05fed00155feda0165043b088724413d01047b44072480020284504805d43b0155d47b0165d4bf0121b4904805d4ff00e1b493480264800001a487000724c13d0104fb4c0394904d0764000065043b6505fec00ca504bbcb872440148284904407400000b5043b3285fec10655d4ff00e1b4534401045244050490008724c0140284914c0504bbcb872440148284904405043b9d872440148284124405d43b1971341004076400001360000005043b9d850410008724412181047b4407248014028450480724012181043b400724400201b455440104504405043bb2072480020284114805d43b1641341004076400001360000005043bb2050410008724413581047b44072480018284504802b40000043410000724413581047b44050451008504bbb40724c0010284914c05d47b1681345104076440001360000005d47b169104510001549044076480001134904405c43f068764800011a40000024400000240000001ae970001ae4100020f8330058fbe00250fbe004740028e51a5fd00075000227724011b01043b400724413f01047b44072480028284114801ae970001ae4100020f8330058fbe00250fbe004740028d71a5fd000750002351aec5000910003b05d40604a5d47f05910451300504bb078724c0028284904c0504d202872500020284d1500504fb21072500048284d2500504bb1d01ae930001ae5200020f8330058fbe00250fbe004740028561a4bd000504fb0f072500028284d05005041302872500020284115005043b25872440048284134405047b1f01ae900001ae5100020f8330058fbe00250fbe004740028451a43d0007244002028ed24405fec00045047b02872480020284504805d43b0045d47f00e1b4504405d4bf01d104514805d4bf00f104514805d4bf0101f4514805d4bf011194104805d4bf00e1b4904805d4ff01d104924c05d4ff00f104924c05d4ff0101f4924c0504fb13872500020284fb5005053b3787254002028513540504fb3785053b3785057b1901ae910001ae5500020f8330058fbe00250fbe004740027fe1a47d0005057b1b01ae920001ae5500020f8330058fbe00250fbe004740027f61a57d000505bb2b8725c0020285915c05047b338725c0020284555c05057b2f8a35564615047b2d872540020284545405053b2f85057b318a355152072440020284d54405047b158724c0020284554c0504fb04872500020284d15005fed200d5fed000e5043b0485047b35872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fb358394904d0764000065043b0d85fec001b504bb2a072440018284904407400000b5043b0c05fec10185d4ff00e1b4534401045244050490008724c0010284914c0504bb2a072440018284904405043b39872440018284124405d43b054134100401a440000764000015c47f068764400185043b3985047b17872480018284504805d43b0731341004076400001360000005d43b0305d47b0315d4bf01e164904801a4c00007648000174000008104100401b4104005d4bf01f1b410480154114005c4ff068764000011a4c0000244c0000240000001aec500091000d785d40604a5057b8405d47f05810451300504bb098724c0028284904c0504d202872500020284d1500504fb98072500048284d2500504bb8001ae930001ae5200020f8330058fbe00250fbe004740027a31a4bd000504fb5f072500028284d05005041302872500020284115005043b9c872440048284134405047b8201ae900001ae5100020f8330058fbe00250fbe004740027921a43d0007244002028ed24405fec00045047b02872480020284504805d43b0045d47f00e1b4504405d4bf018104514805d4bf00f104514805d4bf0101f4514805d4bf011194104805d4bf00e1b4904805d4ff018104924c05d4ff00f104924c05d4ff0101f4924c0504fb63872500020284fb5005053bd587258002028513580504fbd585053bd58505bb7c01ae910001ae5600020f8330058fbe00250fbe0047400274b1a47d000505bb7e01ae920001ae5600020f8330058fbe00250fbe004740027431a5bd000505fbc9872600020285d16005047bd187260002028456600505bbcd8a35974615047bcb872580020284545805053bcd8505bbcf8a359152072440020284d64405047b658724c0020284564c0504fb04872500020284d15005fed200d5fed000e5043b0485047bd3872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fbd38394904d0764000065043b3685fec006d504fba1072440148284d04407400000b5043b0e05fec101c5d4ff00e1b4534401045244050490008724c0140284914c0504fba1072440148284d04405fec000f5043b0785053b228724400201b4404401045444072480020284504805043b078724400201b4414401045444072480020284504805043b078724400205d4bf0091b4524401045444072480020284504805043b078724400205d4bf0201b4524401045444072480020284504805043b078724400205d4bf0111b4524401045444072480020284504805043b078724400205d4bf0101b4524401045444072480020284504805043b078724400205d4bf0211b4524401045444072480020284504805043b078724400205d4bf0221b4524401045444072480020284504805043b078724400205d4bf00e1b4524401045444072480020284504805043b078724400205d4bf0231b4524401045444072480020284504805043b4b072440140284144405047b67872480148284534805d47b14213451040764400085d47b0cf13451000504fbb5872480140284d0480764400075d43f00a364000005043b67850410008504fbb5872440140284d0440724001402855340072400140255500001aec5000910003c85d40604a50450000504100285d4bf05a10492300504fb07872500028284d15005045302872500008284505005043b0a872440030284134405045003072500020284525005047b23872500050284505005043b1f81ae910001ae5000020f8330058fbe00250fbe004740026e01a43d0005047b1187250003028453500504d103072500020284d2500504bb288724c0050284914c05047b2181ae920001ae5100020f8330058fbe00250fbe004740026cf1a47d0007248002028ed04805fec00045043b02872480020284114805d43b0045d47f00e1b4504405d4bf00e104514805d4bf00f104514805d4bf0101f4514805d4bf01119410480504bb168724c0020284bb4c0504fb3a872500020284d2500504bb3a8504fb3a85053b1b81ae910001ae5400020f8330058fbe00250fbe0047400265b1a47d0005053b1d81ae810001ae5400020f8330058fbe00250fbe004740026531a53d0005057b2e872580020285515805047b36872580020284545805053b328a35154615047b3087250002028453500504fb3285053b348a35114e072440020284944405047b1887248002028454480504bb048724c0020284914c05fec100d5fed000e5043b0485047b38872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fb388394904d0764000065043b1085fec0021504bb2d872440010284904407400000a5043b0f85fec101f5d4ff00e1b453440104524405d4510005fed1020504bb2d872440010284904405043b1a872440010284124405d43b05b13410040764000065d43b035134100001a440000764000035d43f00a364000005d47b036244400001aec5000910003985d40604a5057b1f85d47f05910451300504bb078724c0028284904c0504d202872500020284d1500504fb21072500048284d2500504bb1b81ae930001ae5200020f8330058fbe00250fbe004740026151a4bd000504fb0f072500028284d05005041302872500020284115005043b25872440048284134405047b1d81ae900001ae5100020f8330058fbe00250fbe004740026041a43d0007244002028ed24405fec00045047b02872480020284504805d43b0045d47f00e1b4504405d4bf01d104514805d4bf00f104514805d4bf0101f4514805d4bf011194104805d4bf00e1b4904805d4ff01d104924c05d4ff00f104924c05d4ff0101f4924c0504fb13872500020284fb5005053b3787258002028513580504fb3785053b378505bb1781ae910001ae5600020f8330058fbe00250fbe004740025bd1a47d000505bb1981ae920001ae5600020f8330058fbe00250fbe004740025b51a5bd000505fb2b872600020285d16005047b3387260002028456600505bb2f8a35974615047b2d872580020284545805053b2f8505bb318a359152072440020284d64405047b158724c0020284564c0504fb04872500020284d15005fed200d5fed000e5043b0485047b35872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fb358394904d0764000065043b0d85fec001b504bb2a072440018284904407400000b5043b0c05fec10185d4ff00e1b4534401045244050490008724c0010284914c0504bb2a07244001828490440724000182855240072400018255500001aec5000910003c85d40604a50450000504100285d4bf05710492300504fb07872500028284d15005045302872500008284505005043b0a872440030284134405045003072500020284525005047b23872500050284505005043b1f81ae910001ae5000020f8330058fbe00250fbe004740025ae1a43d0005047b1187250003028453500504d103072500020284d2500504bb288724c0050284914c05047b2181ae920001ae5100020f8330058fbe00250fbe0047400259d1a47d0007248002028ed04805fec00045043b02872480020284114805d43b0045d47f00e1b4504405d4bf00e104514805d4bf00f104514805d4bf0101f4514805d4bf01119410480504bb168724c0020284bb4c0504fb3a872500020284d2500504bb3a8504fb3a85053b1b81ae910001ae5400020f8330058fbe00250fbe004740025291a47d0005053b1d81ae810001ae5400020f8330058fbe00250fbe004740025211a53d0005057b2e872580020285515805047b36872580020284545805053b328a35154615047b3087250002028453500504fb3285053b348a35114e072440020284944405047b1887248002028454480504bb048724c0020284914c05fec100d5fed000e5043b0485047b38872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fb388394904d0764000065043b1085fec0021504bb2d872440010284904407400000a5043b0f85fec101f5d4ff00e1b453440104524405d4510005fed1020504bb2d872440010284904405043b1a872440010284124405d43b05b13410040764000065d43b035134100001a440000764000035d43f00a364000005d47b036244400001aec5000910032005d54604a7140000176400015724010581043b4005fec020b724411681047b4405fec122d71480002504fb21072500020284d250050491008725000202849350050490008724c0028284914c0724c2a78104fb4c072440030284d04407400010861400001134500007644000713410040764000013600000072401e581043b4001a4010007400000372401e581043b4001a400000134500007644000613410040764000025d43f00a364000006150010374000001615000055043b0305fec000672442eb01047b44072480028284504801a580000164165007640002972402eb01043b400724418a01047b44072480028284504805d43b5d6134100407640000e5d43b31413410000764000025d43f00a36400000724011901043b4005fec12325fec1236724829f8104bb48072440028284904407400000d724018a01043b40050410008724410881047b4405fec021150491008724c0020284904c0724829f8104bb480724000282849140072442a201047b44072400028284524007400009361416200134500007644001013450040764400085c47f06013410440764000013600000072401e601043b4005d43f0097400000372401e601043b4001a40100072441e681047b4407400000372401e681043b4001a400000134500007644000b5d47f00913410440764000081ae960001ae4100020f8330058fbe00250fbe004740024e01a5bd0007500004c61416200134500007644001013450040764400085c47f060134104407640000136000000724029c01043b4005d43f00974000003724029c01043b4001a401000724429c81047b44074000003724029c81043b4001a40000013410000764000075043b6585fec00cb724829d0104bb48072440028284904407400000d5043b1c85fec103961456203504bb1a8724c0020284914c050450008724c0020284524c0724829d0104bb4807244002828490440724030701043b40072440028284124405d43b5d6134100401a440000764000015c47f06876440748724030701043b400724418f81047b44072480028284504805d43b60e134100407640000136000000724018f81043b4005041000872442ef01047b440724800202845048072402ef01043b40072442eb01047b44072481920104bb480724c0028284914c05d47b5d6134510407644000136000000724419201047b4405045100872482f10104bb480724c0020284914c05047b1f0724800202845048072402f101043b40072482cf0104bb480724c0020284914c072442e901047b440724c0020284504c0a14124607640070d5043b2905fec10525fec005672442a201047b4407248002828450480724018781043b40072480028284114805d43b54413410040764000175d43b30f13410000764000025d43f00a36400000724018781043b400504100085047b2605fec004c504bbd985fec01b3504d200872500020284d050050411008724c0028284124c072482a48104bb48072400030284914007400000b724018781043b400504100205fec10005047b028724800082845048072482a48104bb48072400030284bb400724c2a78104fb4c072400030284d2400724018c81043b40072440030284134405d43b54f1341000076400001360000005d43f05810410300724418c81047b44050451008724831d8104bb480724c0028284914c0504bb7e0724c0028284914c0504d202872500020284d0500724c1c90104fb4c072500048284d250072481c30104bb4801ae930001ae5200020f8330058fbe00250fbe004740023b41a4bd000724c10b0104fb4c072500028284d150050453028725000202845050072401cd81043b400724400482841344072441c501047b4401ae900001ae5100020f8330058fbe00250fbe004740023a01a43d0005047b0b8724c0020284524c05fec001b5045102872480020284504805043b0b85d47b01b5d4bf00e1b4914805d4ff018104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c05d4ff00e1b4d14c05d53f018104d35005d53f00f104d35005d53f0101f4d3500725016381053b500725800202851058072402f901043b400725800202841458072402f901043b40072502f901053b50072581ad0105bb5801ae920001ae5600020f8330058fbe00250fbe004740023521a4bd00072581af0105bb5801ae930001ae5600020f8330058fbe00250fbe004740023491a5bd000725c2bf0105fb5c072600020285d260072482e10104bb480726000202849660072582d10105bb580a35974a172482c10104bb480725800202849458072502d101053b50072582d30105bb580a35925207248002028416480724016581043b4007248002028416480504bb05872500020284905005fed300f5fed10105043b05872442f701047b44072480020284504805d43b00f5d47b0105d4bf0121b4904805d4ff00e1b493480264800001a487000724c2f70104fb4c0394904d0764000075043bdc05fec01b872482aa8104bb48072440148284904407400000c5043b2b85fec10575d4ff00e1b4534401045244050490008724c0140284914c072482aa8104bb4807244014828490440724019481043b40072440148284124405d43b555134100407640000136000000724019481043b40050410008724430981047b4407248014028450480724030981043b400724400201b4554401045044072401a901043b40072480020284114805d43b35213410040764000013600000072401a901043b4005041000872442ed81047b44072480018284504802b4000004341000072442ed81047b4405045100872481ab0104bb480724c0010284914c05d47b3561345104076440001360000005d47b357104510001549044076480001134904405d43f05b104103005047b2505fed004a5d43f0235fed004b5043bd88724c0010284114c013412000764005df724c3098104fb4c013415000764003c8134150407640035c5d43f00913415400764002ef5d43f02013415400764002825d43f01113415400764002155d43f01013415400764001aa5d43f021134154007640013f5d43f02213415400764000d45d43f00e13415400764000695d43f02313415400764000025d43f02a36400000724000201b400400104134005053bc28724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b4524401045444072480020284504805043bd685fec01ad724400205d4bf0231b45244010454440724800202845048072441e701047b440724001402845440074000063724000201b400400104134005053bac8724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b4524401045444072480020284504805043bc085fec0181724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b45244010454440724800202845048072441e701047b440724001402845440072481fb0104bb480724001402849140074000063724000201b400400104134005053b828724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b4524401045444072480020284504805043b9685fec012d724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b45244010454440724800202845048072481fb0104bb4807240014028494400724420f01047b440724001402845240074000063724000201b400400104134005053b680724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b4524401045444072480020284504805043b7c05fec00f8724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b452440104544407248002028450480724420f01047b440724001402845440072482230104bb480724001402849140074000063724000201b400400104134005053b400724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b4524401045444072480020284504805043b5505fec00aa724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b45244010454440724800202845048072482230104bb4807240014028494400724423701047b440724001402845240074000065724000201b40040010413400725014d81053b500724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724016181043b4005fec02c3724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b452440104544407248002028450480724423701047b4407240014028454400724824b0104bb480724001402849140074000065724000201b40040010413400725013481053b500724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724014b81043b4005fec0297724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b452440104544407248002028450480724824b0104bb4807240014028494400724425f01047b440724001402845240074000065724000201b40040010413400725011b81053b500724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724013281043b4005fec0265724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b452440104544407248002028450480724425f01047b440724001402845440072482730104bb480724001402849140074000065724000201b400400104134005053bf08724400201b440440104544407248002028450480724010f81043b4005fec021f724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b45244010454440724800202845048072482730104bb4807240014028494400724428701047b4407240014028452400740000645043b2305fec00465053b988724400201b440440104544407248002028450480724000201b40140010413400724400201b441440104544407248002028450480724000205d47f0091b41140010413400724400205d4bf0091b452440104544407248002028450480724000205d47f0201b41140010413400724400205d4bf0201b452440104544407248002028450480724000205d47f0111b41140010413400724400205d4bf0111b452440104544407248002028450480724000205d47f0101b41140010413400724400205d4bf0101b452440104544407248002028450480724000205d47f0211b41140010413400724400205d4bf0211b452440104544407248002028450480724000205d47f0221b41140010413400724400205d4bf0221b452440104544407248002028450480724000205d47f00e1b41140010413400724400205d4bf00e1b452440104544407248002028450480724000205d47f0231b41140010413400724400205d4bf0231b452440104544407248002028450480724428701047b44072400140284544005d43f058104103005d5bf05a1059630072480140284d1480724431d81047b440725c3098105fb5c0504bb570724c0028284914c050452028724c0020284504c072401d201043b400724400482841244072441c701047b4401ae900001ae5100020f8330058fbe00250fbe00474001e971a43d00072442f301047b440724800202845048072402f301043b400724416781047b440724800202845048072402fb01043b400724800202841148072402fb01043b40072442fb01047b44072481b10104bb4805d4ff01e1ae930001ae5200020f8330058fbe00250fbe00474001e5d1a4bd000724c1b90104fb4c05d53f01e1ae940001ae5300020f8330058fbe00250fbe00474001e531a4fd00072502c301053b500725400202851254072482e30104bb4807254002028493540724c2d50104fb4c0a34d44a172482c50104bb480724c0020284914c072442d501047b440724c2d70104fb4c0a34d24607244002028413440724016981043b40072440020284134405047b10072480020284504805d43f01e5fed00245fec00255043b100724430101047b44072480020284504805d43b0245d47b0255d4bf0121b4904805d4ff00e1b493480264800001a487000724c3010104fb4c0394934d05d4ff00e1b45344010452440724c16b8104fb4c072500140284d75005d53f01828453500724430101047b4403b450490724031d81043b40072442ed81047b440724812f8104bb480724c0028284904c050412028724c0008284114c05043b5b8724400302841244050450030724c0020284564c072441d681047b440724c0050284504c072401b301043b4001ae910001ae5000020f8330058fbe00250fbe00474001e4c1a43d000724411181047b440724c0030284524c050491030724c0020284964c072481db8104bb480724c0050284914c072441b501047b4401ae920001ae5100020f8330058fbe00250fbe00474001e381a47d000504bb130724c0020284904c05fec002a5041202872480020284114805043b1305d47b02a5d4bf00e1b4914805d4ff00e104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c0724c17f8104fb4c072500020284d050072402fd01043b400725000202841350072402fd01043b400724c2fd0104fb4c072501bb01053b5001ae920001ae5400020f8330058fbe00250fbe00474001dbd1a4bd00072501bd01053b5001ae810001ae5400020f8330058fbe00250fbe00474001db41a53d00072542c701057b540725800202855258072482e50104bb480725800202849458072502d901053b500a35154a172482c90104bb4807250002028493500724c2d90104fb4c072502db01053b500a35124e07248002028414480724018181043b4007248002028414480504bb088724c0020284904c05fec10155fed10165043b088724430301047b44072480020284504805d43b0155d47b0165d4bf0121b4904805d4ff00e1b493480264800001a487000724c3030104fb4c0394904d076400008724010481043b4005fec0209724829b0104bb48072440010284904407400000b5043b5405fec10a85d4ff00e1b453440104524405d4510005fed10a9724829b0104bb480724400102849044072401ac01043b40072440010284124405d43b53613410040764000065d43b358134100001a440000764000035d43f00a364000005d47b3595d43f05a10410300724831d8104bb480724c2ed8104fb4c0725014881053b5007254002828512540504940287254000828493540105910405047b608724800302845448050491030724c0020284904c072401e081043b400724800502841148072441b701047b4401ae900001ae5100020f8330058fbe00250fbe00474001d951a43d00072442f501047b440724800202845048072402f501043b400724418381047b440724800202845048072402ff01043b400724800202841148072402ff01043b40072442ff01047b44072481bf0104bb4801ae810001ae5200020f8330058fbe00250fbe00474001d271a4bd000724c1c10104fb4c01ae810001ae5300020f8330058fbe00250fbe00474001d1e1a4fd00072502cb01053b500725400202851254072482e70104bb4807254002028493540724c2dd0104fb4c0a34d44a172482cd0104bb480724c0020284914c072442dd01047b440724c2df0104fb4c0a34d24607244002028413440724018581043b40072440020284134405047b17872480020284504805fec10335fec00345043b178724430501047b44072480020284504805d43b0335d47b0345d4bf0121b4904805d4ff00e1b493480264800001a487000724c3050104fb4c0394934d05d4ff00e1b453440104524405f456000724430501047b4403b450490240000005d43f0095d47b1b15d4bb1b2340104525d43f013364000001ae960001ae4100020f8330058fbe00250fbe00474001d621a5bd000750007ca72402eb01043b400724430701047b44072480028284114801ae960001ae4100020f8330058fbe00250fbe00474001d541a5bd000750007d81aec5000910007985d43f059104103005d47f059104513007248002028ed04805fec00045043b02872480020284114805043b3881ae9000020f8330058fbe00250fbe0047400199f1a43d0005047b31072480030284504805d43b0621341000076400001360000005043b310504100085047b100724800282845048050491028504fb0287250002028493500504bb4c8724c0048284914c05047b4681ae920001ae5100020f8330058fbe00250fbe00474001cbb1a47d000504bb1e0724c0028284904c050412028504fb02872500020284135005043b510724c0048284124c0504bb4881ae900001ae5200020f8330058fbe00250fbe00474001ca91a43d000504bb048724c0020284914c05fec000d5045202872480020284504805043b0485d47b00d5d4bf00e1b4914805d4ff01d104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c05d4ff00e1b4d14c05d53f01d104d35005d53f00f104d35005d53f0101f4d35005053b28072540020285105405043b73872540020284145405043b7385053b7385057b3e81ae920001ae5500020f8330058fbe00250fbe00474001c601a4bd0005057b4081ae930001ae5500020f8330058fbe00250fbe00474001c581a57d000505bb5b8725c0020285925c0504bb6b8725c0020284955c05057b638a35564a1504bb5d872540020284945405053b6385057b658a355252072480020284154805043b2a07248002028415480504bb09072500020284905005fed30165fed10175043b0905047b71872480020284504805d43b0165d47b0175d4bf0121b4904805d4ff00e1b493480264800001a487000504fb718394904d0764000065043b1b85fec0037504bb5a072440018284904407400000b5043b1485fec10295d4ff00e1b4534401045244050490008724c0010284914c0504bb5a072440018284904405043b37072440018284124405d43b0b41341004076400001360000005d43b06f5d57b0705d47f01e164504405d4bf05c10492300504fb0f05fed201e5d4bf0305fed201f504bb1a872500010284935001345100076440092104500401b4514405d4bf0311b451480154554405d4bf05d10492300504fb1d05fed203a5d4bf0325fed203b504bb2287250001028493500134510007644007c5d47f059104513005d4bf05910492300105100405043b238724c0020284114c05fec004b5041002872440020284124405043b3b81ae9000020f8330058fbe00250fbe004740018ce1a43d0005047b34072480030284504805d43b0681341000076400001360000005043b340504100085047b160724800282845048050411028504bb23850492028724c0020284124c05043b55872480048284114805047b4a81ae900001ae5100020f8330058fbe00250fbe00474001be91a43d0005047b6f872480020284504805043b6f85047b2c072480020284504805043b75872480020284114805043b7585047b758504bb4281ae810001ae5200020f8330058fbe00250fbe00474001bb71a4bd000504fb4481ae810001ae5300020f8330058fbe00250fbe00474001baf1a4fd000505bb5f8725c0020285925c0504bb6d8725c0020284935c0504fb678a34d64a1504bb618724c0020284914c05047b678504fb698a34d246072440020284134405043b2e072440020284134405047b0c072480020284504805fec101c5fec001d5043b0c05047b77872480020284504805d43b01c5d47b01d5d4bf0121b4904805d4ff00e1b493480264800001a487000504fb778394934d05d4ff00e1b45344010452440504fb3005fed40605fed50615d53f01d284535005047b7783b450490240000005d43f0115d47b0455d4bb046340104525d43f013364000005d43f0205d47b0355d4bb036340104525d43f013364000001aec50009100131071400001764000125043b6e85fec00dd5047b7885fec10f171480002504fb23872500020284d250050491008725000202849350050490008724c0028284914c0504fbeb072440030284d0440740000e96140000113450000764400061341004076400001360000005043bda01a401000740000025043bda01a400000134500007644000613410040764000025d43f00a364000006150010374000001615000055043b0305fec0006724411381047b44072480028284504801a5400001641550076400022724011381043b4005047ba9872480028284504805d43b227134100407640000c5d43b15313410000764000025d43f00a364000005043b7b05fec10f65fec10fa504bbe3072440028284904407400000a5043ba98504100085047b7185fec00e350491008724c0020284904c0504bbe3072400028284914005047be5872400028284524007400008361415200134500007644000d13450040764400075c47f0601341044076400001360000005043bda85d43f009740000025043bda81a4010005047bdb0740000025043bdb01a400000134500007644000b5d47f00913410440764000081ae950001ae4100020f8330058fbe00250fbe00474001b871a57d0007500004161415200134500007644000d13450040764400075c47f0601341044076400001360000005043bdf85d43f009740000025043bdf81a4010005047be00740000025043be001a40000013410000764000065043b2f85fec005f504bbe0872440028284904407400000c5043b1d05fec103a61455203504bb170724c0020284914c050450008724c0020284524c0504bbe087244002828490440724012a01043b40072440028284124405d43b227134100401a440000764000015c47f06876440302724012a01043b4005047baf072480028284504805d43b2541341004076400001360000005043baf050410008724411601047b4407248002028450480724011601043b400724411381047b440504bbb18724c0028284914c05d47b2271345104076440001360000005047bb185045100872481180104bb480724c0020284914c05047b1f87248002028450480724011801043b400504bbfb8724c0020284914c0724410f81047b440724c0020284504c0a1412460764002cc5043b2b85fec10575fec005b5047be5872480028284504805043ba4872480028284114805d43b1cb13410040764000155d43b14913410000764000025d43f00a364000005043ba48504100085047b2885fec0051504bb5685fec00ad504d200872500020284d050050411008724c0028284124c0504bbe807240003028491400740000095043ba48504100205fec10005047b0287248000828450480504bbe8072400030284bb400504fbeb072400030284d24005043bac072440030284134405d43b1d61341000076400001360000005d43f059104103005047bac050451008724812e8104bb480724c0028284914c0504bb320724c0028284914c0504d202872500020284d0500504fbc8072500048284d2500504bbc001ae930001ae5200020f8330058fbe00250fbe00474001a711a4bd000504fb74072500028284d15005045302872500020284505005043bcc872440048284134405047bc201ae900001ae5100020f8330058fbe00250fbe00474001a601a43d0005047b088724c0020284524c05fec00155045102872480020284504805043b0885d47b0155d4bf00e1b4914805d4ff01d104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c05d4ff00e1b4d14c05d53f01d104d35005d53f00f104d35005d53f0101f4d35005053b7d87254002028510540724012001043b4007254002028414540724012001043b400725012001053b5005057bb401ae920001ae5500020f8330058fbe00250fbe00474001a141a4bd0005057bb601ae930001ae5500020f8330058fbe00250fbe00474001a0c1a57d000505bbef8725c0020285925c072481098104bb480725c0020284955c05057bfd8a35564a1504bbf1872540020284945405053bfd85057bff8a355252072480020284154805043b7f87248002028415480504bb05872500020284905005fed300f5fed10105043b058724411e01047b44072480020284504805d43b00f5d47b0105d4bf0121b4904805d4ff00e1b493480264800001a487000724c11e0104fb4c0394904d0764000065043b5905fec00b25047bee072480018284504807400000b5043b2e05fec105c5d4ff00e1b4534401045244050490008724c0010284914c05047bee072480018284504805d43b1dc134100401a440000764000015c47f0685d43f05e10410300504bb2785fed004f5d43f0365fed00505043b558724c0010284124c013411000764001e75d43f059104103005d63f058106183005d5ff056105d73005d5bf05610596300724412e81047b440504bb368724c0028284914c050452028724c0020284504c05043bd1072440048284124405047bc401ae900001ae5100020f8330058fbe00250fbe004740019c41a43d000724411a01047b4407248002028450480724011a01043b4005047b8187248002028450480724012201043b4007248002028411480724012201043b400724412201047b440504bbb801ae810001ae5200020f8330058fbe00250fbe0047400198d1a4bd000504fbba01ae810001ae5300020f8330058fbe00250fbe004740019851a4fd0005053bf387254002028512540724810b8104bb4807254002028493540724c1018104fb4c0a34d44a1504bbf58724c0020284914c0724410181047b440724c1038104fb4c0a34d246072440020284134405043b83872440020284134405047b0d072480020284504805fec101e5fec001f5043b0d0724412601047b44072480020284504805d43b01e5d47b01f5d4bf0121b4904805d4ff00e1b493480264800001a487000724c1260104fb4c0394934d05d4ff00e1b45344010452440504fb8585fec110b5fec010c5d53f01d28453500724412601047b4403b450490725012e81053b5005fec004b5043b258504fb3b0724400201b4404401045344072480020284504805043b258724400201b4414401045344072480020284504805043b258724400205d4bf0091b4524401045344072480020284504805043b258724400205d4bf0201b4524401045344072480020284504805043b258724400205d4bf0111b4524401045344072480020284504805043b258724400205d4bf0101b4524401045344072480020284504805043b258724400205d4bf0211b4524401045344072480020284504805043b258724400205d4bf0221b4524401045344072480020284504805043b258724400205d4bf00e1b4524401045344072480020284504805043b258724400205d4bf0231b4524401045344072480020284504805067b5a872400140286534005043b4f072440028284144405045002872480020284584805047bd5872480048284504805043bc601ae910001ae5000020f8330058fbe00250fbe004740019101a43d000724411c01047b4407248002028450480724011c01043b4005047b8687248002028450480724012401043b4007248002028411480724012401043b400724412401047b440504bbbc05d4ff01e1ae930001ae5200020f8330058fbe00250fbe004740018d81a4bd000504fbbe05d53f01e1ae940001ae5300020f8330058fbe00250fbe004740018cf1a4fd0005053bf787254002028512540724810d8104bb4807254002028493540724c1058104fb4c0a34d44a1504bbf98724c0020284914c0724410581047b440724c1078104fb4c0a34d246072440020284134405043b88872440020284134405047b10072480020284504805d43f01e5fed00245fec00255043b100724412801047b44072480020284504805d43b0245d47b0255d4bf0121b4904805d4ff00e1b493480264800001a487000724c1280104fb4c0394934d05d4ff00e1b45344010452440504fb8a872500140284d95005d53f01828453500724412801047b4403b450490724012e81043b4005047b9e872480020284564805d4bf037354910001a446000504bb190724c0020284914c0724412c81047b440724c0020284574c0724412c81047b440504fb13072500020284d25005049302072500020284965005d4bf00842453480724412c81047b440504fb53872480020284d14805047ba7072480028284504805d43b25d13410000764000105d43b14e13410040764000025d43f00a364000005043ba70504100085047b21872480020284504805043ba2872480020284134805d4bf0373c452400740000885043ba7050410008724411181047b440724800202845048072481118104bb4806140000113450000764400061341004076400001360000005043bdb81a401000740000025043bdb81a400000134500007644000613410040764000025d43f00a364000006154010474000001615400061a50000016414540764000025d43f03836400000614143001345000076440014134500407644000e5c47f06013450440764400075c47f1c81341044076400001360000005043bdc05d43f020740000025043bdc05d43f0095047bdc8740000025043bdc81a4010005047bdd0740000025043bdd01a4000005d47f020134104407640000174000040614143001345000076440014134500407644000e5c47f06013450440764400075c47f1c81341044076400001360000005043bdd85d43f020740000025043bdd85d43f0095047bde0740000025043bde01a4010005047bde8740000025043bde81a4000001345000076440022134500407644001f5d47f009134504401a5800007644001a5d47f02013410440764000025d43f00a364000006140000113450000764400061341004076400001360000005043bdf01a401000740000025043bdf01a400000134500007644000613410040764000025d43f00a3640000061414109740000016141400c5d590005740000023600000061594302134160007640000210514040750000615043b1b072440020284124405047ba0872480020284534805d4bf0373d414491240000005d43f0105d47b0ab5d4bb0ac340104525d43f013364000001ae950001ae4100020f8330058fbe00250fbe004740018551a57d00075000373724011381043b400724412a01047b44072480028284114801ae950001ae4100020f8330058fbe00250fbe004740018471a57d000750003811aec5000910032105d40604a505500005d5900017140000176400015724010a81043b4005fec0215724411e81047b4405fec123d71480002504fb24872500020284d250050491008725000202849350050490008724c0028284914c0724c2bd8104fb4c072440030284d04407400010861400001134500007644000713410040764000013600000072401e801043b4001a4010007400000372401e801043b4001a400000134500007644000613410040764000025d43f00a364000006150010374000001615000055043b0305fec000672442ed81047b44072480028284504801a5c0000164175007640002972402ed81043b400724418f81047b44072480028284504805d43b5db134100407640000e5d43b31f13410000764000025d43f00a36400000724012101043b4005fec12425fec124672482b58104bb48072440028284904407400000d724018f81043b40050410008724410d81047b4405fec021b50491008724c0020284904c072482b58104bb480724000282849140072442b801047b44072400028284524007400009361417200134500007644001013450040764400085c47f06013410440764000013600000072401e881043b4005d43f0097400000372401e881043b4001a40100072441e901047b4407400000372401e901043b4001a400000134500007644000b5d47f00913410440764000081ae970001ae4100020f8330058fbe00250fbe004740017c01a5fd0007500004c61417200134500007644001013450040764400085c47f06013410440764000013600000072402b201043b4005d43f0097400000372402b201043b4001a40100072442b281047b4407400000372402b281043b4001a40000013410000764000075043b5f05fec00be72482b30104bb48072440028284904407400000d5043b2005fec104061457203504bb1a8724c0020284914c050450008724c0020284524c072482b30104bb4807244002828490440724030801043b40072440028284124405d43b5db134100401a440000764000015c47f06876440747724030801043b400724419501047b44072480028284504805d43b610134100407640000136000000724019501043b4005041000872442f001047b440724800202845048072402f001043b40072442ed81047b44072481978104bb480724c0028284914c05d47b5db134510407644000136000000724419781047b4405045100872482f20104bb480724c0020284914c05047b228724800202845048072402f201043b40072482d18104bb480724c0020284914c072442eb81047b440724c0020284504c0a14124607640070c5043b2c85fec10595fec005d72442b801047b4407248002828450480724018d01043b40072480028284114805d43b57013410040764000175d43b31a13410000764000025d43f00a36400000724018d01043b400504100085047b2985fec0053504bbde85fec01bd504d200872500020284d050050411008724c0028284124c072482ba8104bb48072400030284914007400000b724018d01043b400504100205fec10005047b028724800082845048072482ba8104bb48072400030284bb400724c2bd8104fb4c072400030284d2400724019201043b40072440030284134405d43b57b1341000076400001360000005d43f05710410300724419201047b44050451008724830a8104bb480724c0028284914c0504bb268724c0028284914c050452028724c0008284554c05047b778724c0030284524c0504d103072500020284d0500724c1d90104fb4c072500050284d150072441b581047b4401ae930001ae5100020f8330058fbe00250fbe004740016c31a47d000724c1100104fb4c072500030284d250050493030725000202849050072401de01043b400724800502841348072481b78104bb4801ae900001ae5200020f8330058fbe00250fbe004740016af1a43d000504bb0b8724c0020284914c05fec001b5045202872480020284504805043b0b85d47b01b5d4bf00e1b4914805d4ff00e104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c0724c1668104fb4c072500020284d050072402fa01043b400725000202841350072402fa01043b400724c2fa0104fb4c072501af81053b5001ae920001ae5400020f8330058fbe00250fbe004740016341a4bd00072501b181053b5001ae810001ae5400020f8330058fbe00250fbe0047400162b1a53d000725c2c18105fb5c072600020285d260072482e38104bb480726000202849460072502d381053b500a35174a172482c38104bb4807250002028493500724c2d38104fb4c072502d581053b500a35124e07248002028414480724016881043b4007248002028414480504bb058724c0020284904c05fec100f5fed10105043b05872442f801047b44072480020284504805d43b00f5d47b0105d4bf0121b4904805d4ff00e1b493480264800001a487000724c2f80104fb4c0394904d0764000075043be105fec01c272482c08104bb48072440010284904407400000b5043b2f05fec105e5d4ff00e1b453440104524405d4510005fed105f72482c08104bb480724400102849044072401ae81043b40072440010284124405d43b58113410040764000065d43b35d134100001a440000764000035d43f00a364000005d47b35e1541104076400001134110405063bdc05fec11b85fed11bc13410000764006085d43f057104103005d67f0581065930020691040724430a81047b440724811b8104bb480724c0028284914c050452028724c0008284554c05047b928724c0030284524c050491030724c0020284904c072401e301043b400724800502841148072441b981047b4401ae900001ae5100020f8330058fbe00250fbe004740016051a43d00072442f401047b440724800202845048072402f401043b400724416a81047b440724800202845048072402fc01043b400724800202841148072402fc01043b40072442fc01047b44072481b38104bb4801ae810001ae5200020f8330058fbe00250fbe004740015971a4bd000724c1bb8104fb4c01ae810001ae5300020f8330058fbe00250fbe0047400158e1a4fd00072502c581053b500725c0020285125c072482e58104bb480725c0020284935c0724c2d78104fb4c0a34d44a172482c78104bb480724c0020284914c072442d781047b440724c2d98104fb4c0a34d24607244002028413440724016c81043b40072440020284134405047b10072480020284504805fec10245fec00255043b100724430201047b44072480020284504805d43b0245d47b0255d4bf0121b4904805d4ff00e1b493480264800001a487000724c3020104fb4c0394934d05d4ff00e1b453440104524405f45a000724430201047b4403b450490724030a81043b4005047bab8724800282845048050491028724c0020284994c072481cb8104bb480724c0048284914c072441c581047b4401ae920001ae5100020f8330058fbe00250fbe004740015611a47d00072481150104bb480724c0028284904c050412028724c0020284194c072401d001043b400724c0048284124c072481c78104bb4801ae900001ae5200020f8330058fbe00250fbe0047400154d1a43d000504bb130724c0020284914c05fec002a5045202872480020284504805043b1305d47b02a5d4bf00e1b4914805d4ff018104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011196914c05d47f00e1b45a4405d4ff018104514c05d4ff00f104514c05d4ff0101f4514c0724c16e8104fb4c072500020284d050072402fe01043b400725000202841350072402fe01043b400724c2fe0104fb4c072501bd81053b5001ae920001ae5400020f8330058fbe00250fbe004740014ff1a4bd00072501bf81053b5001ae910001ae5400020f8330058fbe00250fbe004740014f61a53d000725c2c98105fb5c072640020285d264072482e78104bb480726400202849464072502db81053b500a35174a172482cb8104bb4807250002028493500724c2db8104fb4c072502dd81053b500a35124e07248002028414480724017081043b4007248002028414480504bb088724c0020284904c05fed10155feda0165043b088724430401047b44072480020284504805d43b0155d47b0165d4bf0121b4904805d4ff00e1b493480264800001a487000724c3040104fb4c0394904d0764000075043be205fec01c472481e98104bb48072440148284904407400000c5043b3005fec10605d4ff00e1b4534401045244050490008724c0140284914c072481e98104bb4807244014828490440724019a01043b40072440148284124405d43b3d3134100407640000136000000724019a01043b40050410008724430d01047b4407248014028450480724013981043b4005fec12732b440000434510005fed12745047b1c87248000828455480504510087248001028450480725030d01053b500504fb1c813416000764003e313416040764003745d43f00913416400764003045d43f02013416400764002945d43f01113416400764002245d43f01013416400764001b65d43f02113416400764001485d43f02213416400764000da5d43f00e134164007640006c5d43f02313416400764000025d43f03a36400000724000201b400400104144005057bb20724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b4524401045544072480020284504805043bda05fec11b4504500087248001828453480724400205d4bf0231b45244010455440724800202845048072441fe01047b440724001402845540074000066724000201b400400104144005057b978724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b4524401045544072480020284504805043bb005fec1160504500087248001828453480724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010455440724800202845048072441fe01047b440724001402845540072482120104bb480724001402849140074000066724000201b400400104144005057b7c8724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b4524401045544072480020284504805043b9085fec1121504500087248001828453480724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010455440724800202845048072482120104bb4807240014028495400724422601047b440724001402845240074000066724000201b400400104144005057b618724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b4524401045544072480020284504805043b7585fec10eb504500087248001828453480724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104554407248002028450480724422601047b4407240014028455400724823a0104bb480724001402849140074000066724000201b400400104144005057b448724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b4524401045544072480020284504805043b5885fec10b1504500087248001828453480724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104554407248002028450480724823a0104bb4807240014028495400724424e01047b440724001402845240074000068724000201b40040010414400725415081057b540724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724016481043b4005fec12c9504500087248001828453480724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104554407248002028450480724424e01047b440724001402845540072482620104bb480724001402849140074000068724000201b40040010414400725413a81057b540724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724014e81043b4005fec129d504500087248001828453480724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010455440724800202845048072482620104bb4807240014028495400724427601047b440724001402845240074000068724000201b40040010414400725412381057b540724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724013781043b4005fec126f504500087248001828453480724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104554407248002028450480724427601047b4407240014028455400724828a0104bb480724001402849140074000068724000201b400400104144005057bf68724400201b440440104554407248002028450480724011981043b4005fec1233504500087248001828453480724400201b441440104554407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104554407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104554407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104554407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104554407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104554407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104554407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104554407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104554407248002028450480724828a0104bb4807240014028495400724429e01047b4407240014028452400740000675043b1e05fec103c504500087248001828453480504fbc60724400201b440440104534407248002028450480724000201b40140010414400724400201b441440104534407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104534407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104534407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104534407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104534407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104534407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104534407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104534407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104534407248002028450480724429e01047b44072400140284534005d43f058104103007248014028511480724430a81047b440725830d0105bb580504bb5a8724c0028284914c050452028724c0020284504c072401d481043b400724400482841244072441c981047b4401ae900001ae5100020f8330058fbe00250fbe0047400104c1a43d00072442f601047b440724800202845048072402f601043b400724417281047b4407248002028450480724030001043b4007248002028411480724030001043b400724430001047b44072481c18104bb4805d4ff01e1ae930001ae5200020f8330058fbe00250fbe004740010121a4bd000724c1c38104fb4c05d53f01e1ae940001ae5300020f8330058fbe00250fbe004740010081a4fd00072502cd81053b500725400202851254072482e98104bb4807254002028493540724c2df8104fb4c0a34d44a172482cf8104bb480724c0020284914c072442df81047b440724c2e18104fb4c0a34d24607244002028413440724017481043b40072440020284134405047b17872480020284504805d43f01e5fed00335fec00345043b178724430601047b44072480020284504805d43b0335d47b0345d4bf0121b4904805d4ff00e1b493480264800001a487000724c3060104fb4c0394934d05d4ff00e1b45344010452440724c1768104fb4c072500140284d65005d53f01828453500724430601047b4403b45049024000000724018a81043b40072440028284184405d47f02172480028340114125d43f013364000001ae970001ae4100020f8330058fbe00250fbe004740010431a5fd000750007c972402ed81043b400724430801047b44072480028284114801ae970001ae4100020f8330058fbe00250fbe004740010351a5fd000750007d71aec500091002cd05d40604a505900005d550001505d00105d417002134105405d47f05f104513005fed10005d47f0405fed10015047b220724800102847b48013410000764007d27140000176400015724010001043b4005fec0200724411001047b4405fec122071480002504fb1c872500020284d250050491008725000202849350050490008724c0028284914c0724c2760104fb4c072440030284d04407400010961400001134500007644000713410040764000013600000072401b401043b4001a4010007400000372401b401043b4001a400000134500007644000613410040764000025d43f00a36400000614c010374000001614c00055043b0105fec0002724429c01047b44072480028284504801a600000164184c076400029724029c01043b400724418001047b44072480028284504805d43b538134100407640000e5d43b30013410000764000025d43f00a36400000724011281043b4005fec12255fec1229724826e0104bb48072440028284904407400000d724018001043b40050410008724410301047b4405fec020650491008724c0020284904c0724826e0104bb4807240002828491400724427081047b44072400028284524007400009361418200134500007644001013450040764400085c47f06013410440764000013600000072401b481043b4005d43f0097400000372401b481043b4001a40100072441b501047b4407400000372401b501043b4001a400000134500007644000b5d47f00913410440764000081ae980001ae4100020f8330058fbe00250fbe00474000fa11a63d0007500004c61418200134500007644001013450040764400085c47f060134104407640000136000000724026a81043b4005d43f00974000003724026a81043b4001a401000724426b01047b44074000003724026b01043b4001a40000013410000764000075043b4405fec0088724826b8104bb48072440028284904407400000d5043b1805fec103061458203504bb1407250002028491500504500087250002028452500724826b8104bb480724400282849044072402b401043b40072440028284124405d43b538134100401a440000764000015c47f0687644070c72402b401043b400724418581047b44072480028284504805d43b568134100407640000136000000724018581043b4005041000872442a001047b440724800202845048072402a001043b400724429c01047b44072481880104bb48072500028284915005d47b538134510407644000136000000724418801047b4405045100872482a20104bb48072500020284915005047b1a8724800202845048072402a201043b40072482860104bb4807250002028491500724429a01047b4407250002028450500a1412460764006d15043b2605fec104c5fec0050724427081047b4407248002828450480724017d81043b40072480028284114805d43b4e113410040764000175d43b2fb13410000764000025d43f00a36400000724017d81043b400504100085047b2305fec0046504bbd185fec01a3504d200872500020284d050050411008724c0028284124c072482730104bb48072400030284914007400000c724017d81043b400504100205047b1105fec102250491028724c0008284904c072482730104bb4807240003028491400724c2760104fb4c072400030284d2400724018281043b40072440030284134405d43b4ec1341000076400001360000005d43f05710410300724418281047b4405045100872482b68104bb480724c0028284914c0504bbfd0724c0028284914c050452028724c0008284564c05047b5c8724c0030284524c0504d103072500020284d0500724c1a50104fb4c072500050284d1500724419a81047b4401ae930001ae5100020f8330058fbe00250fbe00474000ea31a47d000724c1058104fb4c072500030284d250050493030725000202849050072401aa01043b4007248005028413480724819c8104bb4801ae900001ae5200020f8330058fbe00250fbe00474000e8f1a43d000504bb068724c0020284914c05fec00115045202872480020284504805043b0685d47b0115d4bf00e1b4914805d4ff00e104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c0724c15b0104fb4c072500020284d050072402aa01043b400725000202841350072402aa01043b400724c2aa0104fb4c0725018c81053b5001ae920001ae5400020f8330058fbe00250fbe00474000e141a4bd000725018e81053b5001ae810001ae5400020f8330058fbe00250fbe00474000e0b1a53d000726027a01063b600726400202861264072482940104bb4807264002028494640725028801053b500a35184a1724827c0104bb4807250002028493500724c2880104fb4c0725028a01053b500a35124e07248002028414480724015d01043b4007248002028414480504bb038724c0020284904c05fec100b5fed100c5043b03872442a801047b44072480020284504805d43b00b5d47b00c5d4bf0121b4904805d4ff00e1b493480264800001a487000724c2a80104fb4c0394904d0764000075043bd405fec01a872482790104bb48072440010284904407400000b5043b2885fec10515d4ff00e1b453440104524405d4510005fed105272482790104bb4807244001028490440724018b81043b40072440010284124405d43b4f213410040764000065d43b317134100001a440000764000035d43f00a364000005d47b318154115407640000113411540724810d8104bb4805fec121b5fed521f13410000764005cb5d43f057104103002065154072442b681047b440724812b0104bb480724c0028284914c050452028724c0008284564c05047b778724c0030284524c050491030724c0020284904c072401af01043b4007248005028411480724419e81047b4401ae900001ae5100020f8330058fbe00250fbe00474000de61a43d00072442a401047b440724800202845048072402a401043b400724415f01047b440724800202845048072402ac01043b400724800202841148072402ac01043b40072442ac01047b44072481908104bb4801ae810001ae5200020f8330058fbe00250fbe00474000d781a4bd000724c1928104fb4c01ae810001ae5300020f8330058fbe00250fbe00474000d6f1a4fd000725027e01053b500726000202851260072482960104bb4807260002028493600724c28c0104fb4c0a34d44a172482800104bb480724c0020284914c0724428c01047b440724c28e0104fb4c0a34d24607244002028413440724016101043b40072440020284134405047b0b072480020284504805fec101a5fec001b5043b0b072442b001047b44072480020284504805d43b01a5d47b01b5d4bf0121b4904805d4ff00e1b493480264800001a487000724c2b00104fb4c0394934d05d4ff00e1b453440104524405f45900072442b001047b4403b4504905fec003d5043b1e8504fb908724400201b4404401045344072480020284504805043b1e8724400201b4414401045344072480020284504805043b1e8724400205d4bf0091b4524401045344072480020284504805043b1e8724400205d4bf0201b4524401045344072480020284504805043b1e8724400205d4bf0111b4524401045344072480020284504805043b1e8724400205d4bf0101b4524401045344072480020284504805043b1e8724400205d4bf0211b4524401045344072480020284504805043b1e8724400205d4bf0221b4524401045344072480020284504805043b1e8724400205d4bf00e1b4524401045344072480020284504805043b1e8724400205d4bf0231b4524401045344072480020284504805043bd50724401402841344072442b901047b44072480140284504801a640000164195407640007c5d43f0581041030072442b681047b44072682b90106bb680504bb3f8724c0028284914c050452028724c0020284504c072401a081043b4007244004828412440724419881047b4401ae900001ae5100020f8330058fbe00250fbe00474000cee1a43d00072442a601047b440724800202845048072402a601043b400724416301047b440724800202845048072402ae01043b400724800202841148072402ae01043b40072442ae01047b44072481948104bb4805d4ff01e1ae930001ae5200020f8330058fbe00250fbe00474000cb41a4bd000724c1968104fb4c05d53f01e1ae940001ae5300020f8330058fbe00250fbe00474000caa1a4fd000725028201053b500726000202851260072482980104bb4807260002028493600724c2900104fb4c0a34d44a172482840104bb480724c0020284914c0724429001047b440724c2920104fb4c0a34d24607244002028413440724016501043b40072440020284134405047b0e072480020284504805d43f01e5fed00205fec00215043b0e072442b201047b44072480020284504805d43b0205d47b0215d4bf0121b4904805d4ff00e1b493480264800001a487000724c2b20104fb4c0394934d05d4ff00e1b45344010452440724c1670104fb4c072500140284da5005d53f0182845350072442b201047b4403b45049024000000724014201043b4005fec12842b440000434510005fed12855047b208724800082845648050491008724c0010284904c0724029e81043b40072480018284114805d4170021645064076440001134506407644000e5d4170005d47f00e1b45164010410440724410a81047b4405fec12155d4100005fed021672481b58104bb4807240001028491400740000065043ba685fec014d72481b58104bb4807244001028490440724018a81043b40072440010284124405d43b36b1341004076400001360000005d43b31672502b901053b500724c29e8104fb4c013450000764403e313450040764403745d47f00913450440764403045d47f02013450440764402945d47f01113450440764402245d47f01013450440764401b65d47f02113450440764401485d47f02213450440764400da5d47f00e134504407644006c5d47f02313410440764000025d43f03a36400000724000201b400400104144005063ba78724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b4524401045844072480020284504805043bcf85fec119f504500087248001828453480724400205d4bf0231b45244010458440724800202845048072441b681047b440724001402845840074000066724000201b400400104144005063b7c8724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b4524401045844072480020284504805043ba485fec1149504500087248001828453480724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010458440724800202845048072441b681047b440724001402845840072481ca8104bb480724001402849140074000066724000201b400400104144005063b618724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b4524401045844072480020284504805043b7585fec10eb504500087248001828453480724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010458440724800202845048072481ca8104bb480724001402849840072441de81047b440724001402845240074000066724000201b400400104144005063b468724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b4524401045844072480020284504805043b5a85fec10b5504500087248001828453480724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010458440724800202845048072441de81047b440724001402845840072481f28104bb480724001402849140074000066724000201b400400104144005063b298724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b4524401045844072480020284504805043b3d85fec107b504500087248001828453480724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010458440724800202845048072481f28104bb4807240014028498400724420681047b440724001402845240074000068724000201b40040010414400726014501063b600724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724015901043b4005fec12b2504500087248001828453480724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104584407248002028450480724420681047b4407240014028458400724821a8104bb480724001402849140074000068724000201b40040010414400726012e01063b600724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724014301043b4005fec1286504500087248001828453480724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104584407248002028450480724821a8104bb4807240014028498400724422e81047b440724001402845240074000068724000201b40040010414400726011501063b600724400201b440440104584407248002028450480724000201b40140010414400724400201b441440104584407248002028450480724012901043b4005fec1252504500087248001828453480724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104584407248002028450480724422e81047b440724001402845840072482428104bb480724001402849140074000068724000201b400400104144005063be90724400201b440440104584407248002028450480724010b81043b4005fec1217504500087248001828453480724400201b441440104584407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104584407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104584407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104584407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104584407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104584407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104584407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104584407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b45244010458440724800202845048072482428104bb4807240014028498400724425681047b4407240014028452400740000675043b1605fec102c504500087248001828453480504fbbb8724400201b440440104534407248002028450480724000201b40140010414400724400201b441440104534407248002028450480724000205d47f0091b41140010414400724400205d4bf0091b452440104534407248002028450480724000205d47f0201b41140010414400724400205d4bf0201b452440104534407248002028450480724000205d47f0111b41140010414400724400205d4bf0111b452440104534407248002028450480724000205d47f0101b41140010414400724400205d4bf0101b452440104534407248002028450480724000205d47f0211b41140010414400724400205d4bf0211b452440104534407248002028450480724000205d47f0221b41140010414400724400205d4bf0221b452440104534407248002028450480724000205d47f00e1b41140010414400724400205d4bf00e1b452440104534407248002028450480724000205d47f0231b41140010414400724400205d4bf0231b452440104534407248002028450480724425681047b440724001402845340072400140285114001065904075000502724017b01043b40072440028284124405d47f00e72480028340114125d43f013364000001ae980001ae4100020f8330058fbe00250fbe0047400085f1a63d0007500078e724029c01043b40072442b401047b44072480028284114801ae980001ae4100020f8330058fbe00250fbe004740008511a63d0007500079c5d43f0225d47b0445d4bb045340104525d43f013364000001aec5000910010605d40604a505500005d5900015043b7b81ae9000020f8330058fbe00250fbe0047400049d1a43d0005047b70072480030284504805d43b0e01341000076400001360000005d43f05a104103005047b7005045100872481038104bb480724c0028284914c0504bb1f0724c0028284914c050452028724c0008284554c05047b220724c0030284524c0504d103072500020284d0500504fbae072500050284d15005047b8a81ae930001ae5100020f8330058fbe00250fbe004740007e31a47d000504fb3e872500030284d25005049303072500020284905005043bb307248005028413480504bb8c81ae900001ae5200020f8330058fbe00250fbe004740007d21a43d0007248002028ed14805fec00045047b02872480020284504805d43b0045d47f00e1b4504405d4bf00e104514805d4bf00f104514805d4bf0101f4514805d4bf01119410480504bb540724c0020284bb4c0504fbf3872500020284d2500504bbf38504fbf385053b9081ae910001ae5400020f8330058fbe00250fbe0047400075e1a47d0005053b9281ae810001ae5400020f8330058fbe00250fbe004740007561a53d000505fbc3872600020285d16005047be3872600020284546005053bd38a35174615047bc587250002028453500504fbd385053bd58a35114e072440020284944405047b5607248002028454480504bb048724c0020284914c05fec100d5fed000e5043b0485047bf1872480020284504805d43b00d5d47b00e5d4bf0121b4904805d4ff00e1b493480264800001a487000504fbf18394904d0764000065043b3c05fec0078504bbbd072440010284904407400000a5043b2705fec104e5d4ff00e1b453440104524405d4510005fed104f504bbbd072440010284904405043b79072440010284124405d43b17a1341004076400001360000005d43b0f31545058076440001134505805063b3985fec10735fed607713451000764402575d47f05a1045130020650580724010381043b400504bb480724c0028284904c050412028724c0008284154c05043b298724c0030284124c050490030724c0020284914c05047bb8072480050284504805043b8e81ae910001ae5000020f8330058fbe00250fbe004740007461a43d0005047bed872480020284504805043bed85047b58072480020284504805043bf5872480020284114805043bf585047bf58504bb9481ae810001ae5200020f8330058fbe00250fbe004740006df1a4bd000504fb9681ae810001ae5300020f8330058fbe00250fbe004740006d71a4fd0005053bc78725c0020285125c0504bbe58725c0020284935c0504fbd78a34d44a1504bbc98724c0020284914c05047bd78504fbd98a34d246072440020284134405043b5c072440020284134405047b0a872480020284504805fec10195fec001a5043b0a85047bfb872480020284504805d43b0195d47b01a5d4bf0121b4904805d4ff00e1b493480264800001a487000504fbfb8394934d05d4ff00e1b453440104524405f4590005047bfb83b4504905d41500013410000764000025d43f00a364000005d43f059104103005d47f059104513005d4bf0411b552580504bb4b0724c0020284904c05fec009a5041202872480020284114805043b7e81ae9000020f8330058fbe00250fbe004740003791a43d0005047b73072480030284504805d43b0e61341000076400001360000005043b730504100085047b2e8724800282845048050491028504fb4b0504d30287250002028493500504bba08724c0048284914c05047b8481ae920001ae5100020f8330058fbe00250fbe004740006941a47d000504bb438724c0028284904c050412028504fb4b0504d302872500020284135005043ba50724c0048284124c0504bb8681ae900001ae5200020f8330058fbe00250fbe004740006811a43d000504bb0d8724c0020284914c05fec001f5045202872480020284504805043b0d85d47b01f5d4bf00e1b4914805d4ff01d104924c05d4ff00f104924c05d4ff0101f4924c05d4ff011194514c05d4ff00e1b4d14c05d53f01d104d35005d53f00f104d35005d53f0101f4d35005053b5e072580020285105805043bf7872580020284145805043bf785053bf78505bb9881ae920001ae5600020f8330058fbe00250fbe004740006381a4bd000505bb9a81ae930001ae5600020f8330058fbe00250fbe004740006301a5bd000505fbcb872640020285d2640504bbe787264002028496640505bbdb8a35974a1504bbcd872580020284945805053bdb8505bbdd8a359252072480020284164805043b6007248002028416480504bb07872500020284905005fed30135fed10145043b0785047bfd872480020284504805d43b0135d47b0145d4bf0121b4904805d4ff00e1b493480264800001a487000504fbfd8394904d0764000065043b3d05fec007a504bbbe072440018284904407400000b5043b2805fec10505d4ff00e1b4534401045244050490008724c0010284914c0504bbbe072440018284904405043b7a072440018284124405d43b17c1341004076400001360000005d43f059104103005d47f059104513005d53b0f55d4bb0f610592540504bb4f8724c0020284904c05fec00a35041202872480020284114805043b8181ae9000020f8330058fbe00250fbe004740002c31a43d0005047b76072480030284504805d43b0ec1341000076400001360000005d6ff056106db3005d6bf0561069a3005043b760504100085047b330724800282845048050411028504bb4f850492028724c0020284124c05043ba9872480048284114805047b8881ae900001ae5100020f8330058fbe00250fbe004740005da1a43d0005047bef872480020284504805043bef85047b62072480020284504805043bf9872480020284114805043bf985047bf98504bb9c81ae810001ae5200020f8330058fbe00250fbe004740005a81a4bd000504fb9e81ae810001ae5300020f8330058fbe00250fbe004740005a01a4fd000505fbcf872640020285d2640504bbe987264002028493640504fbdf8a34d74a1504bbd18724c0020284914c05047bdf8504fbe18a34d246072440020284134405043b64072440020284134405047b12072480020284504805fec10285fec00295043b1205047bff872480020284504805d43b0285d47b0295d4bf0121b4904805d4ff00e1b493480264800001a487000504fbff8394934d05d4ff00e1b45344010452440504fb6605fed40cc5fed60cd5d53f01d284535005047bff83b450490724010381043b4005047b670724800202845a480355510001a446000504bb1d0724c0020284914c0724410181047b440724c00202845b4c0724410181047b440504fb15072500020284d250050493020725000202849a5005d4bf00842453480724410181047b440504fb37872480020284d14805047b6d872480028284504805d43b207134100007640000f5d43b0db13410040764000025d43f00a364000005043b6d8504100085047b1b072480020284504805043b5a072480020284134803c455400740000855043b6d8504100085047beb87248002028450480504bbeb86140000113450000764400061341004076400001360000005043bbf81a401000740000025043bbf81a400000134500007644000613410040764000025d43f00a364000006158010474000001615800061a50000016414580764000025d43f03836400000614143001345000076440014134500407644000e5c47f06013450440764400075c47f1c81341044076400001360000005043bc005d43f020740000025043bc005d43f0095047bc08740000025043bc081a4010005047bc10740000025043bc101a4000005d47f020134104407640000174000040614143001345000076440014134500407644000e5c47f06013450440764400075c47f1c81341044076400001360000005043bc185d43f020740000025043bc185d43f0095047bc20740000025043bc201a4010005047bc28740000025043bc281a4000001345000076440022134500407644001f5d47f009134504401a5c00007644001a5d47f02013410440764000025d43f00a364000006140000113450000764400061341004076400001360000005043bc301a401000740000025043bc301a400000134500007644000613410040764000025d43f00a3640000061414109740000016141400c5d5d00057400000236000000615d4302134170007640000210514040750000615043b19072440020284124405047b69072480020284534803d414551240000005043b6b072440028284184405d47f02372480028340114125d43f013364000001af05000910000605ff100005ff110015ff120025ff130035ff140045ff150055ff160065ff170075ff180085ff190095ff1a00a5ff3b00b1aec5000910000e81a67a0001a6390001a5fe0005043b08072440028284194405d43b01013410000764000935d43b01013410040764000025d43f00a364000005043b080504100085047b0c872480020284504801a401000264000001a407000134400401a4810007644000174000010134410001a481000764400025d47f0091b491040154520407644000174000008264800001a447000154c1000764c0001740000021a4c1000284504c01a4110001a440000104504401a4c10005e45300010440040134d1000764c00285d4d8002134d3000764c00205d498002104924405d4d80025d5180005d558001155925407658000174000007264800001a587000156950007668000174000001285945401a5160005f6140001a58000016516440765000055f6120015f6120021a400000264000007400000d5d518000105144c010514580105505805c5550005e515000105960407500000d5f6100005f6120015f6110021a400000264000005043b0c85047b06072480020284504805043b0605d47f012264400001a447000504bb020724c0020284904c05d4120005d4d20015d5120025d4920035f4500005f4530015f4540025f4520035d43f012134100007640002c5d41800213410000764000225d4180025d4bf012104104805d4980025d4d80005d518001155505007654000174000007264000001a547000155940007658000174000001285535001a4d50005f6130001a5400005d4ff012164d54c0764c00055f6100015f6100021a400000264000007400000f5d4d8000104d3480104d3540105115405c5140005e4d4000105550407500000e5f6110005d43f0125f6100015d43f0125f6100021a400000264000007400008d5043b080504100085047b0a872480020284504801a401000264000001a407000134400401a4810007644000174000010134410001a481000764400025d47f0091b491040154520407644000174000008264800001a447000154c1000764c0001740000021a4c1000284504c01a4110001a440000104504401a4c00005e45300010440040134d1000764c00285d4d8002134d3000764c00205d498002104924405d4d80025d5180005d558001155925407658000174000007264800001a587000156950007668000174000001285945401a5160005f6140001a58000016516440765000055f6120015f6120021a400000264000007400000d5d518000105144c010514580105505805c5550005e515000105960407500000d5f6100005f6120015f6110021a400000264000005043b0a85047b04072480020284504805043b0405d47f012264400001a4470007248002028ed04801a43b0005d4900005d4d00015d5100025d4100035f4520005f4530015f4540025f4500035d43f012134100007640002c5d41800213410000764000225d4180025d4bf012104104805d4980025d4d80005d518001155505007654000174000007264000001a547000155940007658000174000001285535001a4d50005f6130001a5400005d4ff012164d54c0764c00055f6100015f6100021a400000264000007400000f5d4d8000104d3480104d3540105115405c5140005e4d4000105550407500000e5f6110005d43f0125f6100015d43f0125f6100021a400000264000001a401000264000001a4070005d45900513451000764400025d43f00a36400000134400401a4810007644000174000010134410001a481000764400025d47f0091b491040154520407644000174000008264800001a447000154c1000764c0001740000021a4c1000284504c01a4110001a440000104504401a4c00005e45300010440040134d1000764c00285d4d8002134d3000764c00205d498002104924405d4d80025d5180005d558001155925407658000174000007264800001a587000156550007664000174000001285945401a5160005f6140001a58000016516440765000055f6120015f6120021a400000264000007400000d5d518000105144c010514580105505805c5550005e515000105960407500000d5f6100005f6120015f6110021a400000264000001af40000920000e81af9700059f050605d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055d5bc0065d5fc0075d63c0085d67c0095d6bc00a5defc00b920000604af800001af05000910000485ff100005ff110015ff120025ff130035ff140045ff150055ff160065ff170075ff3b0081aec5000910004a01a5ba0001a57e00071400001764000125043b1885fec00315047b1e05fec103c71480002504fb0c072500020284d250050491008725000202849350050490008724c0028284914c0504fb3a072440030284d0440740000df6140000113450000764400061341004076400001360000005043b2d01a401000740000025043b2d01a400000134500007644000613410040764000025d43f00a364000006150010374000001615000055043b0305fec00065047b41072480028284504801a5c000016417500764000215043b4105047b25872480028284504805d43b082134100407640000c5d43b04b13410000764000025d43f00a364000005043b2085fec10415fec1045504bb32072440028284904407400000a5043b258504100085047b1b85fec003750491008724c0020284904c0504bb32072400028284914005047b34872400028284524007400007b61417200134500007644000d13450040764400075c47f0601341044076400001360000005043b2d85d43f009740000025043b2d81a4010005047b2e0740000025043b2e01a400000134500007644000b5d47f00913410440764000081ae970001ae4100020f8330058fbe00250fbe004740003241a5fd0007500004061417200134500007644000d13450040764400075c47f0601341044076400001360000005043b2e85d43f009740000025043b2e81a4010005047b2f0740000025043b2f01a40000013410000764000065043b1385fec0027504bb2f872440028284904407400000c5043b0785fec100f61457203504bb058724c0020284914c050450008724c0020284524c0504bb2f872440028284904405043b47872440028284124405d43b082134100401a440000764000015c47f068764400605043b4785047b28072480028284504805d43b08f1341004076400001360000005043b280504100085047b43872480020284504805043b4385047b410504bb2a8724c0028284914c05d47b0821345104076440001360000005047b2a850451008504bb458724c0020284914c05047b0a072480020284504805043b458504bb3d0724c0020284914c05047b3f0724c0020284504c0a1412460764000315043b1105fec10225fec00265047b34872480028284504805043b23072480028284114805d43b06913410040764000155d43b04613410000764000025d43f00a364000005043b230504100085047b0e05fec001c504bb1605fec002c504d200872500020284d050050411008724c0028284124c0504bb3707240003028491400740000095043b230504100205fec10005047b0287248000828450480504bb37072400030284bb400504fb3a072400030284d240072400030285934001af56000740000141ae970001ae4100020f8330058fbe00250fbe004740002951a5fd000750000cf5043b4105047b47872480028284114801ae970001ae4100020f8330058fbe00250fbe004740002891a5fd000750000db920004a01af9500059f050485d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055d5bc0065d5fc0075defc008920000484af800001af05000910000505ff100005ff110015ff120025ff130035ff140045ff150055ff160065ff170075ff180085ff3b0091aec5000910000501a43a0001a4790001a63e000504bb020724c0030284904c01ae920001ae5100020f8330058fbe00250fbe004750002d6504100305d4bf012264800001a487000724c002028ed04c01a43b0005d4d00005d5100015d5500025d4100035f4930005f4940015f4950025f4900035d43f012134100007640002c5d41100213410000764000225d4110025d4ff012104104c05d4d10025d5110005d551001155905407658000174000007264000001a587000155d5000765c000174000001285945401a5160005f4540001a5800005d53f01216516500765000055f4500015f4500021a400000264000007400000f5d511000105144c010514580105525805c5550005e515000105960407500000e5f4520005d43f0125f4500015d43f0125f4500021a400000264000001af40000920000501af9800059f050505d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055d5bc0065d5fc0075d63c0085defc009920000504af800001af05000910000605ff100005ff110015ff120025ff130035ff140045ff150055ff160065ff170075ff180085ff190095ff1a00a5ff3b00b1aec5000910001081a67a0001a6390001a5fe0005043b0a072440028284194405d43b01413410000764000935d43b01413410040764000025d43f00a364000005043b0a0504100085047b0e872480020284504801a401000264000001a407000134400401a4810007644000174000010134410001a481000764400025d47f0091b491040154520407644000174000008264800001a447000154c1000764c0001740000021a4c1000284504c01a4110001a440000104504401a4c10005e45300010440040134d1000764c00285d4d8002134d3000764c00205d498002104924405d4d80025d5180005d558001155925407658000174000007264800001a587000156950007668000174000001285945401a5160005f6140001a58000016516440765000055f6120015f6120021a400000264000007400000d5d518000105144c010514580105505805c5550005e515000105960407500000d5f6100005f6120015f6110021a400000264000005043b0e85047b08072480020284504805043b0805d47f012264400001a447000504bb020724c0020284904c05d4120005d4d20015d5120025d4920035f4500005f4530015f4540025f4520035d43f012134100007640002c5d41800213410000764000225d4180025d4bf012104104805d4980025d4d80005d518001155505007654000174000007264000001a547000155940007658000174000001285535001a4d50005f6130001a5400005d4ff012164d54c0764c00055f6100015f6100021a400000264000007400000f5d4d8000104d3480104d3540105115405c5140005e4d4000105550407500000e5f6110005d43f0125f6100015d43f0125f6100021a400000264000007400008d5043b0a0504100085047b0c872480020284504801a401000264000001a407000134400401a4810007644000174000010134410001a481000764400025d47f0091b491040154520407644000174000008264800001a447000154c1000764c0001740000021a4c1000284504c01a4110001a440000104504401a4c00005e45300010440040134d1000764c00285d4d8002134d3000764c00205d498002104924405d4d80025d5180005d558001155925407658000174000007264800001a587000156950007668000174000001285945401a5160005f6140001a58000016516440765000055f6120015f6120021a400000264000007400000d5d518000105144c010514580105505805c5550005e515000105960407500000d5f6100005f6120015f6110021a400000264000005043b0c85047b06072480020284504805043b0605d47f012264400001a4470007248002028ed04801a43b0005d4900005d4d00015d5100025d4100035f4520005f4530015f4540025f4500035d43f012134100007640002c5d41800213410000764000225d4180025d4bf012104104805d4980025d4d80005d518001155505007654000174000007264000001a547000155940007658000174000001285535001a4d50005f6130001a5400005d4ff012164d54c0764c00055f6100015f6100021a400000264000007400000f5d4d8000104d3480104d3540105115405c5140005e4d4000105550407500000e5f6110005d43f0125f6100015d43f0125f6100021a40000026400000504190285d47f012264400001a447000504bb040724c0020284904c05d4120005d4d20015d5120025d4920035f4500005f4530015f4540025f4520035d43f012134100007640002c5d41800213410000764000225d4180025d4bf012104104805d4980025d4d80005d518001155505007654000174000007264000001a547000155940007658000174000001285535001a4d50005f6130001a5400005d4ff012164d54c0764c00055f6100015f6100021a400000264000007400000f5d4d8000104d3480104d3540105115405c5140005e4d4000105550407500000e5f6110005d43f0125f6100015d43f0125f6100021a400000264000001af40000920001081af9700059f050605d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055d5bc0065d5fc0075d63c0085d67c0095d6bc00a5defc00b920000604af800001af05000910000285ff100005ff110015ff120025ff130035ff3b0041aec5000910000201a43a0001a4790001a4be0005fec00005fec00015fec00025fed00031a43b000724c0020284504c01af51000920000201af9200059f050285d43c0005d47c0015d4bc0025d4fc0035defc004920000284af800001af05000910000385ff100005ff110015ff120025ff130035ff140045ff150055ff3b0061aec5000910000801a43a0001a4790001a4be0005d4ff056104d33001a500000265000001a5070005fed40095fec000a5fec000b5053b0487254004828ed05401aebb0001ae5400020f8330058fbe00250fbe004750001c45043b06072500020284135005043b0605d4fb0095d53b00b42413500724c0020284504c01af51000920000801af9200059f050385d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055defc006920000384af800001af05000910000385ff100005ff110015ff120025ff130035ff140045ff150055ff3b0061aec5000910000881a43a0001a4790001a4be0005d4ff056104d33001a500000265000001a5070005fed400a5fec000b5fec000c5053b0507254005028ed05401aebb0001ae5400020f8330058fbe00250fbe004750002615043b06872500020284135005043b0685d4fb00a5d53b00c42413500724c0020284504c01af51000920000881af9200059f050385d43c0005d47c0015d4bc0025d4fc0035d53c0045d57c0055defc006920000384af800001af05000910000205ff100005ff110015ff120025ff3b0031aec5000910000001a43a0001a4790001a4be000104104405c47f21015450440764400021af500007400000136000000920000001af9200059f050205d43c0005d47c0015d4bc0025defc003920000204af800000000000000000000000000000000000000000000000000000000000000000000de9090cb50e71c2588c773487d1da7066d0c719849a7e58dc8b6397a25c567c000000000000000400000000000000002cccccccccccc000200000000000b71b0020000000000000001000000000000000000000000000008000000000000001f000000000000000500000000000000040000000000000020ffffffffffff0000b48b753af346966d0d169c0b2e3234611f65d5cfdb57c7b6e7cd6ca93707bee00000000000000140f383b0ce51358be57daa3b725fe44acdb2d880604e367199080b4379c41bb6ed0000000000000010000000000000000a0000000000000bb8000000000000000300000000000000060000000000000007000000000000000902dac99c283f16bc91b74f6942db7f012699a2ad51272b15207b9cc14a70dbae746f6f206561726c79000000000000000000000000000016736b696c6c20616c7265616479206d6178000000000000006e6f7420656e6f756768206578700000000000000000001100000000002dc6c0000000000000000e706c6179657220616c7265616479206578697374730000000000000000000015000000003b9aca00ffffffffffff00010300000000000000000000000000000b616d6f756e74206973206e6f7420657175616c20746f20696e6465786573206c656e677468000000000000000000002500000000007270e0ff0000000000000000000000f480ef2c0000000037a8188d000000009e78051300000000d360dcb8000000007342c446000000004cb6721f0000000064d67a6e000000006a42a6a200000000a551832b00000000766cb77e000000005131f78400000000e989810600000000b395490600000000d5d94d26000000000000127500000000000013ca000000000000177a0000000000001f88000000000000276e000000000000c020000000000000c040000000000000c0c0000000000000c0e8000000000000c140000000000000c160000000000000c178000000000000c190000000000000c1b8000000000000c1f8'; +export default '0x1af0300074000002000000000001a0405dffc00110ffff00740000001aec500091019e205d43f0375fed00001a40600072458f481047b4405f45000072418f481043b4005d4100005d47b0005d4bf0381b45244010450440724190881043b4005f411000724190881043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724590e01047b4405f450000724190e01043b4005d4100005047b0685fed000d5fec000e7240caa01043b4007248001028411480724570a01047b4407248001028450480724d70a0104fb4c07240caa01043b4005d4100007244caa01047b440504510085d4510001b4414401041044072458f501047b4405f450000724193801043b4005d47f0385f411000504130085d410000724593801047b4405d45100010410440724582681047b4405f45000076000025724193801043b4005d410000134100407640001072418f501043b4005d4100005d410000724598b01047b4405f450000724182681043b400504530087248000828450480724198b01043b4005d4100007400000f72418f501043b4005d4100005c410000724596f81047b4405f450000724182681043b400504530087248000828450480724196f81043b4005d4100007400000e72418f501043b4005d410000724595281047b4405f450000724182681043b400504530087248000828450480724195281043b4005d410000724582001047b4405f450000725182001053b5005d4140005d45300110411400724582701047b4405f4500005d4130005d4530011b4414401041044072458f581047b4405f45000072418f581043b4005047b0887248000828450480504110087248000828414480724195081043b4007248001028411480724182701043b400504530087248000828450480724195081043b4007244cab01047b4407248001028450480724076481043b40072480010284114807244cac01047b44072480010284504807240cac01043b4005d410000724582001047b440504bb0785fed000f50412008724c0008284114c07240d8e81043b40072440010284124407244f2f81047b44072480010284504805d43f078104100c072498218104bb480724c0010284914c0504bb0585fed000b5d43f0395fed000c72402c481043b400724c0010284124c07248b360104bb480724c0010284914c07244b3701047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474005b331a43d00076400001740007a45d43f03a5fed00011a40600072458fe81047b4405f45000072418fe81043b4005d4100005d47b0015d4bf0381b45244010410440724590901047b4405f450000724190901043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724590e81047b4405f450000724190e81043b4005d41000072441c301047b4405fed03865fec03877240feb81043b4007248001028411480724570b01047b4407248001028450480724d70b0104fb4c07240feb81043b4005d4100007244feb81047b440504510085d4510001b4414401041044072458fa01047b4405f450000724193881043b4005d47f0385f411000504130085d410000724593881047b4405d45100010410440724582b81047b4405f45000076000025724193881043b4005d410000134100407640001072418fa01043b4005d4100005d410000724598b81047b4405f450000724182b81043b400504530087248000828450480724198b81043b4005d4100007400000f72418fa01043b4005d4100005c410000724597001047b4405f450000724182b81043b400504530087248000828450480724197001043b4005d4100007400000e72418fa01043b4005d410000724595301047b4405f450000724182b81043b400504530087248000828450480724195301043b4005d41000072459c901047b4405f45000072419c901043b4005d4100001341000076400001360000005043b1c85fec003972451eb81047b440724800082845048072512b001053b50072400008285114005d4130005d4530011b4414401041044072458f601047b4405f450000724193901043b4005d47f0385f4110005d413001724593901047b4405d45100010410440724582781047b4405f45000076000025724193901043b4005d410000134100407640001072418f601043b4005d4100005d410000724598c01047b4405f450000724182781043b400504530087248000828450480724198c01043b4005d4100007400000f72418f601043b4005d4100005c410000724597081047b4405f450000724182781043b400504530087248000828450480724197081043b4005d4100007400000e72418f601043b4005d410000724595381047b4405f450000724182781043b400504530087248000828450480724195381043b4005d4100005047b5f072480008284544805fed00bf724135c01043b4007248001028411480724556601047b440724800102845048072416fb81043b4007248001028411480725d6fb8105fb5c072416fb81043b40050590008724156601043b400504100085d610000504060205047b998724800202845048072415b181043b40072480020284114807244cad01047b44072480020284504805d43f079104100c05d4bf07a104920c0724d7080104fb4c072500020284d1500724570801047b4401a4c600072517a101053b5007254002028513540724d9138104fb4c072500020284d0500724191381043b400724d7a10104fb4c0725013801053b5007254002028513540504d402072540020284d25405d4bf03b42414480724191381043b40072482c68104bb480724c0020284904c07240cb301043b400724c0020284124c072496150104bb480724c0020284914c072456e101047b440724c0020284504c0a1412460724c1eb8104fb4c05d47f03c5fed13d7724570801047b440504930087250002028491500134100005df3f0657643c00072408ee01043b400724400082841744072408ee01043b4005d41000013410000764000025d43f03d3640000072418f401043b4005d47f03e5f41100072418f401043b4005d4100001b41840072457a501047b4405f4500001a40b00072457a501047b4405d451000154904407648000113490440724c3688104fb4c05fec06d1504130207244000828416440134120005df3f0667643c000714000017640001e724064a81043b4005fec0c95724467381047b4405fec1ce771480002724c1ef8104fb4c072500020284d250072492238104bb4807250002028493500724d23f0104fb4c072500020284d250050491008725000202849350050490008724c0028284914c0724d25a0104fb4c072440030284d0440740001ba6140000172448f101047b4405e45000072408f101043b4005c410000134100007640001272408f101043b4005c41000013410040764000013600000072402ca81043b4005fec15957244f6901047b44072480008284504807248f7f0104bb4807240000828491400740000065043b0985fec00137248f7f0104bb48072440008284904407240f9781043b4007244000828412440724494201047b4407248000828450480724094201043b4005d4100001341000076400009724094201043b4005d41000013410040764000025d43f03d3640000061400103740000016140000572457b901047b4405e4500005043b9b85fec0137724579481047b440724800282845048072417b001043b4005e40000072417b001043b4005c41000072457b901047b4405c4510001641044076400036724179481043b400724493f81047b4407248002828450480724179481043b4005d4100001341004076400019724093f81043b4005d41000013410000764000025d43f03d36400000724067601043b4005fec1cec72446c701047b4405fec1d8e50490020724c0008284914c072451df01047b440724800282845048072491ec0104bb48072400028284914007400000d724093f81043b40050410008724461b81047b4405fec0c3750491008724c0020284904c072491ec0104bb480724000282849140072451ff01047b4407240002828452400740000ff72417b001043b4005c41000061410200724493581047b4405e450000724093581043b4005c4100001341000076400025724093581043b4005c4100001341004076400014724093581043b4005c4100005c47f1f8134104407640000136000000724052e81043b4005d47f03c5fed1a5d7244fae81047b44072480008284504807248fb90104bb480724000082849140074000007724039381043b4005fec17277248fb90104bb48072440008284904407244fd101047b440724000082845240074000007724017701043b4005fec02ee7244fd101047b44072480008284504807240fec81043b4007248000828411480724493501047b4407248000828450480724093501043b4005d4100001341000076400014724093501043b4005d4100005d47f03c134104407640000e72417b001043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740060511a43d00072457b001047b4405e4500007500009572417b001043b4005c4100006145020072489398104bb4805e491000724493981047b4405c4510001345100076440025724493981047b4405c4510001345104076440014724493981047b4405c4510005c4bf1f8134514807644000136000000724455d81047b4405d4bf03c5fed2abb724909c8104bb480724c0008284914c0724d1510104fb4c072440008284d24407400000772442cb01047b4405fec1596724d1510104fb4c072480008284d1480724917c8104bb4807244000828493440740000065047b0a05fec0014724917c8104bb480724c0008284914c0724519001047b440724c0008284524c072489d60104bb480724c0008284914c072449d601047b4405d451000134510007644000872403b781043b4005fec076f72491b38104bb48072440028284904407400001372441c581047b4405fec138b61410203724813d8104bb480724c0020284904c0724119f81043b400724c0020284124c050491008724c0020284904c072491b38104bb480724000282849140072411cc01043b400724400282841244072458ac81047b4407248002828450480724179481043b4005d410000134100401a440000764000015c47f2005df3f0677647c00072418ac81043b4007244bf801047b44072480028284504807240b1401043b4001ae910001ae5000020f8330058fbe00250fbe00474005b6d1a43d000724579481047b4407248bfa8104bb480724c0028284914c07244b2501047b4401ae920001ae5100020f8330058fbe00250fbe00474005b5e1a47d00072496170104bb480724c0020284904c072416e301043b400724c0020284114c0a14124205df3f0687643c000724030581043b4005fec160b724452e01047b4405fec0a5c50490020724c0008284914c072451ff01047b4407248002828450480724090e81043b400724800282841148072411ff01043b4005d410000134100407640001f724090e81043b4005d41000013410000764000025d43f03d36400000724090e81043b40050410008724440601047b4405fec080c72485848104bb4805fec0b09504d200872500020284d050050411008724c0028284124c0724121001043b4007248003028411480724921a8104bb48072440030284904407400000d724090e81043b40050410020724421681047b4405fec142d50491028724c0008284904c0724921a8104bb4807240003028491400724d25a0104fb4c072400030284d2400724126d81043b4007244003028413440724494481047b4407248003028450480724126d81043b4005d410000134100007640000136000000724094481043b4005041000872452a681047b440724800282845048072412b081043b40072480028284114805d47f07b104510c05d4bf07c104920c0724d9268104fb4c072500028284d0500724c6078104fb4c072500020284d15005fec0c13504530287250002028452500724461701047b44072480028284504805041102872480008284174805041302872492b68104bb4807250002028490500724024381043b40072500030284115005051003072540020285125407248b830104bb480725000502849050072409df01043b4001ae920001ae5000020f8330058fbe00250fbe00474005c4e1a43d00050493028724d2c40104fb4c072500020284d250072484358104bb48072500030284915005045203072500020284535007244b8801047b440724c0050284524c072489e10104bb4801ae910001ae5200020f8330058fbe00250fbe00474005c351a47d000504bbc70724c0020284904c05fec019250412028724c0020284114c072412d381043b400724400482841244072452de81047b4407248004828450480724d2e70104fb4c072400020284d1400504110205d4100005d47f03813451000764400ea724594481047b4405d4bf0385f4520005d47f0381b45044072499448104bb4805d492000104514805d4bf041104514805d4bf0421f45148072498140104bb4805f4910005d47f0431941044072458be81047b4405f450000724091b01043b4005e400000724091b01043b4005c4100005c47f2001341044076400008724091b01043b4005c410000134100001a4410007640000f5d43f03d3640000072418be81043b4005d4100005d47f0381b410440724594481047b4405d451000104104405d47f041104104405d47f0421f450440724183501043b4005f41100072407cb01043b4007244002028413440724530181047b4407248002028450480724184e81043b4007248002028411480724184e81043b400724581401047b4405d4510007248a010104bb4801ae910001ae5200020f8330058fbe00250fbe004740061661a47d00072498350104bb4805d492000724ca030104fb4c01ae920001ae5300020f8330058fbe00250fbe0047400615a1a4bd000724d5bf0104fb4c072500020284d1500724568b01047b4407250002028452500724962b0104bb480a3493461724531d81047b440724c0020284524c072495c10104bb480724c0020284904c0724168d01043b400724c0020284114c0724562d01047b440a3452420724133081043b4007248002028411480724584e81047b4407248002028450480724481581047b4407248002028450480724134001043b4007248002028411480724583501047b44072498be8104bb480504fbe4872500020284d0500504130207250000828411500504130287244000828412440724135d01043b4007244003028413440724184c81043b400724535d01047b4407248002028411480724183481043b400724535d01047b44050451020724800082841148072418be01043b400724935d0104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724591f81047b4405f450000724184c81043b400724591f81047b4405d45100072498348104bb4805d492000724d7d00104fb4c072500020284d0500394504d27640000872405a901043b4005fec0b5272493e28104bb480724400102849044074000019724048601043b4005fec190c724591f81047b4405d45100072498be0104bb4805d4920005d4ff0381b49348010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f41100172493e28104bb4807244001028490440724547101047b440724000102845240074000007724026f81043b4005fec04df724547101047b440724800102845048072414e001043b400724800102841148072449bc81047b440724800102845048072414e001043b4005d410000134100407640000872409bc81043b4005d410000134100001a440000764000065d43f03d3640000072409bc81043b400504100085d45000072417a601043b4005f41100072417a601043b4005d410000104106005d47f07d104510c05d4bf07e104920c0724d7a60104fb4c05f4d0000724066f01043b400724c0020284114c05fec0ce250450028724c0020284524c0724592681047b44072486c40104bb480724c0028284914c050452028724c0008284574c072457a601047b4405d5510005041002872454f181047b440724c0020284504c0724027901043b400724c0030284124c050490030724c0020284914c07244b8d01047b440724800502845048072409e301043b4001ae910001ae5000020f8330058fbe00250fbe00474005ad81a43d00072457bc01047b440724800202845048072497bc0104bb4805d43f03813410000764000e4724194501043b4005d47f0385f4110005d43f0381b400400724594501047b4405d451000104104405d47f041104104405d47f0421f410440724581481047b4405f4500005d43f0431940040072458bf01047b4405f450000724091d81043b4005e400000724091d81043b4005c4100005c47f2001341044076400008724091d81043b4005c410000134100001a4410007640000f5d43f03d3640000072418bf01043b4005d4100005d47f0381b410440724594501047b4405d451000104104405d47f041104104405d47f0421f450440724183581043b4005f411000724082601043b4007244002028412440724550001047b4407248002028450480724185081043b4007248002028411480724185081043b400724581481047b4405d4510007248a050104bb4801ae910001ae5200020f8330058fbe00250fbe004740060181a47d00072498358104bb4805d492000724ca090104fb4c01ae920001ae5300020f8330058fbe00250fbe0047400600c1a4bd000724d5c30104fb4c072500020284d1500724568f01047b4407250002028452500724962f0104bb480a3493461724551601047b440724c0020284524c072495d90104bb480724c0020284904c072416a501043b400724c0020284114c0724564501047b440a3452420724152701043b4007248002028411480724585081047b4407248002028450480724483781047b4407248002028450480724153681043b4007248002028411480724583581047b44072498bf0104bb480724c1028104fb4c072500020284d0500504130207250000828411500504130287244000828412440724155281043b4007244003028413440724187e81043b400724555281047b4407248002028411480724184101043b400724555281047b44050451020724800082841148072418ca81043b40072495528104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458b901047b4405f450000724187e81043b40072458b901047b4405d45100072498410104bb4805d492000724d7d20104fb4c072500020284d0500394504d272418b901043b4005d41000072458ca81047b4405d4510005d4bf0381b45244010410440760000075d47f03813451040764400025f415000740000015e415000740000025d47f03828415440724187e81043b40072458b901047b4405d45100072498410104bb4805d492000724d8000104fb4c072500020284d05003b4d0452724192681043b40072457a501047b44072497a60104bb48072506e301053b500724c0028285104c050414028724c0008284174c050414030724c0008284164c050414038724c0008284114c05041404072440008284124405d43f045264000001a407000724428781047b4405fed050f5d43f0455fed05105fec0511724049681043b4007248001828411480724556701047b4407248001828450480724092601043b4007248002828414480724092601043b4005d4100001341000076400053724092601043b4005d41000013410040764000025d43f03d36400000724092601043b4005041000872499b90104bb480724c0020284904c07240b3e81043b40072480018284114807244aed01047b4401ae810001ae500001ae1100020f8330058fbe00250fbe0047400597a1a43d000724576f01047b440724800182845048072419b901043b400724576f01047b44072488960104bb480724c0018284914c05047b1d0724c0018284524c05d4bb03a504510085d4fb03c72542d281057b5407258002028550580104124c072580020284155805d43f04410413400724c5348104fb4c05fed2a695049300872540008284915405fed0a6b724062781043b4007244001828413440724558701047b4407248001828450480724159401043b400724800182841148072455a401047b440724800182845048072495ab8104bb480724000182849140074000048724092601043b4005041000872499aa8104bb480724c0020284904c07240b3d01043b40072480018284114807244aeb81047b4401ae800001ae500001ae1100020f8330058fbe00250fbe0047400592e1a43d000724573f01047b440724800182845048072419aa81043b400724573f01047b44072488838104bb480724c0018284914c0724411481047b440724c0018284524c05d4bb229504510085d4fb22b725434181057b5407258002028550580104124c072580020284155805d43f04410413400724c5b18104fb4c05fed2b635049300872540008284915405fed0b65724065501043b4007244001828413440724557981047b4407248001828450480724158201043b400724800182841148072495ab8104bb480724400182849044072415ad01043b4007244001828412440724574f81047b440724800182845048050414028724574f81047b44072488f68104bb480724c0008284904c072408f681043b4005d41000013410000764000025d43f03d36400000724076881043b4007248001828411480724418681047b44072480018284504805d43b30d504510085d4bb30f104d04805f4c00005d4ff038104924c0724c3a00104fb4c05fed07405041300872540008284115405fed2742724056281043b400724400182841344072455ae81047b440724800182845048072415b001043b400724800182841148072455b381047b4407248001828450480724176301043b40072480018284114805d414006724576301047b4407248b400104bb480724c0018284914c07244aee81047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740058aa1a43d000724577801047b44072480018284504805d414007724577801047b4407248b418104bb480724c0018284914c07244af301047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740058951a43d000724578701047b44072480018284504805d414008724578701047b4407248b430104bb480724c0018284914c07244af481047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740058801a43d000724579001047b4407248001828450480724179001043b40072455b501047b4407248001828450480724171681043b4007248001828411480724171681043b400724477c01047b440724800182845048072401cc81043b40072480018284114805d47b3995041001072483e30104bb4805fed17c650452008724c0008284504c072415b681043b400724400102841244072455b781047b440724800102845048072408e201043b40072480010284114805d47f0465d4900005d410001340114905d43f045264000001a40700072442a781047b4405fed054f5d43f0455fed05505fec055172403a401043b400724800182841148072455b881047b440724800182845048072415ba01043b4007248001828411480724572481047b4407248001828450480724172481043b400724478e81047b4407248001828450480724012301043b40072480018284114805d47b24650410010724834a8104bb4805fed169550452008724c0008284504c072415bb81043b400724400102841244072455bc81047b44072480010284504807240c8001043b40072480010284114801ae9000020f8330058fbe00250fbe004740057e71a43d0007248be70104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740053f81a47d000254110005d43f07f104100c0724582181047b440724852a8104bb4805fed0a555d43f0475fed0a56724061601043b400724c0010284124c07248b380104bb480724c0010284914c07244be101047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740053711a43d000764000017400038c5d43f03a5fed00021a406000724590381047b4405f450000724190381043b4005d4100005d47b0025d4bf0381b45244010410440724590981047b4405f450000724190981043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724590f01047b4405f450000724190f01043b4005d41000072441a301047b4405fed03465fec034772415bd81043b4007248001028411480724572f81047b4407248001028450480724172f81043b40072455bd81047b4405d45100072495bd8104bb480504920085d4920001b4814801045148072498fa8104bb4805f491000724593d01047b4405d4bf0385f452000504500085d451000724993d0104bb4805d49200010451480724982e8104bb4805f49100076000025724593d01047b4405d451000134510407644001072458fa81047b4405d4510005d45100072499978104bb4805f491000724582e81047b440504100087248000828411480724199781043b4005d4100007400000f72458fa81047b4405d4510005c451000724997c0104bb4805f491000724582e81047b440504100087248000828411480724197c01043b4005d4100007400000e72458fa81047b4405d451000724995f0104bb4805f491000724582e81047b440504100087248000828411480724195f01043b4005d410000724412e81047b4405fed025d72415be81043b40072480008284114807244caf01047b440724800082845048072416fc81043b400724800082841148072416fc81043b4005d550000714000017640001e724065b01043b4005fec0cb6724468a01047b4405fec1d1471480002724c1f18104fb4c072500020284d25007248ccd0104bb4807250002028493500724cccf0104fb4c072500020284d250050491008725000202849350050490008724c0028284914c0724ccd10104fb4c072440030284d0440740001ba6140000172448fa01047b4405e45000072408fa01043b4005c410000134100007640001272408fa01043b4005c41000013410040764000013600000072402db01043b4005fec15b67244caf81047b44072480008284504807248cb00104bb4807240000828491400740000065043b0d05fec001a7248cb00104bb48072440008284904407240cb081043b4007244000828412440724494281047b4407248000828450480724094281043b4005d4100001341000076400009724094281043b4005d41000013410040764000025d43f03d3640000061400103740000016140000572457b981047b4405e4500005043b4785fec008f724579701047b440724800282845048072417b081043b4005e40000072417b081043b4005c41000072457b981047b4405c4510001641044076400036724179701043b400724495381047b4407248002828450480724179701043b4005d4100001341004076400019724095381043b4005d41000013410000764000025d43f03d36400000724068001043b4005fec1d0072446c901047b4405fec1d9250490020724c0008284914c07244cbe01047b44072480028284504807248cc08104bb48072400028284914007400000d724095381043b40050410008724462e01047b4405fec0c5c50491008724c0020284904c07248cc08104bb48072400028284914007244cc481047b4407240002828452400740000ff72417b081043b4005c41000061410200724493601047b4405e450000724093601043b4005c4100001341000076400025724093601043b4005c4100001341004076400014724093601043b4005c4100005c47f1f8134104407640000136000000724053081043b4005d47f03c5fed1a617244cb101047b44072480008284504807248cb18104bb48072400008284914007400000772403ab81043b4005fec17577248cb18104bb48072440008284904407244cb201047b44072400008284524007400000772401b381043b4005fec03677244cb201047b44072480008284504807240cb281043b4007248000828411480724493c01047b4407248000828450480724093c01043b4005d4100001341000076400014724093c01043b4005d4100005d47f03c134104407640000e72417b081043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740059611a43d00072457b081047b4405e4500007500009572417b081043b4005c41000061450200724893a0104bb4805e491000724493a01047b4405c4510001345100076440025724493a01047b4405c4510001345104076440014724493a01047b4405c4510005c4bf1f8134514807644000136000000724456801047b4405d4bf03c5fed2ad07248cb50104bb480724c0008284914c0724ccb58104fb4c072440008284d24407400000772442cd81047b4405fec159b724ccb58104fb4c072480008284d14807248cb60104bb4807244000828493440740000065047b0a85fec00157248cb60104bb480724c0008284914c07244cb681047b440724c0008284524c072489d68104bb480724c0008284914c072449d681047b4405d451000134510007644000872403f081043b4005fec07e17248cb90104bb48072440028284904407400001372441d981047b4405fec13b36141020372481408104bb480724c0020284904c07240cb701043b400724c0020284124c050491008724c0020284904c07248cb90104bb48072400028284914007240cbb81043b400724400282841244072458af01047b4407248002828450480724179701043b4005d410000134100401a440000764000015c47f2005df3f0697647c00072418af01043b4007244bfd01047b440724800282845048072409db81043b4001ae910001ae5000020f8330058fbe00250fbe0047400547d1a43d000724579701047b4407248bff8104bb480724c0028284914c072449f101047b4401ae920001ae5100020f8330058fbe00250fbe0047400546e1a47d00072496190104bb480724c0020284904c072416e501043b400724c0020284114c0a14124205df3f06a7643c000724034b81043b4005fec1697724453b01047b4405fec0a7650490020724c0008284914c07244cc481047b4407248002828450480724092e81043b40072480028284114807240cc481043b4005d410000134100407640001f724092e81043b4005d41000013410000764000025d43f03d36400000724092e81043b4005041000872443a701047b4405fec074e72486108104bb4805fec0c21504d200872500020284d050050411008724c0028284124c07240cc701043b40072480030284114807248cca0104bb48072440030284904407400000d724092e81043b40050410020724413501047b4405fec126a50491028724c0008284904c07248cca0104bb4807240003028491400724ccd10104fb4c072400030284d24007240cd401043b4007244003028413440724494781047b44072480030284504807240cd401043b4005d410000134100007640000136000000724094781043b400504100087244cd701047b44072480028284504807240cd981043b40072480028284114805d47f080104510c05d4bf081104920c0724d9290104fb4c072500028284d050072401aa81043b400724c0020284114c05fec035950450028724c0020284524c0724592901047b44050490028724ccdd8104fb4c072500020284d250072482198104bb4807250002828491500505120287258002028513580724cc120104fb4c072500048284d25007248a960104bb4801ae930001ae5200020f8330058fbe00250fbe004740054d21a4bd00050410028724ccdf8104fb4c072500020284d0500724040d01043b40072500028284115005045002872500020284535007244c1681047b440724c0048284504c07240a9801043b4001ae910001ae5000020f8330058fbe00250fbe004740054b91a43d0005047b618724c0020284524c05fec00c750491028724c0020284904c07240ce181043b40072480048284114807244ce601047b440724800482845048072418ea01043b40072480048284114807240bd501043b40072480048284114807244a6b01047b4401ae900001ae5100020f8330058fbe00250fbe00474005adb1a43d000724495601047b4407248014828450480724095601043b4005d410000134100401a440000764000015c47f2001a4000007644007472418ea01043b4007244bd981047b44072480048284504807240a7f81043b4001ae910001ae5000020f8330058fbe00250fbe00474005abf1a43d000724497381047b4407248014828450480724097381043b4005d410000134100407640000136000000724097381043b400504100087244cea81047b44072480140284504807240cfe81043b4007248014028411480724098801043b4007244cfe81047b440724800201b495480104914807244002028412440724098801043b4005d410000134100407640000136000000724098801043b400504100087244d1281047b44072480018284504807240d1401043b400724800182841148072457ab81047b44072480018284504802b4000004341000072457a801047b4405f45000072417ab81043b40050410008724498d81047b4407248001028450480724098d81043b4005d410000134100407640000136000000724098d81043b400504100085d41000072458ee81047b4405f450000724195181043b4005f40000072418ee81043b4005d410000724595181047b4405d4510001041044072457aa81047b4405f45000072417a801043b4005d41000072457aa81047b4405d4510001549044076480001134904405c43f200764800011a40000072449d881047b4401ae900001ae5100020f8330058fbe00250fbe0047400507e1a43d000724591b81047b4407248001028450480724191b81043b4007244c8101047b44072480010284504801ae9100020f8330058fbe00250fbe0047400543f1a43d000724591b81047b4407248be80104bb480724c0010284914c01ae9200020f8330058fbe00250fbe0047400504e1a47d000254110005d43f082104100c0724582181047b440724866e0104bb4805fed0cdc5d43f0485fed0cdd72406c301043b400724c0010284124c07248bec0104bb480724c0010284914c07244bf701047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474004fc71a43d00076400001740003705d43f03a5fed00031a406000724590501047b4405f450000724190501043b4005d4100005d47b0035d4bf0381b45244010410440724590a01047b4405f450000724190a01043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724590f81047b4405f450000724190f81043b4005d41000072441bb81047b4405fed03775fec03787240d1701043b4007248001028411480724573081047b4407248001028450480724d7308104fb4c07240d1701043b4005d4100007244d1701047b440504510085d4510001b4414401041044072458fb01047b4405f450000724194001043b4005d47f0385f411000504130085d410000724594001047b4405d45100010410440724583001047b4405f45000076000025724194001043b4005d410000134100407640001072418fb01043b4005d4100005d41000072459a201047b4405f450000724183001043b40050453008724800082845048072419a201043b4005d4100007400000f72418fb01043b4005d4100005c410000724598681047b4405f450000724183001043b400504530087248000828450480724198681043b4005d4100007400000e72418fb01043b4005d410000724596981047b4405f450000724183001043b400504530087248000828450480724196981043b4005d41000072459c981047b4405f45000072419c981043b400724493381047b44072480008284504805d4100001341000076400085724093381043b4005d41000013410040764000013600000072503ac01053b5005fec17585d4130005d4530011b4414401041044072458ff01047b4405f450000724193d81043b4005d47f0445f4110005d413001724593d81047b4405d45100010410440724582c01047b4405f4500005c43f20076400031724193d81043b4005d410000134100407640001472418ff01043b4005d4100005d410000724599801047b4407248002028450480724182c01043b400504530087248000828450480724199801043b4007248d260104bb48072440020284904407400001372418ff01043b4005d4100005c410000724597c81047b4407248002028450480724182c01043b400504530087248000828450480724197c81043b4007248d260104bb48072440020284904407244d2981047b44072400020284524007400001272418ff01043b4005d410000724595f81047b4407248002028450480724182c01043b400504530087248000828450480724195f81043b4007244d2981047b44072480020284504807240d2b81043b40072480020284114807244d2d81047b44072480020284504807240d2f81043b400724800202841148072441bc81047b44072480020284504807240d3181043b40072480020284114807244d3381047b44072480020284504805041400872480020284114807240d3581043b40072440028284144407248d380104bb4807244002828490440740000785053b4a05fec00945d4130005d4530011b4414401041044072458f681047b4405f450000724193981043b4005d47f0445f4110005d413001724593981047b4405d45100010410440724582801047b4405f4500005c43f20076400031724193981043b4005d410000134100407640001472418f681043b4005d4100005d410000724598c81047b4407248002028450480724182801043b400504530087248000828450480724198c81043b4007248d180104bb48072440020284904407400001372418f681043b4005d4100005c410000724597101047b4407248002028450480724182801043b400504530087248000828450480724197101043b4007248d180104bb48072440020284904407244d1a01047b44072400020284524007400001272418f681043b4005d410000724595401047b4407248002028450480724182801043b400504530087248000828450480724195401043b4007244d1a01047b44072480020284504807240d1c01043b40072480020284114807244d1e01047b44072480020284504807240d2001043b40072480020284114805047b0f872480020284504807240d2201043b40072480020284114807244d2401047b44072480020284504805041400872480020284114807248d380104bb48072400028284944007240d3a81043b40072440028284124405047b82872480028284504807240d3d01043b40072480028284114807244d4101047b44072480028284504805d43f083104100c05d4bf084104920c0724d6fd0104fb4c072500028284d150072456fd01047b440724c1be8104fb4c072500020284d05005fec0381504130287250002028412500504130287248d438104bb48072500020284905005043b85072500028284115005051002872540020285125407248c1b0104bb48072500048284905007240a9b01043b4001ae920001ae5000020f8330058fbe00250fbe004740052161a43d00050493028724cd458104fb4c072500020284d250072483ae8104bb48072500028284915005045202872500020284535007244c1f81047b440724c0048284524c07248a9d0104bb4801ae910001ae5200020f8330058fbe00250fbe004740051fd1a47d000504bb4c8724c0020284904c05fec009d50412028724c0020284114c07240d4781043b40072440048284124407244d4c01047b4407248004828450480724cd508104fb4c072400020284d1400504110205d4100005d47f0491345100076440102724594801047b4405d4bf0495f4520005d47f0381b45044072499480104bb4805d492000104514805d4bf041104514805d4bf0421f45148072498178104bb4805f4910005d47f0431941044072458c201047b4405f450000724093401043b4005c47f2005e411000724093401043b4005c4100005c47f2001341044076400008724093401043b4005c410000134100001a4410007640000f5d43f03d3640000072418c201043b4005d4100005d47f0381b410440724594801047b4405d451000104104405d47f041104104405d47f0421f450440724183881043b4005f411000724079781043b40072440020284134407244d5281047b4407248002028450480724185c81043b4007248002028411480724185c81043b400724581781047b4405d4510007248a0b0104bb4801ae910001ae5200020f8330058fbe00250fbe004740057be1a47d00072498388104bb4805d492000724ca0d0104fb4c01ae920001ae5300020f8330058fbe00250fbe004740057b21a4bd000724d5ef0104fb4c072500020284d150072456bb01047b4407250002028452500724965b0104bb480a34934617244d5481047b440724c0020284524c072496050104bb480724c0020284904c072416d101043b400724c0020284114c0724567101047b440a34524207240d5681043b4007248002028411480724585c81047b4407248002028450480724479981047b44072480020284504807240d5881043b4007248002028411480724583881047b44072498c20104bb480504fb89872500020284d05005041302072500008284115005041302872440008284124407240d5c01043b4007244003028413440724188e81043b4007244d5c01047b4407248002028411480724184501043b4007244d5c01047b44050451020724800082841148072418ce81043b4007248d5c0104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592001047b4405f450000724188e81043b400724592001047b4405d45100072498450104bb4805d492000724d7de0104fb4c072500020284d0500394504d276400008724061301043b4005fec0c267248d620104bb480724400182849044074000030724034e01043b4005fec169c724592001047b4405d45100072498ce8104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04913492040764800065d451000724cd5f0104fb4c072480010284d1480740000055c451000724cd5f0104fb4c072480010284d14807248d600104bb4807244001028493440740000047248d600104bb480724c0010284914c07244d6101047b440724c0010284524c050490008724c0010284914c07248d620104bb48072440018284904407244d6381047b440724000182845240074000007724014d01043b4005fec029a7244d6381047b44072480018284504807240d6501043b400724800182841148072458f281047b44072480018284504807240d6501043b4005d410000134100401a440000764000015c47f2001a4800007644004172418f281043b400724498f01047b440724800182845048072418f281043b4005d410000134100407640000136000000724098f01043b400504100087244d6681047b44072480010284504807240d6781043b400724800102841148072458ef81047b44072480010284504807240d6781043b4005d4100005d47f04a164104401a480000764000017400001e72418ef81043b4005d41000010410040724582401047b4405f450000724182401043b4005d410000724582401047b4405d4510001b4104405d47f04b1b41044072457a981047b4405f45000072418ef81043b400504100085d41000072457a981047b4405d451000154104405c4bf200764000011a48000072409d981043b4001ae920001ae5000020f8330058fbe00250fbe00474004cf01a43d000724591c81047b4407248001028450480724191c81043b4007244c8201047b44072480010284504801ae9100020f8330058fbe00250fbe004740050b11a43d000724591c81047b4407248be90104bb480724c0010284914c01ae9200020f8330058fbe00250fbe00474004cc01a47d000254110005d43f085104100c0724582181047b44072486e20104bb4805fed0dc45d43f0485fed0dc5724071b81043b400724c0010284124c07248c110104bb480724c0010284914c07244c3f01047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474004c391a43d00076400001740000925d43f086104100c05d47f087104510c01a486000724d7a30104fb4c072500020284d250072499158104bb480724c0020284904c0724191581043b40072497a30104bb480724c1dc0104fb4c072500020284d25005049302072500020284915005d47f03b42413440724191581043b40072443b301047b44072480020284504807240d6a01043b40072480020284114807244d6c01047b44072480020284504805d43f045264000001a40700072481e00104bb4805fed03c05d43f0455fed03c15fec03c272403f301043b400724c0018284124c07248d6e0104bb480724c0018284904c0724079b81043b400724c0018284124c0504bb8c8724c0018284904c05d43b119504920085d4fb11b725034f81053b5007254002028511540104504c072540020284545405d47f04410453440724c6148104fb4c05fed0c295041300872500008284125005fed1c2b724065e01043b40072440018284134407244d6f81047b44072480018284504807240d7101043b4007248001828411480724573181047b4407248001828450480724173181043b400724479d01047b4407248001828450480724014e81043b40072480018284114805d47b29d5041001072483738104bb4805fed16e750452008724c0008284504c07240d7281043b40072440010284124407244d7381047b44072480010284504807240c8301043b40072480010284114801ae9000020f8330058fbe00250fbe00474004fff1a43d0007248bea0104bb480724c0010284914c01ae9200020f8330058fbe00250fbe00474004c101a47d000254110005d43f088104100c0724582181047b440724872e0104bb4805fed0e5c5d43f04c5fed0e5d724075f81043b400724c0010284124c07248c6d0104bb480724c0010284914c07244c8601047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474004b891a43d00076400001740003d95d43f03a5fed00041a406000724590581047b4405f450000724190581043b4005d4100005d47b0045d4bf0381b45244010410440724590a81047b4405f450000724190a81043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591001047b4405f450000724191001043b4005d41000072441e181047b4405fed03c35fec03c47240d7481043b4007248001028411480724573301047b4407248001028450480724d7330104fb4c07240d7481043b4005d4100007244d7481047b440504510085d4510001b4414401041044072458fb81047b4405f450000724194181043b4005d47f0385f411000504130085d410000724594181047b4405d45100010410440724583081047b4405f45000076000025724194181043b4005d410000134100407640001072418fb81043b4005d4100005d41000072459a381047b4405f450000724183081043b40050453008724800082845048072419a381043b4005d4100007400000f72418fb81043b4005d4100005c410000724598801047b4405f450000724183081043b400504530087248000828450480724198801043b4005d4100007400000e72418fb81043b4005d410000724596b01047b4405f450000724183081043b400504530087248000828450480724196b01043b4005d41000072459cb01047b4405f45000072419cb01043b400724493481047b44072480008284504805d4100001341000076400085724093481043b4005d41000013410040764000013600000072503f481053b5005fec17e95d4130005d4530011b4414401041044072458ff81047b4405f450000724193e01043b4005d47f0445f4110005d413001724593e01047b4405d45100010410440724582c81047b4405f4500005c43f20076400031724193e01043b4005d410000134100407640001472418ff81043b4005d4100005d410000724599a01047b4407248002028450480724182c81043b400504530087248000828450480724199a01043b4007248d848104bb48072440020284904407400001372418ff81043b4005d4100005c410000724597e81047b4407248002028450480724182c81043b400504530087248000828450480724197e81043b4007248d848104bb48072440020284904407244d8681047b44072400020284524007400001272418ff81043b4005d410000724596181047b4407248002028450480724182c81043b400504530087248000828450480724196181043b4007244d8681047b44072480020284504807240d8881043b40072480020284114807244d8a81047b44072480020284504807240d8c81043b4007248002028411480724415681047b44072480020284504807240d9081043b40072480020284114807244d9281047b44072480020284504805041400872480020284114807240d9481043b40072440028284144407248d970104bb4807244002828490440740000785053b5105fec00a25d4130005d4530011b4414401041044072458f701047b4405f450000724193a01043b4005d47f0445f4110005d413001724593a01047b4405d45100010410440724582881047b4405f4500005c43f20076400031724193a01043b4005d410000134100407640001472418f701043b4005d4100005d410000724598e81047b4407248002028450480724182881043b400504530087248000828450480724198e81043b4007248d758104bb48072440020284904407400001372418f701043b4005d4100005c410000724597301047b4407248002028450480724182881043b400504530087248000828450480724197301043b4007248d758104bb48072440020284904407244d7781047b44072400020284524007400001272418f701043b4005d410000724595601047b4407248002028450480724182881043b400504530087248000828450480724195601043b4007244d7781047b44072480020284504807240d7a81043b40072480020284114807244d7c81047b44072480020284504807240d7e81043b40072480020284114805047b11872480020284504807240d8081043b40072480020284114807244d8281047b44072480020284504805041400872480020284114807248d970104bb48072400028284944007240d9981043b40072440028284124405047b8e072480028284504807240d9c01043b40072480028284114807244d9e81047b44072480028284504805d43f089104100c05d4bf08a104920c0724d6ff8104fb4c072500028284d150072456ff81047b440724c1e28104fb4c072500020284d05005fec03c9504130287250002028412500504130287248da10104bb48072500020284905005043b90872500028284115005051002872540020285125407248c240104bb48072500048284905007240a9f01043b4001ae920001ae5000020f8330058fbe00250fbe00474004dd81a43d00050493028724cda30104fb4c072500020284d250072483f70104bb48072500028284915005045202872500020284535007244c2881047b440724c0048284524c07248aa10104bb4801ae910001ae5200020f8330058fbe00250fbe00474004dbf1a47d000504bb538724c0020284904c05fec00ab50412028724c0020284114c07240da501043b40072440048284124407244da981047b4407248004828450480724cdae0104fb4c072400020284d1400504110205d4100005d47f04d1345100076440102724594b01047b4405d4bf04d5f4520005d47f0381b450440724994b0104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981a8104bb4805f4910005d47f0431941044072458c501047b4405f45000072408ff81043b4005c47f2005e41100072408ff81043b4005c4100005c47f200134104407640000872408ff81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c501043b4005d4100005d47f0381b410440724594b01047b4405d451000104104405d47f041104104405d47f0421f450440724183b81043b4005f411000724079e81043b40072440020284134407244db001047b4407248002028450480724186881043b4007248002028411480724186881043b400724581a81047b4405d4510007248a0f0104bb4801ae910001ae5200020f8330058fbe00250fbe004740053801a47d000724983b8104bb4805d492000724ca110104fb4c01ae920001ae5300020f8330058fbe00250fbe004740053741a4bd000724d61b0104fb4c072500020284d150072456e701047b440725000202845250072496810104bb480a34934617244db201047b440724c0020284524c072496230104bb480724c0020284904c072416ef01043b400724c0020284114c0724568301047b440a34524207240db401043b4007248002028411480724586881047b440724800202845048072447a081047b44072480020284504807240db601043b4007248002028411480724583b81047b44072498c50104bb480504fb95072500020284d05005041302072500008284115005041302872440008284124407240db801043b4007244003028413440724189881043b4007244db801047b4407248002028411480724184781043b4007244db801047b44050451020724800082841148072418d101043b4007248db80104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592201047b4405f450000724189881043b400724592201047b4405d45100072498478104bb4805d492000724d7ea0104fb4c072500020284d0500394504d276400008724056881043b4005fec0ad17248df88104bb480724401482849044074000030724035181043b4005fec16a3724592201047b4405d45100072498d10104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04d13492040764800065d451000724cdbb0104fb4c072480140284d1480740000055c451000724cdbb0104fb4c072480140284d14807248dcf0104bb4807244014028493440740000047248dcf0104bb480724c0140284914c07244de301047b440724c0140284524c050490008724c0140284914c07248df88104bb48072440148284904407244e0d01047b440724001482845240074000007724015881043b4005fec02b17244e0d01047b4407248014828450480724ce218104fb4c072400148284d14005fec03ce725037781053b50072401e701043b400724400201b44044010454440724800202845048072401e701043b400724400201b44144010454440724800202845048072401e701043b400724400205d4bf03c1b45244010454440724800202845048072401e701043b400724400205d4bf04e1b45244010454440724800202845048072401e701043b400724400205d4bf0431b45244010454440724800202845048072401e701043b400724400205d4bf0421b45244010454440724800202845048072401e701043b400724400205d4bf04f1b45244010454440724800202845048072401e701043b400724400205d4bf0501b45244010454440724800202845048072401e701043b400724400205d4bf0381b45244010454440724800202845048072401e701043b400724400205d4bf0391b452440104544407248002028450480724053d01043b40072440140284144407244e3601047b440724801402845048072409bd81043b40072480148284134807240e2181043b4005d410000134100407640001072409bd81043b4005d41000013410000764000025d43f03d364000007240e4a01043b40072480140284114807248e5e0104bb48072440140284904407400000772409bd81043b400504100087248e5e0104bb48072440140284904407240e7201043b40072440140284124407250e8601053b50072440140285104405d43f045264000001a40700072441e901047b4405fed03d25d43f0455fed03d35fec03d472403fb81043b40072480018284114807244e9a01047b4407248001828450480724174081043b400724800182841148072417b101043b4005f40000072417b101043b4005d4100005d47f04a164104405df3f06b7643c000724174081043b4007244eac01047b44072480018284504807240eaf01043b4007248001828411480724573401047b4407248001828450480724173401043b40072447a581047b4407248001828450480724016d01043b40072480018284114805d47b2da50410010724838b8104bb4805fed171750452008724c0008284504c07240eb081043b40072440010284124407244eb181047b44072480010284504807240c8401043b40072480010284114801ae9000020f8330058fbe00250fbe00474004c081a43d0007248beb0104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740048191a47d000254110005d43f08b104100c0724582181047b44072482c58104bb4805fed058b5d43f0515fed058c724036781043b400724c0010284124c07248c970104bb480724c0010284914c07244b3901047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740047921a43d00076400001740003835d43f03a5fed00051a406000724590601047b4405f450000724190601043b4005d4100005d47b0055d4bf0381b45244010410440724590b01047b4405f450000724190b01043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591081047b4405f450000724191081043b4005d41000072441ea81047b4405fed03d55fec03d67240eb281043b4007248001028411480724573581047b4407248001028450480724d7358104fb4c07240eb281043b4005d4100007244eb281047b440504510085d4510001b4414401041044072458fc01047b4405f450000724194201043b4005d47f0385f411000504130085d410000724594201047b4405d45100010410440724583101047b4405f45000076000025724194201043b4005d410000134100407640001072418fc01043b4005d4100005d41000072459a401047b4405f450000724183101043b40050453008724800082845048072419a401043b4005d4100007400000f72418fc01043b4005d4100005c410000724598881047b4405f450000724183101043b400504530087248000828450480724198881043b4005d4100007400000e72418fc01043b4005d410000724596b81047b4405f450000724183101043b400504530087248000828450480724196b81043b4005d41000072459cb81047b4405f45000072419cb81043b400724490781047b44072480008284504805d4100001341000076400085724090781043b4005d41000013410040764000013600000072503fd01053b5005fec17fa5d4130005d4530011b44144010410440724590001047b4405f450000724193e81043b4005d47f0445f4110005d413001724593e81047b4405d45100010410440724582d01047b4405f4500005c43f20076400031724193e81043b4005d4100001341004076400014724190001043b4005d4100005d410000724599c01047b4407248002028450480724182d01043b400504530087248000828450480724199c01043b4007248ec30104bb480724400202849044074000013724190001043b4005d4100005c410000724598081047b4407248002028450480724182d01043b400504530087248000828450480724198081043b4007248ec30104bb48072440020284904407244ec501047b440724000202845240074000012724190001043b4005d410000724596381047b4407248002028450480724182d01043b400504530087248000828450480724196381043b4007244ec501047b44072480020284504807240ec701043b40072480020284114807244ec901047b44072480020284504807240ecb01043b4007248002028411480724416e81047b44072480020284504807240ecd01043b40072480020284114807244ecf01047b44072480020284504805041400872480020284114807240ed101043b40072440028284144407248ed38104bb4807244002828490440740000785053b5805fec00b05d4130005d4530011b4414401041044072458f781047b4405f450000724193a81043b4005d47f0445f4110005d413001724593a81047b4405d45100010410440724582901047b4405f4500005c43f20076400031724193a81043b4005d410000134100407640001472418f781043b4005d4100005d410000724599081047b4407248002028450480724182901043b400504530087248000828450480724199081043b4007248eb38104bb48072440020284904407400001372418f781043b4005d4100005c410000724597501047b4407248002028450480724182901043b400504530087248000828450480724197501043b4007248eb38104bb48072440020284904407244eb581047b44072400020284524007400001272418f781043b4005d410000724595801047b4407248002028450480724182901043b400504530087248000828450480724195801043b4007244eb581047b44072480020284504807240eb781043b40072480020284114807244eb981047b44072480020284504807240ebb81043b40072480020284114805047b13872480020284504807240ebd81043b40072480020284114807244ec101047b44072480020284504805041400872480020284114807248ed38104bb48072400028284944007250ed781053b50072400028285124005d4130005d4530011b44144010410440724590401047b4405f450000724194081043b4005d47f0385f4110005d413001724594081047b4405d45100010410440724582f01047b4405f45000076000025724194081043b4005d4100001341004076400010724190401043b4005d4100005d41000072459a281047b4405f450000724182f01043b40050453008724800082845048072419a281043b4005d4100007400000f724190401043b4005d4100005c410000724598701047b4405f450000724182f01043b400504530087248000828450480724198701043b4005d4100007400000e724190401043b4005d410000724596a01047b4405f450000724182f01043b400504530087248000828450480724196a01043b4005d41000072459ca01047b4405f45000072419ca01043b4005d41000013410000764000013600000072401ce01043b4005fec039c7244eda01047b44072480008284504807240eda81043b40072480008284114805047b9e0724800282845448050491028724c0008284904c07240edb01043b40072480030284114807244ede01047b44072480030284504805d43f08c104100c05d47f08d104510c072482000104bb480724c0020284904c05fec040450412028724c0020284114c072403ff81043b4007244ede01047b440724c0028284114c050450028724cede0104fb4c0504d3028725000082845350050452028724cee10104fb4c072500020284d15005047bad07250003028450500505110307254002028513540724cb920104fb4c072500050284d150072449e501047b4401ae930001ae5100020f8330058fbe00250fbe00474004a0e1a47d00050492028724cee30104fb4c072500020284d250072482ea0104bb48072500030284905005041203072500020284135007240b9801043b400724c0050284124c072489e70104bb4801ae900001ae5200020f8330058fbe00250fbe004740049f51a43d000504bb5a8724c0020284914c05fec00b950452028724c0020284504c07240ee501043b40072440048284124407244ee981047b4407248004828450480724ceee0104fb4c072400020284d1400504110205d4100005d47f03813451000764400ea724594d01047b4405d4bf0385f4520005d47f0381b450440724994d0104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981c8104bb4805f4910005d47f0431941044072458c701047b4405f450000724090801043b4005e400000724090801043b4005c4100005c47f2001341044076400008724090801043b4005c410000134100001a4410007640000f5d43f03d3640000072418c701043b4005d4100005d47f0381b410440724594d01047b4405d451000104104405d47f041104104405d47f0421f450440724183d81043b4005f41100072407a701043b40072440020284134407244ef181047b4407248002028450480724187081043b4007248002028411480724187081043b400724581c81047b4405d4510007248a130104bb4801ae910001ae5200020f8330058fbe00250fbe00474004f261a47d000724983d8104bb4805d492000724ca150104fb4c01ae920001ae5300020f8330058fbe00250fbe00474004f1a1a4bd000724d6250104fb4c072500020284d150072456f101047b440725000202845250072496850104bb480a34934617244ef381047b440724c0020284524c072496270104bb480724c0020284904c072416f301043b400724c0020284114c0724568701047b440a34524207240ef581043b4007248002028411480724587081047b440724800202845048072447a901047b44072480020284504807240ef781043b4007248002028411480724583d81047b44072498c70104bb480504fb66072500020284d05005041302072500008284115005041302872440008284124407240ef981043b400724400302841344072418a081043b4007244ef981047b4407248002028411480724184981043b4007244ef981047b44050451020724800082841148072418d301043b4007248ef98104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592281047b4405f45000072418a081043b400724592281047b4405d45100072498498104bb4805d492000724d7f20104fb4c072500020284d0500394504d276400008724057e81043b4005fec0afd7248efc8104bb480724400102849044074000019724038c81043b4005fec1719724592281047b4405d45100072498d30104bb4805d4920005d4ff0381b49348010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f4110017248efc8104bb48072440010284904407244efd81047b440724000102845240074000007724017081043b4005fec02e17244efd81047b44072480010284504807240efe81043b400724800102841148072449d201047b44072480010284504807240efe81043b4005d410000134100407640000872409d201043b4005d410000134100001a440000764000065d43f03d3640000072409d201043b400504100085d45000072409da81043b4001ae910001ae5000020f8330058fbe00250fbe004740045221a43d000724591d81047b4407248001028450480724191d81043b4007244c8501047b44072480010284504801ae9100020f8330058fbe00250fbe004740048691a43d000724591d81047b4407248bed0104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740044781a47d000254110005d43f08e104100c0724582181047b44072483b50104bb4805fed076a5d43f04a5fed076b724040501043b400724c0010284124c07248b490104bb480724c0010284914c07244b5901047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740043f11a43d00076400001740003bd5d43f03a5fed00061a406000724590681047b4405f450000724190681043b4005d4100005d47b0065d4bf0381b45244010410440724590b81047b4405f450000724190b81043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591101047b4405f450000724191101043b4005d410000724420481047b4405fed04095fec040a7240eff81043b4007248001028411480724573681047b4407248001028450480724d7368104fb4c07240eff81043b4005d4100007244eff81047b440504510085d4510001b4414401041044072458fc81047b4405f450000724194281043b4005d47f0385f411000504130085d410000724594281047b4405d45100010410440724583181047b4405f45000076000025724194281043b4005d410000134100407640001072418fc81043b4005d4100005d41000072459a481047b4405f450000724183181043b40050453008724800082845048072419a481043b4005d4100007400000f72418fc81043b4005d4100005c410000724598901047b4405f450000724183181043b400504530087248000828450480724198901043b4005d4100007400000e72418fc81043b4005d410000724596c01047b4405f450000724183181043b400504530087248000828450480724196c01043b4005d41000072459cc01047b4405f45000072419cc01043b400724490881047b44072480008284504805d4100001341000076400085724090881043b4005d410000134100407640000136000000725040281053b5005fec18055d4130005d4530011b44144010410440724590081047b4405f450000724193f01043b4005d47f0445f4110005d413001724593f01047b4405d45100010410440724582d81047b4405f4500005c43f20076400031724193f01043b4005d4100001341004076400014724190081043b4005d4100005d410000724599e01047b4407248002028450480724182d81043b400504530087248000828450480724199e01043b4007248f100104bb480724400202849044074000013724190081043b4005d4100005c410000724598281047b4407248002028450480724182d81043b400504530087248000828450480724198281043b4007248f100104bb48072440020284904407244f1201047b440724000202845240074000012724190081043b4005d410000724596581047b4407248002028450480724182d81043b400504530087248000828450480724196581043b4007244f1201047b44072480020284504807240f1401043b40072480020284114807244f1601047b44072480020284504807240f1901043b4007248002028411480724417181047b44072480020284504807240f1b01043b40072480020284114807244f1d01047b44072480020284504805041400872480020284114807240f1f01043b40072440028284144407248f218104bb4807244002828490440740000785053b1e85fec003d5d4130005d4530011b4414401041044072458f801047b4405f450000724193b01043b4005d47f0445f4110005d413001724593b01047b4405d45100010410440724582981047b4405f4500005c43f20076400031724193b01043b4005d410000134100407640001472418f801043b4005d4100005d410000724599281047b4407248002028450480724182981043b400504530087248000828450480724199281043b4007248f008104bb48072440020284904407400001372418f801043b4005d4100005c410000724597701047b4407248002028450480724182981043b400504530087248000828450480724197701043b4007248f008104bb48072440020284904407244f0401047b44072400020284524007400001272418f801043b4005d410000724595a01047b4407248002028450480724182981043b400504530087248000828450480724195a01043b4007244f0401047b44072480020284504807240f0601043b40072480020284114807244f0801047b44072480020284504807240f0a01043b40072480020284114805047b15872480020284504807240f0c01043b40072480020284114807244f0e01047b44072480020284504805041400872480020284114807248f218104bb48072400028284944007240f2401043b40072440028284124405047bb2072480028284504807240f2681043b40072480028284114807244f2901047b44072480028284504805d43f08f104100c05d4bf090104920c0724d7020104fb4c072500028284d1500724570201047b440724c2058104fb4c072500020284d05005fec040f504130287250002028412500504130287248f2b8104bb48072500020284905005043bb4872500028284115005051002872540020285125407248c2d0104bb48072500048284905007240aa301043b4001ae920001ae5000020f8330058fbe00250fbe004740046401a43d00050493028724cf2d8104fb4c072500020284d250072484210104bb48072500028284915005045202872500020284535007244c3181047b440724c0048284524c07248aa50104bb4801ae910001ae5200020f8330058fbe00250fbe004740046271a47d000504bb248724c0020284904c05fec004d50412028724c0020284114c07240f3181043b40072440048284124407244f3601047b4407248004828450480724cf3a8104fb4c072400020284d1400504110205d4100005d47f0491345100076440102724594d81047b4405d4bf0495f4520005d47f0381b450440724994d8104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981d0104bb4805f4910005d47f0431941044072458c781047b4405f450000724090901043b4005c47f2005e411000724090901043b4005c4100005c47f2001341044076400008724090901043b4005c410000134100001a4410007640000f5d43f03d3640000072418c781043b4005d4100005d47f0381b410440724594d81047b4405d451000104104405d47f041104104405d47f0421f450440724183e01043b4005f41100072407ab01043b40072440020284134407244f3c81047b4407248002028450480724187281043b4007248002028411480724187281043b400724581d01047b4405d4510007248a170104bb4801ae910001ae5200020f8330058fbe00250fbe00474004be81a47d000724983e0104bb4805d492000724ca190104fb4c01ae920001ae5300020f8330058fbe00250fbe00474004bdc1a4bd000724d6290104fb4c072500020284d150072456f501047b440725000202845250072496890104bb480a34934617244f3e81047b440724c0020284524c072495c50104bb480724c0020284904c0724169101043b400724c0020284114c0724563101047b440a34524207240f4081043b4007248002028411480724587281047b440724800202845048072447ad01047b44072480020284504807240f4281043b4007248002028411480724583e01047b44072498c78104bb480504fb69072500020284d05005041302072500008284115005041302872440008284124407240f4481043b400724400302841344072418a281043b4007244f4481047b4407248002028411480724184a01043b4007244f4481047b44050451020724800082841148072418d381043b4007248f448104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592301047b4405f45000072418a281043b400724592301047b4405d451000724984a0104bb4805d492000724d7f40104fb4c072500020284d0500394504d276400008724057f81043b4005fec0aff7248f4a8104bb48072440018284904407400003072402ef01043b4005fec15de724592301047b4405d45100072498d38104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04913492040764800065d451000724cf478104fb4c072480010284d1480740000055c451000724cf478104fb4c072480010284d14807248f488104bb4807244001028493440740000047248f488104bb480724c0010284914c07244f4981047b440724c0010284524c050490008724c0010284914c07248f4a8104bb48072440018284904407244f4c01047b440724000182845240074000007724017381043b4005fec02e77244f4c01047b44072480018284504807240f4d81043b40072480018284114807244f4f01047b44072480018284504805d43f045264000001a407000724820a0104bb4805fed04145d43f0455fed04155fec0416724042581043b400724c0018284124c07248f508104bb480724c0018284904c0724090981043b400724c0018284114c07240f4f01043b4005d410000134100007640005b724090981043b4005d41000013410040764000025d43f03d36400000724090981043b4005041000872459ae01047b440724c0010284504c07240b4e81043b40072440018284124407244aff01047b4401ae810001ae500001ae1100020f8330058fbe00250fbe004740045341a43d000724575401047b440724800182845048072419ae01043b400724575401047b4405d490000724cb500104fb4c072500018284d15007244b0081047b4401ae920001ae530001ae1100020f8330058fbe00250fbe0047400451d1a47d00072497420104bb480724c0018284914c05d410001724574201047b4407248b518104bb480724c0018284914c07244b0501047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740045081a43d000724575e81047b4407248001828450480724175e81043b4007244f5201047b44072480018284504807240f5381043b40072480018284114807248f550104bb4807244001828490440740000127240b4d01043b40072440018284124407244afd81047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740044e71a43d0007248f550104bb48072440018284904407240f5681043b4007244001828412440724571801047b4407248001828450480724171801043b40072447af01047b44072480018284504805043bb9072480018284114805d47b1725041001072482f40104bb4805fed15e850452008724c0008284504c07240f5801043b40072440010284124407244f5901047b44072480010284504807240c8701043b40072480010284114801ae9000020f8330058fbe00250fbe0047400448c1a43d0007248bee0104bb480724c0010284914c01ae9200020f8330058fbe00250fbe0047400409d1a47d000254110005d43f091104100c0724582181047b44072484348104bb4805fed08695d43f0515fed086a724048501043b400724c0010284124c07248b690104bb480724c0010284914c07244b7901047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740040161a43d00076400001740003835d43f03a5fed00071a406000724590701047b4405f450000724190701043b4005d4100005d47b0075d4bf0381b45244010410440724590c01047b4405f450000724190c01043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591181047b4405f450000724191181043b4005d410000724420b81047b4405fed04175fec04187240f5a01043b4007248001028411480724571981047b4407248001028450480724d7198104fb4c07240f5a01043b4005d4100007244f5a01047b440504510085d4510001b4414401041044072458fd01047b4405f450000724194301043b4005d47f0385f411000504130085d410000724594301047b4405d45100010410440724583201047b4405f45000076000025724194301043b4005d410000134100407640001072418fd01043b4005d4100005d41000072459a501047b4405f450000724183201043b40050453008724800082845048072419a501043b4005d4100007400000f72418fd01043b4005d4100005c410000724598981047b4405f450000724183201043b400504530087248000828450480724198981043b4005d4100007400000e72418fd01043b4005d410000724596c81047b4405f450000724183201043b400504530087248000828450480724196c81043b4005d41000072459cc81047b4405f45000072419cc81043b400724490b01047b44072480008284504805d4100001341000076400085724090b01043b4005d410000134100407640000136000000725042701053b5005fec184e5d4130005d4530011b44144010410440724590101047b4405f450000724193f81043b4005d47f0445f4110005d413001724593f81047b4405d45100010410440724582e01047b4405f4500005c43f20076400031724193f81043b4005d4100001341004076400014724190101043b4005d4100005d41000072459a001047b4407248002028450480724182e01043b40050453008724800082845048072419a001043b4007248f698104bb480724400202849044074000013724190101043b4005d4100005c410000724598481047b4407248002028450480724182e01043b400504530087248000828450480724198481043b4007248f698104bb48072440020284904407244f6b81047b440724000202845240074000012724190101043b4005d410000724596781047b4407248002028450480724182e01043b400504530087248000828450480724196781043b4007244f6b81047b44072480020284504807240f6d81043b40072480020284114807244f6f81047b44072480020284504807240f7181043b4007248002028411480724417501047b44072480020284504807240f7381043b40072480020284114807244f7581047b44072480020284504805041400872480020284114807240f7781043b40072440028284144407248f7a0104bb4807244002828490440740000785053b2905fec00525d4130005d4530011b4414401041044072458f881047b4405f450000724193b81043b4005d47f0445f4110005d413001724593b81047b4405d45100010410440724582a01047b4405f4500005c43f20076400031724193b81043b4005d410000134100407640001472418f881043b4005d4100005d410000724599481047b4407248002028450480724182a01043b400504530087248000828450480724199481043b4007248f5b0104bb48072440020284904407400001372418f881043b4005d4100005c410000724597901047b4407248002028450480724182a01043b400504530087248000828450480724197901043b4007248f5b0104bb48072440020284904407244f5d01047b44072400020284524007400001272418f881043b4005d410000724595c01047b4407248002028450480724182a01043b400504530087248000828450480724195c01043b4007244f5d01047b44072480020284504807240f5f01043b40072480020284114807244f6101047b44072480020284504807240f6301043b40072480020284114805047b17872480020284504807240f6501043b40072480020284114807244f6701047b44072480020284504805041400872480020284114807248f7a0104bb48072400028284944007250f7c81053b50072400028285124005d4130005d4530011b44144010410440724590481047b4405f450000724194101043b4005d47f0385f4110005d413001724594101047b4405d45100010410440724582f81047b4405f45000076000025724194101043b4005d4100001341004076400010724190481043b4005d4100005d41000072459a301047b4405f450000724182f81043b40050453008724800082845048072419a301043b4005d4100007400000f724190481043b4005d4100005c410000724598781047b4405f450000724182f81043b400504530087248000828450480724198781043b4005d4100007400000e724190481043b4005d410000724596a81047b4405f450000724182f81043b400504530087248000828450480724196a81043b4005d41000072459ca81047b4405f45000072419ca81043b4005d41000013410000764000013600000072401ce81043b4005fec039d7244f7f81047b44072480008284504807240f8001043b40072480008284114805047bba8724800282845448050491028724c0008284904c07240f8081043b40072480030284114807244f8381047b44072480030284504805d43f092104100c05d47f093104510c0724820c8104bb480724c0020284904c05fec041d50412028724c0020284114c0724042981043b4007244f8381047b440724c0028284114c050450028724cf838104fb4c0504d3028725000082845350050452028724cf868104fb4c072500020284d15005047bbd87250003028450500505110307254002028513540724cb9d0104fb4c072500050284d150072449e901047b4401ae930001ae5100020f8330058fbe00250fbe004740042921a47d00050492028724cf888104fb4c072500020284d250072482f50104bb48072500030284905005041203072500020284135007240ba201043b400724c0050284124c072489eb0104bb4801ae900001ae5200020f8330058fbe00250fbe004740042791a43d000504bb2b8724c0020284914c05fec005b50452028724c0020284504c07240f8a81043b40072440048284124407244f8f01047b4407248004828450480724cf938104fb4c072400020284d1400504110205d4100005d47f03813451000764400ea724594e01047b4405d4bf0385f4520005d47f0381b450440724994e0104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981d8104bb4805f4910005d47f0431941044072458c801047b4405f450000724090b81043b4005e400000724090b81043b4005c4100005c47f2001341044076400008724090b81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c801043b4005d4100005d47f0381b410440724594e01047b4405d451000104104405d47f041104104405d47f0421f450440724183e81043b4005f41100072407b081043b40072440020284134407244f9581047b4407248002028450480724187481043b4007248002028411480724187481043b400724581d81047b4405d4510007248a1b0104bb4801ae910001ae5200020f8330058fbe00250fbe004740047aa1a47d000724983e8104bb4805d492000724ca1f0104fb4c01ae920001ae5300020f8330058fbe00250fbe0047400479e1a4bd000724d5c70104fb4c072500020284d1500724569301047b440725000202845250072496330104bb480a34934617244f9801047b440724c0020284524c072495c90104bb480724c0020284904c0724169501043b400724c0020284114c0724563501047b440a34524207240f9a01043b4007248002028411480724587481047b440724800202845048072447b281047b44072480020284504807240f9c01043b4007248002028411480724583e81047b44072498c80104bb480504fb6c072500020284d05005041302072500008284115005041302872440008284124407240f9e01043b400724400302841344072418a481043b4007244f9e01047b4407248002028411480724184a81043b4007244f9e01047b44050451020724800082841148072418d401043b4007248f9e0104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592381047b4405f45000072418a481043b400724592381047b4405d451000724984a8104bb4805d492000724d7f60104fb4c072500020284d0500394504d276400008724058101043b4005fec0b027248fa10104bb480724400102849044074000019724038d81043b4005fec171b724592381047b4405d45100072498d40104bb4805d4920005d4ff0381b49348010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f4110017248fa10104bb48072440010284904407244fa201047b440724000102845240074000007724017781043b4005fec02ef7244fa201047b44072480010284504807240fa301043b400724800102841148072449d301047b44072480010284504807240fa301043b4005d410000134100407640000872409d301043b4005d410000134100001a440000764000065d43f03d3640000072409d301043b400504100085d4500007240a9a01043b4001ae910001ae5000020f8330058fbe00250fbe00474003da61a43d000724591e81047b4407248001028450480724191e81043b4007244c8801047b44072480010284504801ae9100020f8330058fbe00250fbe004740040ed1a43d000724591e81047b4407248bef0104bb480724c0010284914c01ae9200020f8330058fbe00250fbe00474003cfc1a47d000254110005d43f094104100c0724582181047b44072484958104bb4805fed092b5d43f0505fed092c72404db81043b400724c0010284124c07248b970104bb480724c0010284914c07244bca01047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474003c751a43d00076400001740005685d43f03a5fed00081a406000724590781047b4405f450000724190781043b4005d4100005d47b0085d4bf0381b45244010410440724590c81047b4405f450000724190c81043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591201047b4405f450000724191201043b4005d410000724421101047b4405fed04225fec04237240fa401043b4007248001028411480724571a81047b4407248001028450480725171a81053b5001ae9400020f8330058fbe00250fbe00474003d051a43d000724582081047b4405f450000724182081043b4005d4500005d4bf0381b452440264400001a447000504bb1985fed103350452008724c0008284504c07240fa501043b40072440010284124405047b30072480010284504805fec00627240fa601043b4007248001828411480724596d01047b440724800182845048072417b181043b4005f40000072417b181043b4005d410000724582081047b4405d451000164104405df3f06c7643c000724196d01043b4007244fa781047b44072480018284504805043bc2872480018284114807244fa901047b44072480018284504807240faa81043b4007248001828411480724570481047b4407248001828450480724d7048104fb4c0724195201043b4005f400000714000017640001e724063201043b4005fec0c64724468281047b4405fec1d057148000272501f381053b50072540020285125407248fc70104bb48072540020284945407250fc901053b50072540020285125405049100872540020284945405049000872500028284915007250fcb01053b5007244003028510440740001b96140000172448fb01047b4405e45000072408fb01043b4005c410000134100007640001272408fb01043b4005c41000013410040764000013600000072402ce81043b4005fec159d7244fac01047b44072480008284504807248fac8104bb4807240000828491400740000065043b1a85fec00357248fac8104bb48072440008284904407240fad01043b4007244000828412440724494301047b4407248000828450480724094301043b4005d4100001341000076400009724094301043b4005d41000013410040764000025d43f03d3640000061400103740000016140000572457ba01047b4405e4500005043b3185fec0063724579981047b440724800282845048072417b201043b4005e40000072417b201043b4005c41000072457ba01047b4405c4510001641044076400036724179981043b400724496b81047b4407248002828450480724179981043b4005d4100001341004076400019724096b81043b4005d41000013410000764000025d43f03d36400000724067881043b4005fec1cf172446c781047b4405fec1d8f5049002072500008284915007244fb981047b44072480028284504807248fbc0104bb48072400028284914007400000d724096b81043b40050410008724461e01047b4405fec0c3c5049100872500020284905007248fbc0104bb48072400028284914007244fbe81047b4407240002828452400740000ff72417b201043b4005c41000061410200724493781047b4405e450000724093781043b4005c4100001341000076400025724093781043b4005c4100001341004076400014724093781043b4005c4100005c47f1f8134104407640000136000000724052f01043b4005d47f03c5fed1a5e7244fad81047b44072480008284504807248fae0104bb480724000082849140074000007724038e81043b4005fec171d7248fae0104bb48072440008284904407244faf01047b440724000082845240074000007724017881043b4005fec02f17244faf01047b44072480008284504807240faf81043b4007248000828411480724493d81047b4407248000828450480724093d81043b4005d4100001341000076400014724093d81043b4005d4100005d47f03c134104407640000e72417b201043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740042791a43d00072457b201047b4405e4500007500009572417b201043b4005c41000061450200724893a8104bb4805e491000724493a81047b4405c4510001345100076440025724493a81047b4405c4510001345104076440014724493a81047b4405c4510005c4bf1f8134514807644000136000000724458301047b4405d4bf03c5fed2b067248fb00104bb48072500008284915007250fb081053b50072440008285124407400000772442cb81047b4405fec15977250fb081053b50072480008285114807248fb10104bb4807244000828494440740000065047b0b05fec00167248fb10104bb48072500008284915007244fb181047b440725000082845250072489d70104bb480725000082849150072449d701047b4405d451000134510007644000872403e401043b4005fec07c87248fb40104bb48072440028284904407400001372441cf01047b4405fec139e6141020372481428104bb48072500020284905007240fb201043b40072500020284125005049100872500020284905007248fb40104bb48072400028284914007240fb681043b400724400282841244072458b181047b4407248002828450480724179981043b4005d410000134100401a440000764000015c47f2005df3f06d7647c00072418b181043b4007244c0201047b44072480028284504807240a0701043b4001ae910001ae5000020f8330058fbe00250fbe00474003d951a43d000724579981047b4407248c048104bb48072500028284915007244a1d01047b4401ae920001ae5100020f8330058fbe00250fbe00474003d861a47d000724961d0104bb480725000202849050072416e901043b4007250002028411500a14124205df3f06e7643c00072402dd81043b4005fec15bb724453101047b4405fec0a625049002072500008284915007244fbe81047b4407248002828450480724090c01043b40072480028284114807240fbe81043b4005d410000134100407640001f724090c01043b4005d41000013410000764000025d43f03d36400000724090c01043b4005041000872442fa01047b4405fec05f472485510104bb4805fec0aa25051200872540020285105405041100872500028284125007240fc101043b40072480030284114807248fc40104bb48072440030284904407400000c724090c01043b400504100205047bc405fec11885049102872500008284905007248fc40104bb48072400030284914007250fcb01053b50072400030285124007240fce01043b4007244003028414440724494a81047b44072480030284504807240fce01043b4005d410000134100007640000136000000724094a81043b400504100087244fd181047b44072480028284504807240fd401043b40072480028284114805d47f095104510c05d4bf096104920c0725192b81053b5007254002828510540724021201043b40072500020284115005fec0428504500287250002028452500724592b81047b440504900287250fd681053b5007254002028512540724821e0104bb48072540028284915405055202872580020285545807250c3601053b50072540048285125407248aa70104bb4801ae940001ae5200020f8330058fbe00250fbe00474003deb1a4bd000504100287250fd881053b5007254002028510540724042d81043b40072540028284115405045002872540020284545407244c3a81047b44072500048284505007240aa901043b4001ae910001ae5000020f8330058fbe00250fbe00474003dd21a43d0005047b6f072500020284525005fec00e25049102872500020284905007240fda81043b40072480048284114807244fdf01047b44072480048284504807250fe381053b5007240002028511400504110205d4100005d47f04d1345100076440102724594e81047b4405d4bf04d5f4520005d47f0381b450440724994e8104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981e0104bb4805f4910005d47f0431941044072458c881047b4405f450000724090301043b4005c47f2005e411000724090301043b4005c4100005c47f2001341044076400008724090301043b4005c410000134100001a4410007640000f5d43f03d3640000072418c881043b4005d4100005d47f0381b410440724594e81047b4405d451000104104405d47f041104104405d47f0421f450440724183f01043b4005f41100072407b481043b40072440020284144407244fe581047b4407248002028450480724187681043b4007248002028411480724187681043b400724581e01047b4405d4510007248a210104bb4801ae910001ae5200020f8330058fbe00250fbe004740043931a47d000724983f0104bb4805d4920007250a2301053b5001ae920001ae5400020f8330058fbe00250fbe004740043871a4bd00072515cb01053b5007254002028511540724569701047b440725400202845254072496370104bb480a34944617244fe781047b440725000202845250072495cd0104bb4807250002028490500724169901043b4007250002028411500724563901047b440a34524207240fe981043b4007248002028411480724587681047b440724800202845048072447b681047b44072480020284504807240fed01043b4007248002028411480724583f01047b44072498c88104bb4805053ba1072540020285105405041402072540008284115405041402872440008284124407240fef01043b400724400302841444072418a681043b4007244fef01047b4407248002028411480724184b01043b4007244fef01047b44050451020724800082841148072418d481043b4007248fef0104bb4805049202872500008284125005d4110005d47f0441b4104405d47f0381b411400264000001a407000724592401047b4405f45000072418a681043b400724592401047b4405d451000724984b0104bb4805d49200072517f801053b50072540020285105403945051276400008724058701043b4005fec0b0e724902e0104bb480724401482849044074000030724046281043b4005fec18c5724592401047b4405d45100072498d48104bb4805d4920005d53f0381b494480104514805c4bf200764800135d4bf04d13492040764800065d4510007250ff201053b5007248014028511480740000055c4510007250ff201053b500724801402851148072490060104bb48072440140284944407400000472490060104bb4807250014028491500724501a01047b4407250014028452500504900087250014028491500724902e0104bb4807244014828490440724504281047b440724001482845240074000007724024881043b4005fec0491724504281047b4407248014828450480724105701043b4007248014828411480724499081047b4407248014828450480724105701043b4005d410000134100407640000136000000724099081043b40050410008724506b81047b4407248014028450480724107f81043b400724801402841148072458d601047b44072480140284504802b4000004341000072457a881047b4405f45000072417a581043b4005f40000072417a581043b4005d4100005d453002164104405df3f06f7643c0005d43f097104100c05d47f098104510c0724872f0104bb480724c0020284904c05fec0e6250412028724c0020284114c0724192b81043b40072518d601053b5005045202872491a68104bb480724c0020284914c072441b401047b440724c0028284504c050411028724c0020284124c07240c4001043b40072480048284114807244aab01047b4401ae900001ae5100020f8330058fbe00250fbe00474003c5c1a43d00072457c001047b440724800202845048072497c00104bb4805d43f04d13410000764000f2724194b81043b4005d47f04d5f4110005d43f0381b400400724594b81047b4405d451000104104405d47f041104104405d47f0421f410440724581b01047b4405f4500005d43f0431940040072458c581047b4405f450000724092881043b4005c47f2005e411000724092881043b4005c4100005c47f2001341044076400008724092881043b4005c410000134100001a4410007640000f5d43f03d3640000072418c581043b4005d4100005d47f0381b410440724594b81047b4405d451000104104405d47f041104104405d47f0421f450440724183c01043b4005f41100072407cd01043b400724400202841244072451a881047b4407248002028450480724186a81043b4007248002028411480724186a81043b400724581b01047b4405d4510007248a2d0104bb4801ae910001ae5200020f8330058fbe00250fbe0047400422c1a47d000724983c0104bb4805d492000724ca2f0104fb4c01ae920001ae5300020f8330058fbe00250fbe004740042201a4bd000724d5d70104fb4c072540020284d154072456a301047b440725400202845254072496430104bb480a349346172451aa81047b440724c0020284524c072495db0104bb480724c0020284904c072416a701043b400724c0020284114c0724564701047b440a345242072411ac81043b4007248002028411480724586a81047b440724800202845048072447cf01047b440724800202845048072411ae81043b4007248002028411480724583c01047b44072498c58104bb480724c12f0104fb4c072540020284d054050413020725400082841154050413028724400082841244072411b081043b4007244003028413440724189a81043b40072451b081047b4407248002028411480724184801043b40072451b081047b44050451020724800082841148072418d181043b40072491b08104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458ba01047b4405f450000724189a81043b40072458ba01047b4405d45100072498480104bb4805d492000724d7ec0104fb4c072540020284d0540394504d272418ba01043b4005d41000072458d181047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f04d134510407644000672447f901047b44072480140284544805f4110007400000572447e501047b44072480140284544805e4110007400000672447d101047b44072480140284544805d4bf04d28411480724189a81043b40072458ba01047b4405d45100072498480104bb4805d492000724d8040104fb4c072500020284d05003b4d04525d43f045264000001a407000724422c01047b4405fed04585d43f0455fed04595fec045a724043201043b400724800182841148072451b601047b440724800182845048072411b781043b4007248001828411480724571d01047b4407248001828450480724171d01043b400724480d01047b44072480018284504805043bcd072480018284114805d47b19a5041001072482fe0104bb4805fed15fc50452008724c0008284504c072411b901043b400724400102841244072451ba01047b44072480010284504807240c8901043b40072480010284114801ae9000020f8330058fbe00250fbe00474003b651a43d0007248bf00104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740037761a47d000254110005d43f099104100c0724582181047b44072484f90104bb4805fed09f25d43f0385fed09f3724052581043b400724c0010284124c07248bde0104bb480724c0010284914c07244bdf01047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740036ef1a43d00076400001740004775d43f09a104100c05d47f09b104510c0724822d8104bb480724c0020284904c05fec045f50412028724c0020284114c07240aaf01043b4001ae9000020f8330058fbe00250fbe004740038501a43d0007244c8e01047b440724c0030284504c07240acd01043b4001ae910001ae5000020f8330058fbe00250fbe00474003b2e1a43d00050452028724d1bb0104fb4c072500020284d15005047bd307250002828450500505110287254002028513540724cc448104fb4c072500048284d15007244aad01047b4401ae930001ae5100020f8330058fbe00250fbe00474003ac31a47d00050492028724d1bd0104fb4c072500020284d250072482ff0104bb48072500028284905005041202872500020284135007240c4901043b400724c0048284124c07248ab20104bb4801ae900001ae5200020f8330058fbe00250fbe00474003aaa1a43d000504bb358724c0020284914c05fec006f50452028724c0020284504c072411bf01043b400724400482841244072451c381047b4407248004828450480724d1c80104fb4c072400020284d1400504110205d4100005d47f0491345100076440102724594f01047b4405d4bf0495f4520005d47f0381b450440724994f0104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981e8104bb4805f4910005d47f0431941044072458c901047b4405f450000724091181043b4005c47f2005e411000724091181043b4005c4100005c47f2001341044076400008724091181043b4005c410000134100001a4410007640000f5d43f03d3640000072418c901043b4005d4100005d47f0381b410440724594f01047b4405d451000104104405d47f041104104405d47f0421f450440724183f81043b4005f411000724080e81043b400724400202841344072451ca01047b4407248002028450480724187881043b4007248002028411480724187881043b400724581e81047b4405d4510007248a310104bb4801ae910001ae5200020f8330058fbe00250fbe0047400406b1a47d000724983f8104bb4805d492000724ca350104fb4c01ae920001ae5300020f8330058fbe00250fbe0047400405f1a4bd000724d5dd0104fb4c072500020284d150072456a901047b440725000202845250072496490104bb480a349346172451ce81047b440724c0020284524c072495df0104bb480724c0020284904c072416ab01043b400724c0020284114c0724564b01047b440a345242072411d081043b4007248002028411480724587881047b4407248002028450480724481081047b440724800202845048072411d281043b4007248002028411480724583f81047b44072498c90104bb480504fb73872500020284d050050413020725000082841150050413028724400082841244072411d481043b400724400302841344072418a881043b40072451d481047b4407248002028411480724184b81043b40072451d481047b44050451020724800082841148072418d501043b40072491d48104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592481047b4405f45000072418a881043b400724592481047b4405d451000724984b8104bb4805d492000724d7fa0104fb4c072500020284d0500394504d276400008724055381043b4005fec0aa772491da8104bb480724400182849044074000030724039101043b4005fec1722724592481047b4405d45100072498d50104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04913492040764800065d451000724d1d78104fb4c072480010284d1480740000055c451000724d1d78104fb4c072480010284d148072491d88104bb48072440010284934407400000472491d88104bb480724c0010284914c072451d981047b440724c0010284524c050490008724c0010284914c072491da8104bb480724400182849044072451dc01047b440724000182845240074000007724017b81043b4005fec02f772451dc01047b440724800182845048072411dd81043b400724800182841148072449a501047b440724800182845048072411dd81043b4005d41000013410040764000013600000072409a501043b4005041000872451e181047b440724800102845048072411e281043b400724800102841148072458f081047b440724800102845048072411e281043b4005d4100005d47f04a164104405d47f09c104510c072484338104bb4805fed18675d47f0525fed1868725459b81057b5407244001028552440134100005df3f0707643c00072418f081043b4005d41000010410040724582481047b4405f450000724182481043b4005d410000724582481047b4405d4510001b4104405d47f0531b41044072457aa01047b4405f45000072418f081043b400504100085d41000072457aa01047b4405d451000154104405d47f09d104510c072486640104bb4805fed1cc85d47f04c5fed1cc972546b781057b5407244001028552440134100005df3f0717643c00072418f081043b4005d450000104510405f4110005d43f09e104100c05d47f09f104510c07248ac60104bb4801ae9200020f8330058fbe00250fbe004740036871a4bd000724cc910104fb4c072500030284d25007248acf8104bb4801ae930001ae5200020f8330058fbe00250fbe004740039651a4bd000724d92e0104fb4c072500028284d250072486d20104bb480724c0020284904c05fec0da850412028724c0020284114c0724192e01043b40072518f081053b5005045202872491f08104bb480724c0020284914c0724423201047b440724c0028284504c050411028724c0020284124c07240c4d81043b40072480048284114807244ab401047b4401ae900001ae5100020f8330058fbe00250fbe004740038e91a43d00072457c801047b440724800202845048072497c80104bb4805d43f04913410000764000f1724194601043b4005d47f0495f4110005d43f0381b400400724594601047b4405d451000104104405d47f041104104405d47f0421f410440724581581047b4405f4500005d43f0431940040072458c001047b4405f45000072408fb81043b4005c47f2005e41100072408fb81043b4005c4100005c47f200134104407640000872408fb81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c001043b4005d4100005d47f0381b410440724594601047b4405d451000104104405d47f041104104405d47f0421f450440724183681043b4005f411000724081a81043b400724400202841244072451f281047b4407248002028450480724185481043b4007248002028411480724185481043b400724581581047b4405d4510007248a370104bb4801ae910001ae5200020f8330058fbe00250fbe00474003eb91a47d00072498368104bb4805d492000724ca390104fb4c01ae920001ae5300020f8330058fbe00250fbe00474003ead1a4bd000724d5e10104fb4c072540020284d154072456ad01047b4407254002028452540724964d0104bb480a349346172451f481047b440724c0020284524c072495e30104bb480724c0020284904c072416af01043b400724c0020284114c0724564f01047b440a345242072411f681043b4007248002028411480724585481047b4407248002028450480724481c81047b440724800202845048072411f881043b4007248002028411480724583681047b44072498c00104bb480504fbec072540020284d054050413020725400082841154050413028724400082841244072411fa81043b4007244003028413440724188281043b40072451fa81047b4407248002028411480724184201043b40072451fa81047b44050451020724800082841148072418cb81043b40072491fa8104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bc01047b4405f450000724188281043b40072458bc01047b4405d45100072498420104bb4805d492000724d7d60104fb4c072540020284d0540394504d272418bc01043b4005d41000072458cb81047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f0491345104076440006724482081047b44072480010284544805f41100074000005724481f81047b44072480010284544805e41100074000006724481e81047b44072480010284544805d4bf04928411480724188281043b40072458bc01047b4405d45100072498420104bb4805d492000724d80c0104fb4c072500020284d05003b4d0452724192e01043b40072458f081047b440725071281053b50072480028285104805041402872480010284114805d43f045264000001a407000724425d01047b4405fed04ba5d43f0455fed04bb5fec04bc724047881043b400724800182841148072451fd81047b4407248001828450480724090381043b4007248002828414480724090381043b4005d4100001341000076400053724090381043b4005d41000013410040764000025d43f03d36400000724090381043b4005041000872499bd0104bb480724c0020284904c07240b5b81043b40072480018284114807244b0e01047b4401ae810001ae500001ae1100020f8330058fbe00250fbe0047400381a1a43d000724577b01047b440724800182845048072419bd01043b400724577b01047b44072488230104bb480724c0018284914c05047b1b0724c0018284524c05d4bb036504510085d4fb03872542cf01057b5407258002028550580104124c072580020284155805d43f04410413400724c5318104fb4c05fed2a635049300872540008284915405fed0a65724062081043b4007244001828413440724520481047b4407248001828450480724120601043b4007248001828411480724520781047b440724800182845048072492090104bb480724000182849140074000048724090381043b4005041000872499b10104bb480724c0020284904c07240b5a01043b40072480018284114807244b0c81047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740037ce1a43d000724574501047b440724800182845048072419b101043b400724574501047b44072488218104bb480724c0018284914c0724410881047b440724c0018284524c05d4bb211504510085d4fb213725431c01057b5407258002028550580104124c072580020284155805d43f04410413400724c5ab8104fb4c05fed2b575049300872540008284915405fed0b59724064f81043b4007244001828413440724520181047b4407248001828450480724120301043b400724800182841148072492090104bb4807244001828490440724120a81043b4007244001828412440724575701047b440724800182845048050414028724575701047b4405d494005724cb5d0104fb4c072500018284d15007244b0f81047b4401ae920001ae530001ae1100020f8330058fbe00250fbe004740037811a47d00072497510104bb480724c0018284914c05d410001724575101047b4407248b5e8104bb480724c0018284914c07244b1101047b4401ae900001ae520001ae1100020f8330058fbe00250fbe0047400376c1a43d000724576481047b4407248001828450480724176481043b400724520c01047b4407248001828450480724120d81043b4007248001828411480724572001047b4407248001828450480724172001043b400724482481047b4407248001828450480724017d01043b40072480018284114805d47b2fa5041001072483990104bb4805fed173250452008724c0008284504c0724120f01043b4007244001028412440724521301047b440724800102845048072408ea01043b40072480010284114805d47f0545d4900005d410001340114905d43f045264000001a407000724423681047b4405fed046d5d43f0455fed046e5fec046f724047a01043b4007248001828411480724521401047b4407248001828450480724121581043b4007248001828411480724572181047b4407248001828450480724172181043b400724482801047b44072480018284504805043bd9072480018284114805d47b1b25041001072483048104bb4805fed160950452008724c0008284504c0724121701043b4007244001028412440724521801047b44072480010284504807240c8a01043b40072480010284114801ae9000020f8330058fbe00250fbe004740036d01a43d0007248bf10104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740032e11a47d000254110005d43f0a0104100c0724582181047b440724852b8104bb4805fed0a575d43f04a5fed0a58724055b01043b400724c0010284124c07248be00104bb480724c0010284914c07244be201047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe0047400325a1a43d000764000017400091a714000017640001e724063681043b4005fec0c6d724468501047b4405fec1d0a71480002724c1f70104fb4c072500020284d250072492380104bb4807250002028493500724d23a0104fb4c072500020284d250050491008725000202849350050490008724c0028284914c0724d23c0104fb4c072440030284d0440740001b96140000172448fc01047b4405e45000072408fc01043b4005c410000134100007640001272408fc01043b4005c41000013410040764000013600000072402d101043b4005fec15a2724521901047b440724800082845048072492198104bb4807240000828491400740000065043b0d85fec001b72492198104bb4807244000828490440724121a01043b4007244000828412440724494381047b4407248000828450480724094381043b4005d4100001341000076400009724094381043b4005d41000013410040764000025d43f03d3640000061400103740000016140000572457ba81047b4405e4500005043b3a05fec0074724579c01047b440724800282845048072417b281043b4005e40000072417b281043b4005c41000072457ba81047b4405c4510001641044076400036724179c01043b400724496e01047b4407248002828450480724179c01043b4005d4100001341004076400019724096e01043b4005d41000013410000764000025d43f03d36400000724067b01043b4005fec1cf672446c801047b4405fec1d9050490020724c0008284914c0724522a81047b4407248002828450480724922d0104bb48072400028284914007400000d724096e01043b40050410008724462201047b4405fec0c4450491008724c0020284904c0724922d0104bb4807240002828491400724522f81047b4407240002828452400740000ff72417b281043b4005c41000061410200724493801047b4405e450000724093801043b4005c4100001341000076400025724093801043b4005c4100001341004076400014724093801043b4005c4100005c47f1f8134104407640000136000000724052f81043b4005d47f03c5fed1a5f724521d81047b4407248000828450480724921e0104bb480724000082849140074000007724039a01043b4005fec1734724921e0104bb4807244000828490440724521e81047b440724000082845240074000007724017e81043b4005fec02fd724521e81047b4407248000828450480724121f01043b4007248000828411480724493e01047b4407248000828450480724093e01043b4005d4100001341000076400014724093e01043b4005d4100005d47f03c134104407640000e72417b281043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740038d81a43d00072457b281047b4405e4500007500009572417b281043b4005c41000061450200724893b0104bb4805e491000724493b01047b4405c4510001345100076440025724493b01047b4405c4510001345104076440014724493b01047b4405c4510005c4bf1f8134514807644000136000000724456581047b4405d4bf03c5fed2acb724921f8104bb480724c0008284914c0724d2200104fb4c072440008284d24407400000772442cc01047b4405fec1598724d2200104fb4c072480008284d148072492208104bb4807244000828493440740000065047b0b85fec001772492208104bb480724c0008284914c0724522101047b440724c0008284524c072489d78104bb480724c0008284914c072449d781047b4405d451000134510007644000872403e901043b4005fec07d272492258104bb48072440028284904407400001372441d301047b4405fec13a66141020372481460104bb480724c0020284904c0724122181043b400724c0020284124c050491008724c0020284904c072492258104bb4807240002828491400724122801043b400724400282841244072458b401047b4407248002828450480724179c01043b4005d410000134100401a440000764000015c47f2005df3f0727647c00072418b401043b4007244c0701047b44072480028284504807240a3301043b4001ae910001ae5000020f8330058fbe00250fbe004740033f41a43d000724579c01047b4407248c098104bb480724c0028284914c07244a4901047b4401ae920001ae5100020f8330058fbe00250fbe004740033e51a47d000724961f0104bb480724c0020284904c072416eb01043b400724c0020284114c0a14124205df3f0737643c00072402e101043b4005fec15c2724453301047b4405fec0a6650490020724c0008284914c0724522f81047b4407248002828450480724091201043b4007248002828411480724122f81043b4005d410000134100407640001f724091201043b4005d41000013410000764000025d43f03d36400000724091201043b40050410008724431e01047b4405fec063c72485550104bb4805fec0aaa504d200872500020284d050050411008724c0028284124c0724123201043b400724800302841148072492350104bb48072440030284904407400000c724091201043b400504100205047bda85fec11b550491028724c0008284904c072492350104bb4807240003028491400724d23c0104fb4c072400030284d2400724124101043b4007244003028413440724494d81047b4407248003028450480724124101043b4005d410000134100007640000136000000724094d81043b40050410008724524401047b4407248002828450480724124681043b40072480028284114805d47f0a1104510c05d4bf0a2104920c0724d9308104fb4c072500028284d0500724023801043b400724c0020284114c05fec047450450028724c0020284524c0724593081047b44050490028724d2490104fb4c072500020284d2500724823c8104bb4807250002828491500505120287254002028513540724cc520104fb4c072500048284d25007248ab60104bb4801ae930001ae5200020f8330058fbe00250fbe0047400344a1a4bd00050410028724d24b0104fb4c072500020284d0500724041301043b40072500028284115005045002872500020284535007244c5681047b440724c0048284504c07240ab801043b4001ae910001ae5000020f8330058fbe00250fbe004740034311a43d0005047b768724c0020284524c05fec00f150491028724c0020284904c0724124d01043b4007248004828411480724525181047b4407248004828450480724d2560104fb4c072400020284d1400504110205d4100005d47f0491345100076440102724594f81047b4405d4bf0495f4520005d47f0381b450440724994f8104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981f0104bb4805f4910005d47f0431941044072458c981047b4405f450000724090601043b4005c47f2005e411000724090601043b4005c4100005c47f2001341044076400008724090601043b4005c410000134100001a4410007640000f5d43f03d3640000072418c981043b4005d4100005d47f0381b410440724594f81047b4405d451000104104405d47f041104104405d47f0421f450440724184001043b4005f411000724082981043b4007244002028413440724525801047b4407248002028450480724187a81043b4007248002028411480724187a81043b400724581f01047b4405d4510007248a3b0104bb4801ae910001ae5200020f8330058fbe00250fbe004740039f21a47d00072498400104bb4805d492000724ca3d0104fb4c01ae920001ae5300020f8330058fbe00250fbe004740039e61a4bd000724d5e50104fb4c072500020284d150072456b101047b440725000202845250072496510104bb480a3493461724525d01047b440724c0020284524c072495e70104bb480724c0020284904c072416b301043b400724c0020284114c0724565301047b440a3452420724125f01043b4007248002028411480724587a81047b4407248002028450480724482b81047b4407248002028450480724126101043b4007248002028411480724584001047b44072498c98104bb480504fba5872500020284d0500504130207250000828411500504130287244000828412440724126301043b400724400302841344072418aa81043b400724526301047b4407248002028411480724184c01043b400724526301047b44050451020724800082841148072418d581043b40072492630104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592501047b4405f45000072418aa81043b400724592501047b4405d451000724984c0104bb4805d492000724d7fc0104fb4c072500020284d0500394504d276400008724059f01043b4005fec0b3e72492690104bb480724400182849044074000030724047c81043b4005fec18f9724592501047b4405d45100072498d58104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04913492040764800065d451000724d2660104fb4c072480010284d1480740000055c451000724d2660104fb4c072480010284d148072492670104bb48072440010284934407400000472492670104bb480724c0010284914c0724526801047b440724c0010284524c050490008724c0010284914c072492690104bb4807244001828490440724526a81047b440724000182845240074000007724025e81043b4005fec04bd724526a81047b4407248001828450480724126c01043b4007248001828411480724126c01043b4005d410000134100401a440000764000015c47f2005d43f0a3104100c0724847b8104bb4805fed08f75d43f0555fed08f8725459e01057b5407240001028552400134110005df3f0747643c000724027f81043b4005fec14ff5fec0500724527581047b44072480010284504805d43f0a4104100c05d4bf0a5104920c0724d8250104fb4c072500010284d1500724466501047b440724c0020284504c05fec0cce50411028724c0020284124c0724193081043b400725182501053b5005045102872492768104bb480724c0020284914c0724429d01047b440724c0028284504c050411028724c0020284124c07240c5b01043b40072480048284114807244aba01047b4401ae900001ae5100020f8330058fbe00250fbe004740032c21a43d00072457ca01047b440724800202845048072497ca0104bb4805d43f04913410000764000f1724194681043b4005d47f0495f4110005d43f0381b400400724594681047b4405d451000104104405d47f041104104405d47f0421f410440724581601047b4405f4500005d43f0431940040072458c081047b4405f450000724091481043b4005c47f2005e411000724091481043b4005c4100005c47f2001341044076400008724091481043b4005c410000134100001a4410007640000f5d43f03d3640000072418c081043b4005d4100005d47f0381b410440724594681047b4405d451000104104405d47f041104104405d47f0421f450440724183701043b4005f411000724083081043b4007244002028412440724527881047b4407248002028450480724185681043b4007248002028411480724185681043b400724581601047b4405d4510007248a3f0104bb4801ae910001ae5200020f8330058fbe00250fbe004740038921a47d00072498370104bb4805d492000724ca410104fb4c01ae920001ae5300020f8330058fbe00250fbe004740038861a4bd000724d5e90104fb4c072540020284d154072456b501047b440725400202845254072496550104bb480a3493461724527a81047b440724c0020284524c072495eb0104bb480724c0020284904c072416b701043b400724c0020284114c0724565701047b440a3452420724127c81043b4007248002028411480724585681047b4407248002028450480724483281047b4407248002028450480724127e81043b4007248002028411480724583701047b44072498c08104bb480504fbef072540020284d0540504130207254000828411540504130287244000828412440724128081043b4007244003028413440724188481043b400724528081047b4407248002028411480724184281043b400724528081047b44050451020724800082841148072418cc01043b40072492808104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bc81047b4405f450000724188481043b40072458bc81047b4405d45100072498428104bb4805d492000724d7d80104fb4c072540020284d0540394504d272418bc81043b4005d41000072458cc01047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f0491345104076440006724483681047b44072480010284544805f41100074000005724483581047b44072480010284544805e41100074000006724483481047b44072480010284544805d4bf04928411480724188481043b40072458bc81047b4405d45100072498428104bb4805d492000724d80e0104fb4c072500020284d05003b4d04525d43f0a6104100c05d47f0a7104510c0724c6b88104fb4c072480020284d04805fec0d75504130287248002028411480725593081057b5405fec055c72504c181053b50072402ae01043b400724400201b44044010454440724800202845048072402ae01043b400724400201b44144010454440724800202845048072402ae01043b400724400205d4bf03c1b45244010454440724800202845048072402ae01043b400724400205d4bf04e1b45244010454440724800202845048072402ae01043b400724400205d4bf0431b45244010454440724800202845048072402ae01043b400724400205d4bf0421b45244010454440724800202845048072402ae01043b400724400205d4bf04f1b45244010454440724800202845048072402ae01043b400724400205d4bf0501b45244010454440724800202845048072402ae01043b400724400205d4bf0381b45244010454440724800202845048072402ae01043b400724400205d4bf0391b45244010454440724800202845048072405c701043b4007244014028414440725128381053b500724401402851044050413028724529781047b4407248002028450480724017f01043b400724800282841548050490028724c0020284914c07244c5f81047b44072480048284504807240abc01043b4001ae910001ae5000020f8330058fbe00250fbe004740031481a43d00072457c201047b440724800202845048072497c20104bb4805d43f04d13410000764000f2724194901043b4005d47f04d5f4110005d43f0381b400400724594901047b4405d451000104104405d47f041104104405d47f0421f410440724581881047b4405f4500005d43f0431940040072458c301047b4405f450000724091c01043b4005c47f2005e411000724091c01043b4005c4100005c47f2001341044076400008724091c01043b4005c410000134100001a4410007640000f5d43f03d3640000072418c301043b4005d4100005d47f0381b410440724594901047b4405d451000104104405d47f041104104405d47f0421f450440724183981043b4005f411000724083981043b4007244002028412440724529981047b4407248002028450480724186081043b4007248002028411480724186081043b400724581881047b4405d4510007248a430104bb4801ae910001ae5200020f8330058fbe00250fbe004740037181a47d00072498398104bb4805d492000724ca450104fb4c01ae920001ae5300020f8330058fbe00250fbe0047400370c1a4bd000724d5ed0104fb4c072540020284d154072456b901047b440725400202845254072496590104bb480a3493461724529b81047b440724c0020284524c072495f10104bb480724c0020284904c072416bd01043b400724c0020284114c0724565d01047b440a3452420724129d81043b4007248002028411480724586081047b4407248002028450480724483b81047b4407248002028450480724129f81043b4007248002028411480724583981047b44072498c30104bb480724c10a0104fb4c072540020284d054050413020725400082841154050413028724400082841244072412a181043b4007244003028413440724189281043b40072452a181047b4407248002028411480724184601043b40072452a181047b44050451020724800082841148072418cf81043b40072492a18104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458ba81047b4405f450000724189281043b40072458ba81047b4405d45100072498460104bb4805d492000724d7e20104fb4c072540020284d0540394504d272418ba81043b4005d41000072458cf81047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f04d1345104076440006724486581047b44072480140284544805f41100074000005724485181047b44072480140284544805e41100074000006724483d81047b44072480140284544805d4bf04d28411480724189281043b40072458ba81047b4405d45100072498460104bb4805d492000724d8060104fb4c072500020284d05003b4d04525d43f0a8104100c0724593081047b44072488798104bb480724c0020284904c05d43f056354120001a406000724818d0104bb480724c0020284904c072412a481043b400724c0020284124c072492a90104bb480724c0020284904c05d43f0a9104100c05d4ff0aa104d30c0725191781053b5007254002028510540724191781043b400725011901053b50072540020285125405049402072540020284935405d4bf03b42414480724191781043b40072484e28104bb480724c0020284904c0724d2ab0104fb4c072400020284d2400724092081043b4007248002828411480724193081043b4005d410000134100007640001f724092081043b4005d41000013410040764000025d43f03d36400000724092081043b4005041000872457b381047b440724800202845048072417b381043b40072452bc01047b4407248002028450480724087f81043b400724800202841348072488818104bb480724c0020284914c05d47f0563c49140074000174724092081043b4005041000872456f701047b440724800202845048072516f701053b50072417b801043b4005f4000006140000172448f501047b4405e45000072408f501043b4005c410000134100007640001272408f501043b4005c410000134100407640000136000000724032101043b4005fec164272452ad01047b440724800082845048072492ad8104bb48072400008284914007400000772401a581043b4005fec034b72492ad8104bb480724400082849044072412ae01043b4007244000828412440724496b01047b4407248000828450480724096b01043b4005d4100001341000076400009724096b01043b4005d41000013410040764000025d43f03d36400000614001047400000161400006724583381047b4405f45000072417b801043b4005d410000724583381047b4405d45100016410440764000025d43f0573640000072417b801043b4005d4100006141030072448f181047b4405e45000072408f181043b4005c410000134100007640003872408f181043b4005c410000134100407640002772408f181043b4005c4100005c47f1f8134104407640001472408f181043b4005c4100005c47f2c0134104407640000136000000724065101043b4005d47f04e5fed1ca272452ae81047b440724800082845048072492af0104bb48072400008284914007400000872405f301043b4005d47f03c5fed1be672492af0104bb480724400082849044072452af81047b44072400008284524007400000772402d681043b4005fec15ad72452af81047b440724800082845048072492b30104bb4807240000828491400740000065043b2105fec004272492b30104bb480724400082849044072412b381043b4007244000828412440724493d01047b4407248000828450480724093d01043b4005d4100005d47f04e1341044076400001740000b072417b801043b4005d55000061415300724490001047b4405e450000724090001043b4005c4100001341000076400038724090001043b4005c4100001341004076400027724090001043b4005c4100005c47f1f81341044076400014724090001043b4005c4100005c47f2c0134104407640000136000000724062a81043b4005d47f04e5fed1c5572452b401047b440724800082845048072492b48104bb480724000082849140074000008724053781043b4005d47f03c5fed1a6f72492b48104bb480724400082849044072452b501047b440724000082845240074000007724037481043b4005fec16e972452b501047b440724800082845048072492b58104bb480724000082849140074000007724013f81043b4005fec027f72492b58104bb480724400082849044072412b601043b400724400082841244072449a681047b440724800082845048072409a681043b4005d410000134100007640005572409a681043b4005d410000134100407640004f72409a681043b4005d4100005d47f03c134104401a4400007640004772409a681043b4005d4100005d47f04e13410440764000025d43f03d364000006140000172448f201047b4405e45000072408f201043b4005c410000134100007640001272408f201043b4005c41000013410040764000013600000072402ce01043b4005fec159c72452b881047b440724800082845048072492b90104bb4807240000828491400740000065043b0e05fec001c72492b90104bb480724400082849044072412b981043b4007244000828412440724493681047b4407248000828450480724093681043b4005d4100001341000076400009724093681043b4005d41000013410040764000025d43f03d3640000061415109740000016141500c724590181047b4405f450000724190181043b4005d4100005d450005740000023600000061455302134110007640000872417b801043b4005d4100001041004072457b801047b4405f4500007500011972412ba01043b400724400202841444072457b801047b4405d451000724887b8104bb4807250002028490500724087d81043b40072500020284135005d4ff0563d4914d0724193081043b40072446d681047b44072480028284504805d43f045264000001a40700072481b08104bb4805fed03615d43f0455fed03625fec0363724052201043b400724c0018284124c072492be0104bb480724c0018284904c0724092901043b400724c0028284114c0724092901043b4005d4100001341000076400053724092901043b4005d41000013410040764000025d43f03d36400000724092901043b4005041000872459bf01047b440724c0020284504c07240b6181043b40072440018284124407244b1601047b4401ae810001ae500001ae1100020f8330058fbe00250fbe00474002ead1a43d000724577c81047b440724800182845048072419bf01043b400724577c81047b44072488868104bb480724c0018284914c05047b3e0724c0018284524c05d4bb07c504510085d4fb07e72502db81053b5007254002028510540104124c072540020284145405d43f04410413400724c53b8104fb4c05fed2a775049300872500008284915005fed0a79724063081043b400724400182841344072452c281047b440724800182845048072412c601043b400724800182841148072452c781047b440724800182845048072492c90104bb480724000182849140074000048724092901043b4005041000872459b301047b440724c0020284504c07240b6001043b40072440018284124407244b1281047b4401ae800001ae500001ae1100020f8330058fbe00250fbe00474002e611a43d000724574681047b440724800182845048072419b301043b400724574681047b44072488850104bb480724c0018284914c0724412601047b440724c0018284524c05d4bb24c504510085d4fb24e725034581053b5007254002028510540104124c072540020284145405d43f04410413400724c60d8104fb4c05fed2c1b5049300872500008284915005fed0c1d724065801043b400724400182841344072452bf81047b440724800182845048072412c101043b400724800182841148072492c90104bb480724400182849044072412ca81043b400724400182841244072452cc01047b4407248001828450480724171081043b4007248001828411480724171081043b400724488801047b440724800182845048072401b881043b40072480018284114805d47b37150410010724839a8104bb4805fed173550452008724c0008284504c072412cd81043b400724400102841244072452ce81047b440724800102845048072408ec01043b40072480010284114805d47f0595d4900005d410001340114905d43f045264000001a407000724424101047b4405fed04825d43f0455fed04835fec0484724047e01043b400724800182841148072452cf81047b440724800182845048072412d101043b4007248001828411480724572601047b4407248001828450480724172601043b400724488981047b44072480018284504805043bdf072480018284114805d47b1be5041001072483218104bb4805fed164350452008724c0008284504c072412d281043b400724400102841244072452d801047b44072480010284504807240c8b01043b40072480010284114801ae9000020f8330058fbe00250fbe00474002d981a43d0007248bf20104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740029a91a47d000254110005d43f0ab104100c0724582181047b44072485838104bb4805fed0b075d43f05a5fed0b0872405a801043b400724c0010284124c07248be30104bb480724c0010284914c07244be401047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740029221a43d0007640000174000e635d43f03a5fed00091a406000724590201047b4405f450000724190201043b4005d4100005d47b0095d4bf0381b45244010410440724590d01047b4405f450000724190d01043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591281047b4405f450000724191281043b4005d410000724424281047b4405fed04855fec048672412d901043b4007248001028411480724572781047b4407248001028450480724d7278104fb4c072412d901043b4005d41000072452d901047b440504510085d4510001b4414401041044072458fd81047b4405f450000724194381043b4005d47f0385f411000504130085d410000724594381047b4405d45100010410440724583281047b4405f45000076000025724194381043b4005d410000134100407640001072418fd81043b4005d4100005d41000072459a581047b4405f450000724183281043b40050453008724800082845048072419a581043b4005d4100007400000f72418fd81043b4005d4100005c410000724598a01047b4405f450000724183281043b400504530087248000828450480724198a01043b4005d4100007400000e72418fd81043b4005d410000724596e81047b4405f450000724183281043b400504530087248000828450480724196e81043b4005d41000072459cd01047b4405f45000072419cd01043b4005d4100001341000076400001360000005043b3f85fec007f72452da01047b440724800082845048072512da81053b50072400008285114005d4130005d4530011b4414401041044072458f901047b4405f450000724193c01043b4005d47f0385f4110005d413001724593c01047b4405d45100010410440724582a81047b4405f45000076000025724193c01043b4005d410000134100407640001072418f901043b4005d4100005d410000724599681047b4405f450000724182a81043b400504530087248000828450480724199681043b4005d4100007400000f72418f901043b4005d4100005c410000724597b01047b4405f450000724182a81043b400504530087248000828450480724197b01043b4005d4100007400000e72418f901043b4005d410000724595e01047b4405f450000724182a81043b400504530087248000828450480724195e01043b4005d4100005047be0872480008284544805fed01c272412db01043b400724800102841148072452dc01047b4407248001028450480724170601043b4007248001028411480725d7060105fb5c0724170601043b40050590008714000017640001e724063981043b4005fec0c73724468781047b4405fec1d0f71480002724c1f90104fb4c072500020284d250072492fd8104bb4807250002028493500724d2ff8104fb4c072500020284d250050491008725000202849350050490008724c0028284914c0724d3038104fb4c072440030284d0440740001b96140000172448fc81047b4405e45000072408fc81043b4005c410000134100007640001272408fc81043b4005c41000013410040764000013600000072402d181043b4005fec15a372452dd01047b440724800082845048072492dd8104bb4807240000828491400740000065043b0e85fec001d72492dd8104bb480724400082849044072412de01043b4007244000828412440724494401047b4407248000828450480724094401043b4005d4100001341000076400009724094401043b4005d41000013410040764000025d43f03d3640000061400103740000016140000572457bb01047b4405e4500005043b4005fec0080724579e81047b440724800282845048072417b301043b4005e40000072417b301043b4005c41000072457bb01047b4405c4510001641044076400036724179e81043b400724497081047b4407248002828450480724179e81043b4005d4100001341004076400019724097081043b4005d41000013410000764000025d43f03d36400000724067d81043b4005fec1cfb72446c881047b4405fec1d9150490020724c0008284914c072452f001047b440724800282845048072492f28104bb48072400028284914007400000d724097081043b40050410008724462481047b4405fec0c4950491008724c0020284904c072492f28104bb480724000282849140072452f501047b4407240002828452400740000ff72417b301043b4005c41000061410200724493881047b4405e450000724093881043b4005c4100001341000076400025724093881043b4005c4100001341004076400014724093881043b4005c4100005c47f1f8134104407640000136000000724053001043b4005d47f03c5fed1a6072452e301047b440724800082845048072492e38104bb480724000082849140074000007724039b81043b4005fec173772492e38104bb480724400082849044072452e401047b440724000082845240074000007724018381043b4005fec030772452e401047b440724800082845048072412e481043b4007248000828411480724493e81047b4407248000828450480724093e81043b4005d4100001341000076400014724093e81043b4005d4100005d47f03c134104407640000e72417b301043b4005c4100001ae900001ae4100020f8330058fbe00250fbe00474002eb51a43d00072457b301047b4405e4500007500009572417b301043b4005c41000061450200724893b8104bb4805e491000724493b81047b4405c4510001345100076440025724493b81047b4405c4510001345104076440014724493b81047b4405c4510005c4bf1f8134514807644000136000000724456601047b4405d4bf03c5fed2acc72492e50104bb480724c0008284914c0724d2e58104fb4c072440008284d24407400000772442cc81047b4405fec1599724d2e58104fb4c072480008284d148072492e60104bb4807244000828493440740000065047b0c05fec001872492e60104bb480724c0008284914c072452e681047b440724c0008284524c072489d80104bb480724c0008284914c072449d801047b4405d451000134510007644000872403eb81043b4005fec07d772492eb0104bb48072440028284904407400001372441d581047b4405fec13ab6141020372481480104bb480724c0020284904c072412e901043b400724c0020284124c050491008724c0020284904c072492eb0104bb480724000282849140072412ed81043b400724400282841244072458b681047b4407248002828450480724179e81043b4005d410000134100401a440000764000015c47f2005df3f0757647c00072418b681043b4007244c0c01047b44072480028284504807240a5f01043b4001ae910001ae5000020f8330058fbe00250fbe004740029d11a43d000724579e81047b4407248c0e8104bb480724c0028284914c07244a9401047b4401ae920001ae5100020f8330058fbe00250fbe004740029c21a47d00072496210104bb480724c0020284904c072416ed01043b400724c0020284114c0a14124205df3f0767643c00072402e381043b4005fec15c7724453381047b4405fec0a6750490020724c0008284914c072452f501047b4407248002828450480724091501043b400724800282841148072412f501043b4005d410000134100407640001f724091501043b4005d41000013410000764000025d43f03d36400000724091501043b40050410008724432281047b4405fec064572485578104bb4805fec0aaf504d200872500020284d050050411008724c0028284124c072412f781043b400724800302841148072492fa8104bb48072440030284904407400000c724091501043b400504100205047be185fec11c350491028724c0008284904c072492fa8104bb4807240003028491400724d3038104fb4c072400030284d2400724130681043b4007244003028413440724495081047b4407248003028450480724130681043b4005d410000134100007640000136000000724095081043b40050410008724530981047b4407248002828450480724130c01043b40072480028284114805d47f0ac104510c05d4bf0ad104920c0724d9330104fb4c072500028284d0500724c2600104fb4c072500020284d15005fec04c4504530287250002028452500724447f81047b440724800282845048050411028724800082841748050413028724930e8104bb4807250002028490500724022281043b40072500030284115005051003072540020285125407248bb60104bb480725000502849050072409f501043b4001ae920001ae5000020f8330058fbe00250fbe00474002ab31a43d00050493028724d3108104fb4c072500020284d250072484178104bb48072500030284915005045203072500020284535007244bbb01047b440724c0050284524c072489f70104bb4801ae910001ae5200020f8330058fbe00250fbe00474002a9a1a47d000504bb7b0724c0020284904c05fec00fa50412028724c0020284114c0724131281043b4007244004828412440724531701047b4407248004828450480724d31b8104fb4c072400020284d1400504110205d4100005d47f03813451000764400ea724595001047b4405d4bf0385f4520005d47f0381b45044072499500104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981f8104bb4805f4910005d47f0431941044072458ca01047b4405f450000724090681043b4005e400000724090681043b4005c4100005c47f2001341044076400008724090681043b4005c410000134100001a4410007640000f5d43f03d3640000072418ca01043b4005d4100005d47f0381b410440724595001047b4405d451000104104405d47f041104104405d47f0421f450440724184081043b4005f411000724088b01043b4007244002028413440724531f81047b4407248002028450480724187c81043b4007248002028411480724187c81043b400724581f81047b4405d4510007248a470104bb4801ae910001ae5200020f8330058fbe00250fbe00474002fcb1a47d00072498408104bb4805d492000724ca4b0104fb4c01ae920001ae5300020f8330058fbe00250fbe00474002fbf1a4bd000724d5f30104fb4c072500020284d150072456bf01047b4407250002028452500724965f0104bb480a3493461724532181047b440724c0020284524c072495f50104bb480724c0020284904c072416c101043b400724c0020284114c0724566101047b440a3452420724132381043b4007248002028411480724587c81047b4407248002028450480724488d01047b4407248002028450480724132581043b4007248002028411480724584081047b44072498ca0104bb480504fba8872500020284d0500504130207250000828411500504130287244000828412440724132781043b4007244003028413440724188681043b400724532781047b4407248002028411480724184301043b400724532781047b44050451020724800082841148072418cc81043b40072493278104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592581047b4405f450000724188681043b400724592581047b4405d45100072498430104bb4805d492000724d7fe0104fb4c072500020284d0500394504d27640000872405a301043b4005fec0b46724932a8104bb480724400102849044074000019724048281043b4005fec1905724592581047b4405d45100072498cc8104bb4805d4920005d4ff0381b49348010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f411001724932a8104bb4807244001028490440724532b81047b440724000102845240074000007724026481043b4005fec04c9724532b81047b4407248001028450480724132c81043b400724800102841148072449d501047b4407248001028450480724132c81043b4005d410000134100407640000872409d501043b4005d410000134100001a440000764000065d43f03d3640000072409d501043b400504100085d45000072417a701043b4005f41100072417a701043b4005d410000154500407644000113450040724c5a08104fb4c05fec1b4172417a701043b400504930207250000828490500134110005df3f0777643c00072417a701043b4005d410000204100405d47f0ae104510c05d4bf0af104920c0724d8228104fb4c05f4d0000724066981043b400724c0020284114c05fec0cd750450028724c0020284524c0724593301047b44072486bd0104bb480724c0028284914c050452028724c0008284574c0724582281047b4405d51100050410028724533c01047b440724c0020284504c0724028081043b400724c0030284124c050490030724c0020284914c07244bc001047b440724800502845048072409f901043b4001ae910001ae5000020f8330058fbe00250fbe0047400292c1a43d00072457cc01047b440724800202845048072497cc0104bb4805d43f03813410000764000e3724194701043b4005d47f0385f4110005d43f0381b400400724594701047b4405d451000104104405d47f041104104405d47f0421f410440724581681047b4405f4500005d43f0431940040072458c101047b4405f450000724091c81043b4005e400000724091c81043b4005c4100005c47f2001341044076400008724091c81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c101043b4005d4100005d47f0381b410440724594701047b4405d451000104104405d47f041104104405d47f0421f450440724183781043b4005f411000724089201043b4007244002028412440724533e01047b4407248002028450480724185881043b4007248002028411480724185881043b400724581681047b4405d4510007248a4d0104bb4801ae910001ae5200020f8330058fbe00250fbe00474002e6c1a47d00072498378104bb4805d492000724ca4f0104fb4c01ae920001ae5300020f8330058fbe00250fbe00474002e601a4bd000724d5f70104fb4c072540020284d154072456c301047b440725400202845254072496630104bb480a3493461724534201047b440724c0020284524c072495f90104bb480724c0020284904c072416c501043b400724c0020284114c0724566501047b440a3452420724134401043b4007248002028411480724585881047b4407248002028450480724489401047b4407248002028450480724134601043b4007248002028411480724583781047b44072498c10104bb480504fbf2072540020284d0540504130207254000828411540504130287244000828412440724134801043b4007244003028413440724188881043b400724534801047b4407248002028411480724184381043b400724534801047b44050451020724800082841148072418cd01043b40072493480104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bd01047b4405f450000724188881043b40072458bd01047b4405d45100072498438104bb4805d492000724d7da0104fb4c072540020284d0540394504d272418bd01043b4005d41000072458cd01047b4405d4510005d4bf0381b45244010410440760000075d47f03813451040764400025f414000740000015e414000740000025d47f03828414440724188881043b40072458bd01047b4405d45100072498438104bb4805d492000724d8100104fb4c072500020284d05003b4d04525d43f0b0104100c05d47f0b1104510c072486d90104bb480724c0020284904c05fec0db650412028724c0020284114c0724193301043b40050452028724d34b0104fb4c072500020284d150072442a181047b4407250002828450500505110287254002028513540724cc640104fb4c072500048284d15007244abe01047b4401ae930001ae5100020f8330058fbe00250fbe004740027881a47d00050492028724d34d0104fb4c072500020284d250072484d58104bb48072500028284905005041202872500020284135007240c6881043b400724c0048284124c07248ac00104bb4801ae900001ae5200020f8330058fbe00250fbe0047400276f1a43d000724810d0104bb480724c0020284914c05fec021e50452028724c0020284504c0724134f01043b4007244004828412440724535381047b4407248004828450480724d3580104fb4c072400020284d1400504110205d4100005d47f04d1345100076440103724594981047b4405d4bf04d5f4520005d47f0381b45044072499498104bb4805d492000104514805d4bf041104514805d4bf0421f45148072498190104bb4805f4910005d47f0431941044072458c381047b4405f450000724092301043b4005c47f2005e411000724092301043b4005c4100005c47f2001341044076400008724092301043b4005c410000134100001a4410007640000f5d43f03d3640000072418c381043b4005d4100005d47f0381b410440724594981047b4405d451000104104405d47f041104104405d47f0421f450440724183a01043b4005f411000724089781043b4007244002028413440724535a01047b4407248002028450480724186281043b4007248002028411480724186281043b400724581901047b4405d4510007248a510104bb4801ae910001ae5200020f8330058fbe00250fbe00474002d2f1a47d000724983a0104bb4805d492000724ca530104fb4c01ae920001ae5300020f8330058fbe00250fbe00474002d231a4bd000724d5fb0104fb4c072500020284d150072456c701047b440725000202845250072496670104bb480a3493461724536001047b440724c0020284524c072495fd0104bb480724c0020284904c072416c901043b400724c0020284114c0724566901047b440a3452420724136201043b4007248002028411480724586281047b4407248002028450480724489981047b4407248002028450480724136401043b4007248002028411480724583a01047b44072498c38104bb480724c11d0104fb4c072500020284d0500504130207250000828411500504130287244000828412440724136601043b4007244003028413440724189481043b400724536601047b4407248002028411480724184681043b400724536601047b44050451020724800082841148072418d001043b40072493660104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592101047b4405f450000724189481043b400724592101047b4405d45100072498468104bb4805d492000724d7e40104fb4c072500020284d0500394504d27640000872405db01043b4005fec0bb672493a50104bb48072440148284904407400003072404e481043b4005fec19c9724592101047b4405d45100072498d00104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04d13492040764800065d451000724d3690104fb4c072480140284d1480740000055c451000724d3690104fb4c072480140284d1480724937d0104bb480724401402849344074000004724937d0104bb480724c0140284914c0724539101047b440724c0140284524c050490008724c0140284914c072493a50104bb480724401482849044072453b981047b44072400148284524007400000772402b001043b4005fec056072453b981047b440724801482845048072413ce01043b400724801482841148072449a701047b440724801482845048072413ce01043b4005d41000013410040764000013600000072409a701043b4005041000872453e381047b440724801402845048072413f781043b400724801402841148072459ce01047b4407248014028450480724071601043b4005fec1e2c20f8330058fbe00250fbe004740023711a47d0005f411001724418401047b440724800082845748050491008724c0010284904c0724140b81043b400724800182841148072457ae81047b4407248001828450480724d9ce0104fb4c072497ae8104bb480724096a81043b40072440008284164405d416000134100007640040d724096a81043b4005d410000134100407640039a724096a81043b4005d4100005d47f03c1341044076400327724096a81043b4005d4100005d47f04e13410440764002b4724096a81043b4005d4100005d47f0431341044076400241724096a81043b4005d4100005d47f04213410440764001ce724096a81043b4005d4100005d47f04f134104407640015b724096a81043b4005d4100005d47f05013410440764000e8724096a81043b4005d4100005d47f0381341044076400075724096a81043b4005d4100005d47f03913410440764000025d43f04736400000725450e01057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724000205d47f0431b41140010413400724400205d53f0431b454440104554407250002028450500724000205d47f0421b41140010413400724400205d53f0421b454440104554407250002028450500724000205d47f04f1b41140010413400724400205d53f04f1b454440104554407250002028450500724000205d47f0501b41140010413400724400205d53f0501b454440104554407250002028450500724000205d47f0381b41140010413400724400205d53f0381b454440104554407250002028450500724052881043b4005fec1a51504500087250001828452500724400205d4bf0391b452440104554407248002028450480724140d01043b400724401402841544072494210104bb48072440140284904407400006872544ac01057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724000205d47f0431b41140010413400724400205d53f0431b454440104554407250002028450500724000205d47f0421b41140010413400724400205d53f0421b454440104554407250002028450500724000205d47f04f1b41140010413400724400205d53f04f1b454440104554407250002028450500724000205d47f0501b41140010413400724400205d53f0501b45444010455440725000202845050072404e081043b4005fec19c1504500087250001828452500724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b45244010455440724800202845048072494210104bb4807240014028495400724543501047b440724001402845240074000068725444e81057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724000205d47f0431b41140010413400724400205d53f0431b454440104554407250002028450500724000205d47f0421b41140010413400724400205d53f0421b454440104554407250002028450500724000205d47f04f1b41140010413400724400205d53f04f1b454440104554407250002028450500724048901043b4005fec1912504500087250001828452500724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b452440104554407248002028450480724543501047b440724001402845540072494490104bb48072400140284914007400006872543ce01057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724000205d47f0431b41140010413400724400205d53f0431b454440104554407250002028450500724000205d47f0421b41140010413400724400205d53f0421b454440104554407250002028450500724040b01043b4005fec1816504500087250001828452500724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b45244010455440724800202845048072494490104bb4807240014028495400724545d01047b440724001402845240074000068725432581057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724000205d47f0431b41140010413400724400205d53f0431b454440104554407250002028450500724037501043b4005fec16ea504500087250001828452500724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b452440104554407248002028450480724545d01047b440724001402845540072494720104bb480724001402849140074000068725474781057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724000205d47f04e1b41140010413400724400205d53f04e1b454440104554407250002028450500724076281043b4005fec1ec5504500087250001828452500724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010413400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b45244010455440724800202845048072494720104bb4807240014028495400724548601047b44072400140284524007400006872546fb81057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b441440104554407250002028450500724000205d47f03c1b41140010413400724400205d53f03c1b454440104554407250002028450500724072281043b4005fec1e45504500087250001828452500724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010413400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010413400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b452440104554407248002028450480724548601047b4407240014028455400724949a0104bb48072400140284914007400006872546a081057b540724000201b40040010413400724400201b440440104554407250002028450500724000201b40140010413400724400201b44144010455440725000202845050072406cb81043b4005fec1d97504500087250001828452500724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010413400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010413400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010413400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b452440104554407248002028450480724949a0104bb480724001402849540072454ae01047b44072400140284524007400006972545f381057b540724000201b40040010413400724400201b440440104554407250002028450500724065181043b4005fec1ca3504500087250001828452500724400201b441440104554407248002028450480724000205d47f03c1b41140010413400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010413400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010413400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010413400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b45244010455440724800202845048072454ae01047b440724001402845540072494c20104bb480724001402849140074000069725418f01057b540724052381043b4005fec1a47504500087250001828452500724400201b440440104554407248002028450480724000201b40140010413400724400201b441440104554407248002028450480724000205d47f03c1b41140010413400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010413400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010413400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010413400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010413400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010413400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010413400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010413400724400205d4bf0391b45244010455440724800202845048072494c20104bb480724001402849540072400140284d24005d43f0b2104100c05d47f0b3104510c072487248104bb480724c0020284904c05fec0e4d50412028724c0020284114c0724193301043b40072559ce01057b5405045202872494d60104bb480724c0020284914c072441a601047b440724c0028284504c050411028724c0020284124c07240c6e01043b40072480048284114807244ac201047b4401ae900001ae5100020f8330058fbe00250fbe0047400216b1a43d00072457c401047b440724800202845048072497c40104bb4805d43f04d13410000764000f2724194c01043b4005d47f04d5f4110005d43f0381b400400724594c01047b4405d451000104104405d47f041104104405d47f0421f410440724581b81047b4405f4500005d43f0431940040072458c601047b4405f450000724092b81043b4005c47f2005e411000724092b81043b4005c4100005c47f2001341044076400008724092b81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c601043b4005d4100005d47f0381b410440724594c01047b4405d451000104104405d47f041104104405d47f0421f450440724183c81043b4005f411000724089b81043b400724400202841244072454d801047b4407248002028450480724186c81043b4007248002028411480725186c81053b500724181b81043b4005d4500007240a5501043b4001ae910001ae5000020f8330058fbe00250fbe0047400273b1a43d000724583c81047b4405d4510007248a570104bb4801ae910001ae5200020f8330058fbe00250fbe0047400272f1a47d00072495ff0104bb480724c0020284904c072416cb01043b400724c0020284114c0724566b01047b440a345242172414da01043b4007248002028411480724560101047b440724800202845448072496cd0104bb480724c0020284904c0724166d01043b400a34114a072454dc01047b4407248002028450480724186c81043b4007248002028411480724089d81043b400724800202841148072454de01047b4407248002028450480724183c81043b40072498c60104bb480724c1278104fb4c072500020284d150050453020725000082845050050413028724400082841244072414e101043b4007244003028413440724189c81043b40072454e101047b4407248002028411480724184881043b40072454e101047b44050451020724800082841148072418d201043b40072494e10104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bb01047b4405f450000724189c81043b40072458bb01047b4405d45100072498488104bb4805d492000724d7ee0104fb4c072500020284d0500394504d272418bb01043b4005d41000072458d201047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f04d134510407644000672448c781047b44072480140284554805f4110007400000572448b381047b44072480140284554805e41100074000006724489f81047b44072480140284554805d4bf04d28411480724189c81043b40072458bb01047b4405d45100072498488104bb4805d492000724d8080104fb4c072500020284d05003b4d0452724193301043b40020f8330058fbe00250fbe00474001db31a47d000725075b81053b50072480028285104805041402872480008284174805041403072480008284164805fed1ebe5d43f045264000001a40700072441b201047b4405fed03645d43f0455fed03655fec0366724039c01043b400724800182841148072454e401047b4407248001828450480724093101043b4007248002828414480724093101043b4005d4100001341000076400053724093101043b4005d41000013410040764000025d43f03d36400000724093101043b4005041000872499b50104bb480724c0020284904c07240b6d01043b40072480018284114807244b2081047b4401ae810001ae500001ae1100020f8330058fbe00250fbe004740020941a43d000724577081047b440724800182845048072419b501043b400724577081047b44072488dd0104bb480724c0018284914c05047b218724c0018284524c05d4bb043504510085d4fb04572542d701057b5407258002028550580104124c072580020284155805d43f04410413400724c5380104fb4c05fed2a705049300872540008284915405fed0a72724062b01043b400724400182841344072454e881047b440724800182845048072414ea01043b400724800182841148072454eb81047b440724800182845048072494ed0104bb480724000182849140074000048724093101043b4005041000872499a68104bb480724c0020284904c07240b6b81043b40072480018284114807244b1f01047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740020481a43d000724573c01047b440724800182845048072419a681043b400724573c01047b44072488db8104bb480724c0018284914c0724413201047b440724c0018284524c05d4bb264504510085d4fb266725434781057b5407258002028550580104124c072580020284155805d43f04410413400724c60f0104fb4c05fed2c1e5049300872540008284915405fed0c20724065981043b400724400182841344072454e581047b440724800182845048072414e701043b400724800182841148072494ed0104bb480724400182849044072414ee81043b4007244001828412440724574b01047b440724800182845048050414028724574b01047b44072488f58104bb480724c0008284904c072408f581043b4005d41000013410000764000025d43f03d3640000072408de81043b400724800182841148072441ba01047b44072480018284504805d43b374504510085d4bb376104d04805f4c00005d4ff038104924c0724c3a28104fb4c05fed07455041300872540008284115405fed2747724055f81043b400724400182841344072454f001047b440724800182845048072414f381043b400724800182841148072454f501047b4407248001828450480724176001043b40072480018284114805d414006724576001047b4407248b6e8104bb480724c0018284914c07244b2201047b4401ae900001ae520001ae1100020f8330058fbe00250fbe00474001fc41a43d000724577501047b44072480018284504805d414007724577501047b4407248b700104bb480724c0018284914c07244b2381047b4401ae900001ae520001ae1100020f8330058fbe00250fbe00474001faf1a43d000724578401047b4407248001828450480724178401043b40072454f681047b4407248001828450480724171201043b4007248001828411480724171201043b400724476a01047b440724800182845048072401c981043b40072480018284114805d47b3935041001072483ee0104bb4805fed17dc50452008724c0008284504c072414f801043b400724400102841244072454f901047b440724800102845048072408e301043b40072480010284114805d47f05b5d4900005d410001340114905d43f045264000001a407000724426581047b4405fed04cb5d43f0455fed04cc5fec04cd724048381043b400724800182841148072454fa01047b440724800182845048072414fb81043b4007248001828411480724572a01047b4407248001828450480724172a01043b400724476b81047b44072480018284504805043bf5072480018284114805d47b1ea5041001072483398104bb4805fed167350452008724c0008284504c072414fd01043b400724400102841244072454fe01047b44072480010284504807240c8c01043b40072480010284114801ae9000020f8330058fbe00250fbe00474001f171a43d0007248bf30104bb480724c0010284914c01ae9200020f8330058fbe00250fbe00474001b281a47d000254110005d43f0b4104100c0724582181047b44072485b08104bb4805fed0b615d43f0395fed0b6272405f101043b400724c0010284124c07248be50104bb480724c0010284914c07244be601047b440724c0010284504c01ae920001ae5100020f8330058fbe00250fbe00474001aa11a43d0007640000174000a2d5d43f03a5fed000a1a406000724590281047b4405f450000724190281043b4005d4100005d47b00a5d4bf0381b45244010410440724590d81047b4405f450000724190d81043b4005d410000760000075d47f03813451040764400025d410000740000015c41000074000000724591301047b4405f450000724191301043b4005d410000724426701047b4405fed04ce5fec04cf72414ff01043b4007248001028411480724572b81047b4407248001028450480724d72b8104fb4c072414ff01043b4005d41000072454ff01047b440504510085d4510001b4414401041044072458fe01047b4405f450000724194401043b4005d47f0385f411000504130085d410000724594401047b4405d45100010410440724583301047b4405f45000076000025724194401043b4005d410000134100407640001072418fe01043b4005d4100005d41000072459a601047b4405f450000724183301043b40050453008724800082845048072419a601043b4005d4100007400000f72418fe01043b4005d4100005c410000724598a81047b4405f450000724183301043b400504530087248000828450480724198a81043b4005d4100007400000e72418fe01043b4005d410000724596f01047b4405f450000724183301043b400504530087248000828450480724196f01043b4005d41000072459cd81047b4405f45000072419cd81043b4005d4100001341000076400001360000005043b4285fec0085724550201047b4407248000828450480725150281053b50072400008285114005d4130005d4530011b4414401041044072458f981047b4405f450000724193c81043b4005d47f0385f4110005d413001724593c81047b4405d45100010410440724582b01047b4405f45000076000025724193c81043b4005d410000134100407640001072418f981043b4005d4100005d410000724599701047b4405f450000724182b01043b400504530087248000828450480724199701043b4005d4100007400000f72418f981043b4005d4100005c410000724597b81047b4405f450000724182b01043b400504530087248000828450480724197b81043b4005d4100007400000e72418f981043b4005d410000724595e81047b4405f450000724182b01043b400504530087248000828450480724195e81043b4005d4100005047bf6872480008284544805fed01ee724150301043b4007248001028411480724550401047b44072480010284504805d43f0b5104100c05d4bf0b6104920c0724d7070104fb4c072500010284d150072597070105bb580724570701047b440505d1008724550401047b440504510085d6110007244ade01047b4401ae9100020f8330058fbe00250fbe00474001b1b1a47d000724cc940104fb4c072500030284d15007244ad201047b4401ae930001ae5100020f8330058fbe00250fbe00474001df91a47d000724d9358104fb4c072500028284d1500724426801047b440724c0020284504c05fec04d450411028724c0020284124c0724193581043b400724848f0104bb480724c0028284904c050412028724d5040104fb4c0725000082841350050411028724d5050104fb4c072500020284d05005043bf787250003028412500505100307254002028513540724cbc50104fb4c072500050284d050072409fb01043b4001ae930001ae5000020f8330058fbe00250fbe00474001e081a43d00050451028724d5070104fb4c072500020284d1500724433a81047b44072500030284525005049103072500020284935007248bcb0104bb480724c0050284914c072449fd01047b4401ae920001ae5100020f8330058fbe00250fbe00474001def1a47d000504bb430724c0020284904c05fec008a50412028724c0020284114c0724150901043b4007244004828412440724550d81047b4407248004828450480724d5120104fb4c072400020284d1400504110205d4100005d47f03813451000764400ea724594a01047b4405d4bf0385f4520005d47f0381b450440724994a0104bb4805d492000104514805d4bf041104514805d4bf0421f45148072498198104bb4805f4910005d47f0431941044072458c401047b4405f450000724091a01043b4005e400000724091a01043b4005c4100005c47f2001341044076400008724091a01043b4005c410000134100001a4410007640000f5d43f03d3640000072418c401043b4005d4100005d47f0381b410440724594a01047b4405d451000104104405d47f041104104405d47f0421f450440724183a81043b4005f411000724076d01043b4007244002028413440724551401047b4407248002028450480724186481043b4007248002028411480724186481043b400724581981047b4405d4510007248a590104bb4801ae910001ae5200020f8330058fbe00250fbe004740023201a47d000724983a8104bb4805d492000724ca5b0104fb4c01ae920001ae5300020f8330058fbe00250fbe004740023141a4bd000724d6030104fb4c072500020284d150072456cf01047b4407250002028452500724966f0104bb480a3493461724551801047b440724c0020284524c072496070104bb480724c0020284904c072416d301043b400724c0020284114c0724567301047b440a3452420724151a01043b4007248002028411480724586481047b4407248002028450480724476f01047b4407248002028450480724151c01043b4007248002028411480724583a81047b44072498c40104bb480504fb7f872500020284d0500504130207250000828411500504130287244000828412440724151e01043b4007244003028413440724188a81043b400724551e01047b4407248002028411480724184401043b400724551e01047b44050451020724800082841148072418cd81043b400724951e0104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592601047b4405f450000724188a81043b400724592601047b4405d45100072498440104bb4805d492000724d7e60104fb4c072500020284d0500394504d276400008724055a01043b4005fec0ab472495210104bb480724400102849044074000019724039d81043b4005fec173b724592601047b4405d45100072498cd8104bb4805d4920005d4ff0381b49348010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f41100172495210104bb4807244001028490440724552201047b440724000102845240074000007724018581043b4005fec030b724552201047b4407248001028450480724152301043b400724800102841148072449bb81047b4407248001028450480724152301043b4005d41000013410040764000013600000072409bb81043b400504100085d41000072457a781047b4405f45000072417a781043b4005d41000015450600764400011345060072405a401043b4005fec1b4850490020724c0008284974c013451000764407b372417a781043b4005d410000204106005d47f0b7104510c05d4bf0b8104920c0724d8230104fb4c05f4d0000724064581043b400724c0020284114c05fec0c8f50450028724c0020284524c0724593581047b44072486c00104bb480724c0028284914c050452028724c0008284564c0724582301047b4405d51100050410028724553281047b440724c0020284504c072401fb01043b400724c0030284124c050490030724c0020284914c07244bd001047b440724800502845048072409ff01043b4001ae910001ae5000020f8330058fbe00250fbe00474001c8b1a43d00072457ce01047b440724800202845048072497ce0104bb4805d43f03813410000764000e3724194781043b4005d47f0385f4110005d43f0381b400400724594781047b4405d451000104104405d47f041104104405d47f0421f410440724581701047b4405f4500005d43f0431940040072458c181047b4405f450000724090701043b4005e400000724090701043b4005c4100005c47f2001341044076400008724090701043b4005c410000134100001a4410007640000f5d43f03d3640000072418c181043b4005d4100005d47f0381b410440724594781047b4405d451000104104405d47f041104104405d47f0421f450440724183801043b4005f411000724077401043b4007244002028412440724553481047b4407248002028450480724185a81043b4007248002028411480724185a81043b400724581701047b4405d4510007248a5d0104bb4801ae910001ae5200020f8330058fbe00250fbe004740021cb1a47d00072498380104bb4805d492000724ca610104fb4c01ae920001ae5300020f8330058fbe00250fbe004740021bf1a4bd000724d6090104fb4c072540020284d154072456d501047b440725400202845254072496750104bb480a3493461724553881047b440724c0020284524c0724960b0104bb480724c0020284904c072416d701043b400724c0020284114c0724567701047b440a3452420724153a81043b4007248002028411480724585a81047b4407248002028450480724477601047b4407248002028450480724153c81043b4007248002028411480724583801047b44072498c18104bb480504fbd0072540020284d0540504130207254000828411540504130287244000828412440724153e81043b4007244003028413440724188c81043b400724553e81047b4407248002028411480724184481043b400724553e81047b44050451020724800082841148072418ce01043b400724953e8104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bd81047b4405f450000724188c81043b40072458bd81047b4405d45100072498448104bb4805d492000724d7dc0104fb4c072540020284d0540394504d272418bd81043b4005d41000072458ce01047b4405d4510005d4bf0381b45244010410440760000075d47f03813451040764400025f414000740000015e414000740000025d47f03828414440724188c81043b40072458bd81047b4405d45100072498448104bb4805d492000724d8120104fb4c072500020284d05003b4d0452724093f01043b4007244000828416440724093f01043b4005d41000013410000764000025d43f03d364000005d43f05c1b4106005d47f0b9104510c05d4bf0ba104920c0724d6fb0104fb4c05f4d000072406dd81043b400724c0020284114c05fec0dbf50450028724c0020284524c07244af001047b4401ae9100020f8330058fbe00250fbe004740018521a47d0007248c980104bb480724c0030284914c07244ad481047b4401ae920001ae5100020f8330058fbe00250fbe00474001b301a47d00050490028724d5418104fb4c072500020284d250072482278104bb4807250002828491500505120287254002028513540724cc728104fb4c072500048284d25007248ac40104bb4801ae930001ae5200020f8330058fbe00250fbe00474001ac41a4bd00050410028724d5438104fb4c072500020284d0500724041c81043b40072500028284115005045002872500020284535007244c7701047b440724c0048284504c07240ac901043b4001ae910001ae5000020f8330058fbe00250fbe00474001aab1a43d0005047bfc8724c0020284524c05fec01fd50491028724c0020284904c0724154581043b4007248004828411480724554a01047b4407248004828450480724d54e8104fb4c072400020284d1400504110205d4100005d47f0491345100076440103724594a81047b4405d4bf0495f4520005d47f0381b450440724994a8104bb4805d492000104514805d4bf041104514805d4bf0421f451480724981a0104bb4805f4910005d47f0431941044072458c481047b4405f450000724091a81043b4005c47f2005e411000724091a81043b4005c4100005c47f2001341044076400008724091a81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c481043b4005d4100005d47f0381b410440724594a81047b4405d451000104104405d47f041104104405d47f0421f450440724183b01043b4005f411000724077801043b4007244002028413440724555081047b4407248002028450480724186681043b4007248002028411480724186681043b400724581a01047b4405d4510007248a630104bb4801ae910001ae5200020f8330058fbe00250fbe0047400206c1a47d000724983b0104bb4805d492000724ca650104fb4c01ae920001ae5300020f8330058fbe00250fbe004740020601a4bd000724d60d0104fb4c072500020284d150072456d901047b440725000202845250072496790104bb480a3493461724555581047b440724c0020284524c0724960f0104bb480724c0020284904c072416db01043b400724c0020284114c0724567b01047b440a3452420724155781043b4007248002028411480724586681047b4407248002028450480724477a01047b4407248002028450480724155981043b4007248002028411480724583b01047b44072498c48104bb480724c1118104fb4c072500020284d0500504130207250000828411500504130287244000828412440724155b81043b4007244003028413440724189681043b400724555b81047b4407248002028411480724184701043b400724555b81047b44050451020724800082841148072418d081043b400724955b8104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a407000724592181047b4405f450000724189681043b400724592181047b4405d45100072498470104bb4805d492000724d7e80104fb4c072500020284d0500394504d27640000872405a681043b4005fec0b4d72495618104bb480724400182849044074000030724047701043b4005fec18ee724592181047b4405d45100072498d08104bb4805d4920005d4ff0381b493480104514805c4bf200764800135d4bf04913492040764800065d451000724d55e8104fb4c072480010284d1480740000055c451000724d55e8104fb4c072480010284d1480724955f8104bb480724400102849344074000004724955f8104bb480724c0010284914c0724556081047b440724c0010284524c050490008724c0010284914c072495618104bb4807244001828490440724556301047b440724000182845240074000007724026c81043b4005fec04d9724556301047b4407248001828450480724156481043b4007248001828411480724498c01047b4407248001828450480724156481043b4005d410000134100407640000136000000724098c01043b40050410008724556881047b4407248001028450480724156981043b400724800102841148072458f181047b440724800102845048072418f181043b40072456fb01047b4405d45100072495698104bb480504920085d49200010452440504100085f4110005d43f0bb104100c05d47f0bc104510c072487170104bb480724c0020284904c05fec0e3250412028724c0020284114c07240b0201043b4001ae9000020f8330058fbe00250fbe004740016b41a43d0007244c9b01047b440724c0030284504c07240ad701043b4001ae910001ae5000020f8330058fbe00250fbe004740019921a43d00072518f181053b50050452028724956a8104bb480724c0020284914c0724427481047b440724c0028284504c050411028724c0020284124c07240c7b81043b40072480048284114807244acb01047b4401ae900001ae5100020f8330058fbe00250fbe004740019241a43d00072457c601047b440724800202845048072497c60104bb4805d43f04913410000764000f2724194c81043b4005d47f0495f4110005d43f0381b400400724594c81047b4405d451000104104405d47f041104104405d47f0421f410440724581c01047b4405f4500005d43f0431940040072458c681047b4405f450000724091d01043b4005c47f2005e411000724091d01043b4005c4100005c47f2001341044076400008724091d01043b4005c410000134100001a4410007640000f5d43f03d3640000072418c681043b4005d4100005d47f0381b410440724594c81047b4405d451000104104405d47f041104104405d47f0421f450440724183d01043b4005f411000724077d81043b4007244002028412440724556c81047b4407248002028450480724186e81043b4007248002028411480724186e81043b400724581c01047b4405d4510007248a670104bb4801ae910001ae5200020f8330058fbe00250fbe00474001ef41a47d000724983d0104bb4805d492000724ca690104fb4c01ae920001ae5300020f8330058fbe00250fbe00474001ee81a4bd000724d6110104fb4c072540020284d154072456dd01047b4407254002028452540724967d0104bb480a3493461724556e81047b440724c0020284524c072496130104bb480724c0020284904c072416df01043b400724c0020284114c0724567f01047b440a3452420724157081043b4007248002028411480724586e81047b4407248002028450480724477f81047b4407248002028450480724157281043b4007248002028411480724583d01047b44072498c68104bb480724c1200104fb4c072540020284d0540504130207254000828411540504130287244000828412440724157481043b4007244003028413440724189e81043b400724557481047b4407248002028411480724184901043b400724557481047b44050451020724800082841148072418d281043b40072495748104bb48050492028724c0008284124c05d4110005d47f0441b4104405d47f0381b411400264000001a40700072458bb81047b4405f450000724189e81043b40072458bb81047b4405d45100072498490104bb4805d492000724d7f00104fb4c072540020284d0540394504d272418bb81043b4005d41000072458d281047b4405d4510005d4bf0381b452440104104405c47f2007644000f5d47f0491345104076440006724478381047b44072480010284544805f41100074000005724478281047b44072480010284544805e41100074000006724478181047b44072480010284544805d4bf04928411480724189e81043b40072458bb81047b4405d45100072498490104bb4805d492000724d80a0104fb4c072500020284d05003b4d04525d43f0bd104100c0724593581047b44072496fb0104bb4805d61200072487848104bb480724c0020284904c0356120001a40600072482858104bb480724c0020284904c0724157781043b400724c0020284124c0724957b0104bb480724c0020284904c05d43f0be104100c05d4ff0bf104d30c0725191981053b5007254002028510540724191981043b400725012a81053b50072540020285125405049402072540020284935405d4bf03b42414480724191981043b40072484920104bb480724c0020284904c0724d57d0104fb4c072400020284d2400724092381043b4007248002828411480724193581043b4005d410000134100007640001e724092381043b4005d41000013410040764000025d43f03d36400000724092381043b4005041000872457b581047b440724800202845048072417b581043b400724558c01047b4407248002028450480724078a81043b4007248002028413480724878c8104bb480724c0020284914c03c49840074000173724092381043b4005041000872456f901047b440724800202845048072516f901053b50072417b881043b4005f4000006140000172448f601047b4405e45000072408f601043b4005c410000134100007640001272408f601043b4005c41000013410040764000013600000072402f381043b4005fec15e7724557f01047b4407248000828450480724957f8104bb480724000082849140074000007724015601043b4005fec02ac724957f8104bb4807244000828490440724158001043b4007244000828412440724497301047b4407248000828450480724097301043b4005d4100001341000076400009724097301043b4005d41000013410040764000025d43f03d36400000614001047400000161400006724583401047b4405f45000072417b881043b4005d410000724583401047b4405d45100016410440764000025d43f0573640000072417b881043b4005d4100006141030072448f301047b4405e45000072408f301043b4005c410000134100007640003872408f301043b4005c410000134100407640002772408f301043b4005c4100005c47f1f8134104407640001472408f301043b4005c4100005c47f2c0134104407640000136000000724064a01043b4005d47f04e5fed1c94724558081047b440724800082845048072495810104bb48072400008284914007400000872405b001043b4005d47f03c5fed1b6072495810104bb4807244000828490440724558181047b44072400008284524007400000772402d201043b4005fec15a4724558181047b440724800082845048072495838104bb4807240000828491400740000065043b0f05fec001e72495838104bb4807244000828490440724158401043b4007244000828412440724493901047b4407248000828450480724093901043b4005d4100005d47f04e1341044076400001740000b072417b881043b4005d55000061415300724490081047b4405e450000724090081043b4005c4100001341000076400038724090081043b4005c4100001341004076400027724090081043b4005c4100005c47f1f81341044076400014724090081043b4005c4100005c47f2c0134104407640000136000000724062701043b4005d47f04e5fed1c4e724558481047b440724800082845048072495850104bb480724000082849140074000008724053401043b4005d47f03c5fed1a6872495850104bb4807244000828490440724558581047b440724000082845240074000007724037701043b4005fec16ee724558581047b440724800082845048072495860104bb480724000082849140074000007724014001043b4005fec028072495860104bb4807244000828490440724158681043b4007244000828412440724498e81047b4407248000828450480724098e81043b4005d4100001341000076400055724098e81043b4005d410000134100407640004f724098e81043b4005d4100005d47f03c134104401a44000076400047724098e81043b4005d4100005d47f04e13410440764000025d43f03d364000006140000172448f281047b4405e45000072408f281043b4005c410000134100007640001272408f281043b4005c41000013410040764000013600000072402cd01043b4005fec159a724558881047b440724800082845048072495890104bb4807240000828491400740000065043b0c85fec001972495890104bb4807244000828490440724158981043b4007244000828412440724493701047b4407248000828450480724093701043b4005d4100001341000076400009724093701043b4005d41000013410040764000025d43f03d3640000061415109740000016141500c724590301047b4405f450000724190301043b4005d4100005d450005740000023600000061455302134110007640000872417b881043b4005d4100001041004072457b881047b4405f45000075000119724158a01043b400724400202841444072457b881047b4405d45100072487868104bb4807250002028490500724078881043b40072500020284135003d491610724193581043b40072456fb01047b44072498f18104bb480725072901053b500724c0028285104c050414028724c0008284164c050414030724c0008284174c050414038724c0008284114c05041404072440010284124405d43f045264000001a40700072442a601047b4405fed054c5d43f0455fed054d5fec054e72404da01043b4007248001828411480724558e01047b4407248001828450480724092c01043b4007248002828414480724092c01043b4005d4100001341000076400053724092c01043b4005d41000013410040764000025d43f03d36400000724092c01043b4005041000872499b70104bb480724c0020284904c07240b7b81043b40072480018284114807244b3001047b4401ae810001ae500001ae1100020f8330058fbe00250fbe004740016791a43d000724577201047b440724800182845048072419b701043b400724577201047b44072487918104bb480724c0018284914c05047b230724c0018284524c05d4bb046504510085d4fb04872542d901057b5407258002028550580104124c072580020284155805d43f04410413400724c5398104fb4c05fed2a735049300872540008284915405fed0a75724062c81043b4007244001828413440724559281047b4407248001828450480724159581043b4007248001828411480724559701047b440724800182845048072495988104bb480724000182849140074000048724092c01043b4005041000872499a88104bb480724c0020284904c07240b7a01043b40072480018284114807244b2e81047b4401ae800001ae500001ae1100020f8330058fbe00250fbe0047400162d1a43d000724573d81047b440724800182845048072419a881043b400724573d81047b44072487900104bb480724c0018284914c0724413381047b440724c0018284524c05d4bb267504510085d4fb269725433f81057b5407258002028550580104124c072580020284155805d43f04410413400724c5ef8104fb4c05fed2bdf5049300872540008284915405fed0be1724065381043b4007244001828413440724558f81047b4407248001828450480724159101043b400724800182841148072495988104bb4807244001828490440724159a01043b4007244001828412440724574e01047b440724800182845048050414028724574e01047b44072488f98104bb480724c0008284904c072408f981043b4005d41000013410000764000025d43f03d36400000724079301043b4007248001828411480724417901047b44072480018284504805d43b2f2504510085d4bb2f4104d04805f4c00005d4ff038104924c0724c39e8104fb4c05fed073d5041300872540008284115405fed273f724056101043b4007244001828413440724559b81047b4407248001828450480724159d01043b4007248001828411480724559e81047b4407248001828450480724176181043b40072480018284114805d414006724576181047b4407248b7d0104bb480724c0018284914c07244b3181047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740015a91a43d000724577681047b44072480018284504805d414007724577681047b4407248b7e8104bb480724c0018284914c07244b3301047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740015941a43d000724578581047b440724800182845048050414040724578581047b4405d494008724cb800104fb4c072500018284d15007244b3481047b4401ae920001ae530001ae1100020f8330058fbe00250fbe0047400157e1a47d00072497528104bb480724c0018284914c05d410001724575281047b4407248b818104bb480724c0018284914c072449dd81047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740015691a43d000724576601047b4407248001828450480724176601043b40072455a001047b440724800182845048072415a181043b4007248001828411480724571381047b4407248001828450480724171381043b400724479481047b440724800182845048072401cb01043b40072480018284114805d47b3965041001072483e20104bb4805fed17c450452008724c0008284504c072415a301043b400724400102841244072455a581047b440724800102845048072408e501043b40072480010284114805d47f05d5d4900005d410001340114905d43f045264000001a407000724426e01047b4405fed04dc5d43f0455fed04dd5fec04de724049401043b400724800182841148072455a681047b440724800182845048072415a801043b4007248001828411480724572e01047b4407248001828450480724172e01043b400724479601047b4407248001828450480724010101043b40072480018284114805d47b2025041001072483498104bb4805fed169350452008724c0008284504c072415a981043b400724400102841244072455aa81047b44072480010284504807240c8d01043b40072480010284114801ae9000020f8330058fbe00250fbe004740014cc1a43d0007248bf40104bb480724c0010284914c01ae9200020f8330058fbe00250fbe004740010dd1a47d000254110005d43f05e364000005d47f045264400001a44700072481d80104bb4805fed13b05d47f0455fed13b15fec03b272443ef01047b440724c0018284524c072495240104bb480724c0018284914c072448f701047b440724c0028284504c05d43bb48134100007640008f72408f701043b4005d410000134100407640005572408f701043b4005d4100005d47f03c13410440764000025d43f03d3640000072408f701043b4005041000872459c701047b440724c0020284504c07240b7781043b40072440018284124407244b2d01047b4405d4bf03c1ae920001ae500001ae1100020f8330058fbe00250fbe004740014b01a43d000724579301047b440724800182845048072419c701043b400724579301047b44072487710104bb480724c0018284914c05047bab8724c0018284524c05d4bb157504510085d4fb15972502e601053b5007254002028510540104124c072540020284145405d43f04410413400724c5668104fb4c05fed2acd5049300872500008284915005fed0acf724063c81043b4007244001828413440724552581047b4407248001828450480724152901043b4007248001828411480724552a81047b4407248001828450480724952c0104bb48072400018284914007400003072408f701043b400504100207244b7481047b440724c0018284524c07248b2a0104bb4801ae810001ae510001ae1200020f8330058fbe00250fbe004740014681a47d000724977f8104bb480724c0018284914c05d410000724577f81047b4407248b760104bb480724c0018284914c07244b2b81047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740014531a43d000724578b81047b4407248001828450480724178b81043b400724952c0104bb4807244001828490440724552d81047b44072400018284524007400003072408f701043b400504100207244b7181047b440724c0018284524c07248b270104bb4801ae800001ae510001ae1200020f8330058fbe00250fbe004740014331a47d000724974c8104bb480724c0018284914c05d410000724574c81047b4407248b730104bb480724c0018284914c07244b2881047b4401ae900001ae520001ae1100020f8330058fbe00250fbe0047400141e1a43d000724576a81047b4407248001828450480724176a81043b400724552d81047b4407248001828450480724152f01043b4007248001828411480724572c81047b4407248001828450480724172c81043b400724477281047b4407248001828450480724014a01043b40072480018284114805d47b2945041001072483700104bb4805fed16e050452008724c0008284504c0724153081043b4007244001028412440724553181047b440724800102845048072408e401043b40072480010284114805d47f05f5d4900005d410001340114905d43f060364000005d43f045264000001a407000724427301047b4405fed04e65d43f0455fed04e75fec04e8724048d81043b4007248001828411480724532d81047b4407248001828450480724091781043b40072480028284134805d43bb41134100007640008f724091781043b4005d4100001341004076400055724091781043b4005d4100005d4bf03c13410480764000025d43f03d36400000724091781043b4005041000872499c50104bb480724c0020284904c07240b6a01043b40072480018284114807244b1d81047b4405d4bf03c1ae920001ae500001ae1100020f8330058fbe00250fbe004740013ad1a43d000724579181047b440724800182845048072419c501043b400724579181047b440724888f0104bb480724c0018284914c05047bce8724c0018284524c05d4bb19d504510085d4fb19f72502f181053b5007254002028510540104124c072540020284145405d43f04410413400724c5ae8104fb4c05fed2b5d5049300872500008284915005fed0b5f724064401043b4007244001828413440724532f01047b4407248001828450480724133281043b4007248001828411480724533401047b440724800182845048072493358104bb480724000182849140074000030724091781043b400504100207248b660104bb480724c0018284914c07244b1a81047b4401ae810001ae520001ae1100020f8330058fbe00250fbe004740013651a47d000724977e0104bb480724c0018284914c05d410000724577e01047b4407248b678104bb480724c0018284914c07244b1c01047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740013501a43d000724578a01047b4407248001828450480724178a01043b40072493358104bb4807244001828490440724533701047b440724000182845240074000030724091781043b400504100207248b630104bb480724c0018284914c07244b1781047b4401ae800001ae520001ae1100020f8330058fbe00250fbe004740013301a47d00072497588104bb480724c0018284914c05d410000724575881047b4407248b648104bb480724c0018284914c07244b1901047b4401ae900001ae520001ae1100020f8330058fbe00250fbe0047400131b1a43d000724576901047b4407248001828450480724176901043b400724533701047b4407248001828450480724133881043b4007248001828411480724572881047b4407248001828450480724172881043b400724489081047b4407248001828450480724015481043b40072480018284114805d47b2a950410010724836f0104bb4805fed16de50452008724c0008284504c0724133a01043b4007244001028412440724533b01047b440724800102845048072408ed01043b40072480010284114805d47f05f5d4900005d410001340114905d43f0603640000072417b301043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740015d71a43d00072457b301047b4405e4500007500197372418b681043b400724579e81047b440724800282845048072417b301043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740015c31a43d00072457b301047b4405e450000750019875d43f045264000001a407000724427181047b4405fed04e35d43f0455fed04e45fec04e5724048c01043b4007248001828411480724527081047b4407248001828450480724082d81043b40072480018284114805047bdd872480018284504805d43b1bb504510085d4bb1bd724c2f08104fb4c072500010284d5500104d04805d57b5e25f4d5000504d30085d53b5e1284d45405049200810492540724c5ad0104fb4c05fed0b5a5041300872500008284115005fed2b5c724064281043b4007244001828413440724527201047b4407248001828450480724172301043b4007248001828411480724172301043b400724482f01047b4407248001828450480724015301043b40072480018284114805d47b2a650410010724836e0104bb4805fed16dc50452008724c0008284504c0724127381043b4007244001028412440724527481047b440724800102845048072408eb01043b40072480010284114805d47f0615d4900005d410001340114905d43f0603640000072417b281043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740015571a43d00072457b281047b4405e4500007500241672418b401043b400724579c01047b440724800282845048072417b281043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740015431a43d00072457b281047b4405e4500007500242a5d43f045264000001a40700072441f581047b4405fed03eb5d43f0455fed03ec5fec03ed724041181043b400724800182841148072451e881047b4407248001828450480724081781043b40072480018284114805047bd7872480018284504805d43b1af504510085d4bb1b1724c3038104fb4c072500010284d5500104d04805d57b6085f4d5000504d30085d53b607284d45405049200810492540724c59c8104fb4c05fed0b395041300872500008284115005fed2b3b724064101043b400724400182841344072451ea01047b4407248001828450480724170f01043b4007248001828411480724170f01043b400724481901047b4407248001828450480724015181043b40072480018284114805d47b2a35041001072483928104bb4805fed172550452008724c0008284504c072411ee81043b400724400102841244072451ef81047b440724800102845048072408e901043b40072480010284114805d47f0615d4900005d410001340114905d43f060364000005d43f045264000001a40700072441d181047b4405fed03a35d43f0455fed03a45fec03a572403e781043b400724800182841148072451e381047b4407248001828450480724081281043b40072480018284114805047ba4072480018284504805d43b148504510085d4bb14a724c2e00104fb4c072500010284d5500104d04805d57b5c15f4d5000504d30085d53b5c0284d45405049200810492540724c5640104fb4c05fed0ac85041300872500008284115005fed2aca724063501043b400724400182841344072451e501047b4407248001828450480724171e81043b4007248001828411480724171e81043b400724481401047b4407248001828450480724014481043b40072480018284114805d47b28950410010724836d0104bb4805fed16da50452008724c0008284504c072411e681043b400724400102841244072451e781047b440724800102845048072408e801043b40072480010284114805d47f0615d4900005d410001340114905d43f0603640000072417a581043b4005d4100005d4530021649140076480001134914007648001b5d4530005d4bf0381b41240010411400724590801047b4405f450000724048b01043b4005fec1916724590801047b4405d451000760000075d4bf03813492040764800025d451000740000015c451000740000005f41100172490938104bb480724400102849044074000007724027081043b4005fec04e172490938104bb48072440010284904407240bf501043b40072440010284124401ae9000020f8330058fbe00250fbe00474000e3c1a43d00072457b781047b4405f45000072418d601043b40072457b781047b4405d451000724800201b45148010450440724098a01043b4007248002028411480724098a01043b4005d410000134100407640000136000000724098a01043b40050410008724509481047b4407248001828450480724109601043b400724800182841148072457ad01047b44072480018284504807240bf601043b400724509601047b4405045100872480010284114801ae9000020f8330058fbe00250fbe00474000e0b1a43d00072458ef01047b4405f45000072418ef01043b4005d410000724595201047b4405d4510001041044072457ab01047b4405f45000072417a881043b4005d41000072457ab01047b4405d4510001549044076480001134904405d43f0c0104100c0724442c81047b4405fed08595d43f0395fed085a724058201043b4007250001028411500134520007644085d72518d601053b50072417b781043b400724493c81047b44072480008284504805d41000013410000764003f2724093c81043b4005d4100001341004076400382724093c81043b4005d4100005d47f03c1341044076400312724093c81043b4005d4100005d47f04e13410440764002a2724093c81043b4005d4100005d47f0431341044076400232724093c81043b4005d4100005d47f04213410440764001c2724093c81043b4005d4100005d47f04f1341044076400152724093c81043b4005d4100005d47f05013410440764000e2724093c81043b4005d4100005d47f0381341044076400072724093c81043b4005d4100005d47f03913410440764000025d43f0623640000072544fa01057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724052681043b4005fec0a4d724400205d4bf0391b452440104554407248002028450480724109d01043b400724401402841544072490b10104bb480724401402849044074000065725449801057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b45244010455440724800202845048072404de81043b4005fec09bd724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072490b10104bb480724001402849540072450c501047b440724001402845240074000065725443a81057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724048701043b4005fec090e724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072450c501047b440724001402845540072490d90104bb48072400140284914007400006572543ba01057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724040901043b4005fec0812724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072490d90104bb480724001402849540072450ed01047b440724001402845240074000065725430801057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724038f01043b4005fec071e724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072450ed01047b440724001402845540072491010104bb480724001402849140074000065725473381057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724076081043b4005fec0ec1724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072491010104bb4807240014028495400724511501047b44072400140284524007400006572546e781057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724072081043b4005fec0e41724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b452440104554407248002028450480724511501047b440724001402845540072491290104bb480724001402849140074000065725468c81057b540724000201b40040010414400724400201b440440104554407248002028450480724000201b40140010414400724400201b44144010455440724800202845048072406c981043b4005fec0d93724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072491290104bb4807240014028495400724513d01047b44072400140284524007400006672545b301057b540724000201b40040010414400724400201b440440104554407248002028450480724064d81043b4005fec0c9b724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b452440104554407248002028450480724513d01047b440724001402845540072491518104bb480724001402849140074000066725428901057b54072404dc81043b4005fec09b9724400201b440440104554407248002028450480724000201b40140010414400724400201b441440104554407248002028450480724000205d47f03c1b41140010414400724400205d4bf03c1b452440104554407248002028450480724000205d47f04e1b41140010414400724400205d4bf04e1b452440104554407248002028450480724000205d47f0431b41140010414400724400205d4bf0431b452440104554407248002028450480724000205d47f0421b41140010414400724400205d4bf0421b452440104554407248002028450480724000205d47f04f1b41140010414400724400205d4bf04f1b452440104554407248002028450480724000205d47f0501b41140010414400724400205d4bf0501b452440104554407248002028450480724000205d47f0381b41140010414400724400205d4bf0381b452440104554407248002028450480724000205d47f0391b41140010414400724400205d4bf0391b45244010455440724800202845048072491518104bb480724001402849540072400140285124005d43f0c1104100c05d47f0c2104510c0724865f8104bb48072500020284905005fec0cc3504120287250002028411500724192b81043b40072457ad01047b44072506b481053b500725400282851054050414028725400082841154050412028724516581047b440725400202845054072402a901043b40072540030284145405055003072580020285515807244ba701047b440725400502845054072409ed01043b4001ae910001ae5000020f8330058fbe00250fbe00474000c8f1a43d0005045202872491678104bb4807254002028491540724439401047b44072540030284545405051103072540020285125407248bac0104bb480725000502849150072449ef01047b4401ae920001ae5100020f8330058fbe00250fbe00474000c761a47d000504bbe7872500020284905005fec01d3504120287250002028411500724116981043b4007244004828412440724516e01047b4407248004828450480725117281053b5007240002028511400504110205d4100005d47f03813451000764400eb724594581047b4405d4bf0385f4520005d47f0381b45044072499458104bb4805d492000104514805d4bf041104514805d4bf0421f45148072498150104bb4805f4910005d47f0431941044072458bf81047b4405f450000724091101043b4005e400000724091101043b4005c4100005c47f2001341044076400008724091101043b4005c410000134100001a4410007640000f5d43f03d3640000072418bf81043b4005d4100005d47f0381b410440724594581047b4405d451000104104405d47f041104104405d47f0421f450440724183601043b4005f41100072407bd01043b4007244002028414440724517481047b4407248002028450480724185281043b4007248002028411480724185281043b400724581501047b4405d4510007248a250104bb4801ae910001ae5200020f8330058fbe00250fbe004740011a71a47d00072498360104bb4805d4920007250a2701053b5001ae920001ae5400020f8330058fbe00250fbe0047400119b1a4bd00072515cf01053b5007254002028511540724569b01047b4407254002028452540724963b0104bb480a3494461724517681047b440725000202845250072495d10104bb4807250002028490500724169d01043b4007250002028411500724563d01047b440a3452420724117881043b4007248002028411480724585281047b440724800202845048072447bf01047b4407248002028450480724117a81043b4007248002028411480724583601047b44072498bf8104bb480725010581053b5007254002028510540504140207254000828411540504140287244000828412440724117d01043b4007244003028414440724188081043b400724517d01047b4407248002028411480724184181043b400724517d01047b44050451020724800082841148072418cb01043b400724917d0104bb4805049202872500008284125005d4110005d47f0441b4104405d47f0381b411400264000001a407000724592081047b4405f450000724188081043b400724592081047b4405d45100072498418104bb4805d49200072517d401053b5007254002028510540394505127640000872405f201043b4005fec0be472491800104bb48072440010284904407400001972403a181043b4005fec1743724592081047b4405d45100072498cb0104bb4805d4920005d53f0381b49448010451480760000075d4bf03813492040764800025d451000740000015c451000740000005f41100172491800104bb4807244001028490440724518101047b440724000102845240074000007724017a81043b4005fec02f5724518101047b4407248001028450480724118201043b400724800102841148072449d401047b4407248001028450480724118201043b4005d410000134100407640000872409d401043b4005d410000134100001a440000764000065d43f03d3640000072409d401043b400504100085d4500005d43f0c3104100c05d4bf0c4104920c072517a681053b5005f51100072446cd81047b44072500020284505005fec0d9f504110287250002028412500724192b81043b40072497ad0104bb480725070f81053b500725400282851054050414028725400082841254072417a681043b4005d4100001055004050411028724518301047b4407248002028450480724018801043b40072480030284144805049003072500020284915007244bb101047b440724800502845048072409f301043b4001ae910001ae5000020f8330058fbe00250fbe00474000b1c1a43d00072457be01047b440724800202845048072497be0104bb4805d43f03813410000764000e4724194881043b4005d47f0385f4110005d43f0381b400400724594881047b4405d451000104104405d47f041104104405d47f0421f410440724581801047b4405f4500005d43f0431940040072458c281047b4405f450000724091b81043b4005e400000724091b81043b4005c4100005c47f2001341044076400008724091b81043b4005c410000134100001a4410007640000f5d43f03d3640000072418c281043b4005d4100005d47f0381b410440724594881047b4405d451000104104405d47f041104104405d47f0421f450440724183901043b4005f41100072407c101043b4007244002028412440724518501047b4407248002028450480724185e81043b4007248002028411480724185e81043b400724581801047b4405d4510007248a290104bb4801ae910001ae5200020f8330058fbe00250fbe0047400105c1a47d00072498390104bb4805d4920007250a2b01053b5001ae920001ae5400020f8330058fbe00250fbe004740010501a4bd00072515d301053b5007258002028511580724569f01047b4407258002028452580724963f0104bb480a3494461724518701047b440725000202845250072495d50104bb480725000202849050072416a101043b4007250002028411500724564101047b440a3452420724118901043b4007248002028411480724585e81047b440724800202845048072447c301047b4407248002028450480724118b01043b4007248002028411480724583901047b44072498c28104bb480725011601053b5007258002028510580504140207258000828411580504140287244000828412440724118d01043b4007244003028414440724189081043b400724518d01047b4407248002028411480724184581043b400724518d01047b44050451020724800082841148072418cf01043b400724918d0104bb4805049202872500008284125005d4110005d47f0441b4104405d47f0381b411400264000001a40700072458b981047b4405f450000724189081043b40072458b981047b4405d45100072498458104bb4805d49200072517e001053b50072580020285105803945051272418b981043b4005d41000072458cf01047b4405d4510005d4bf0381b45244010410440760000075d47f03813451040764400025f415000740000015e415000740000025d47f03828415440724189081043b40072458b981047b4405d45100072498458104bb4805d492000725180201053b50072540020285105403b510452724192b81043b40072457ad01047b44072497b78104bb48072517a881053b500725871c8105bb58072540028285905405041602872540008284115405041603072440008284124405041603872440008284144405d43f045264000001a40700072441a401047b4405fed03485d43f0455fed03495fec034a72403a581043b4007248001828411480724519081047b4407248001828450480724091e01043b4007248002828416480724091e01043b4005d4100001341000076400053724091e01043b4005d41000013410040764000025d43f03d36400000724091e01043b4005041000872499bb0104bb48072500020284905007240b5481043b40072480018284114807244b0801047b4401ae810001ae500001ae1100020f8330058fbe00250fbe004740009bf1a43d000724577381047b440724800182845048072419bb01043b400724577381047b44072487c68104bb48072500018284915005047b34072500018284525005d4bb068504510085d53b06a72542d481057b540725c0020285505c010412500725c0020284155c05d43f04410414400725053601053b5005fed2a6c5049400872540008284915405fed0a6e724062901043b4007244001828414440724519501047b4407248001828450480724119681043b4007248001828411480724519801047b440724800182845048072491998104bb480724000182849140074000048724091e01043b4005041000872499af0104bb48072500020284905007240b5301043b40072480018284114807244b0681047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740009731a43d000724574381047b440724800182845048072419af01043b400724574381047b44072487c50104bb4807250001828491500724412481047b44072500018284525005d4bb249504510085d53b24b725434381057b540725c0020285505c010412500725c0020284155c05d43f04410414400725060c01053b5005fed2c185049400872540008284915405fed0c1a724065681043b4007244001828414440724519201047b4407248001828450480724119381043b400724800182841148072491998104bb4807244001828490440724119b01043b4007244001828412440724575581047b440724800182845048050416028724575581047b44072488f48104bb480725000082849050072408f481043b4005d41000013410000764000025d43f03d3640000072407c801043b400724800182841148072441af01047b44072480018284504805d43b35e504510085d4bb360105104805f5000005d53f0381049250072503aa01053b5005fed07545041400872540008284115405fed2756724055e01043b4007244001828414440724519c81047b4407248001828450480724119e01043b400724800182841148072451a181047b4407248001828450480724176781043b40072480018284114805d416006724576781047b4407248b560104bb48072500018284915007244b0981047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740008ef1a43d000724577981047b44072480018284504805d416007724577981047b4407248b578104bb48072500018284915007244b0b01047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740008da1a43d000724578881047b4407248001828450480724178881043b40072451a301047b4407248001828450480724170d81043b4007248001828411480724170d81043b40072447c981047b440724800182845048072401c801043b40072480018284114805d47b3905041001072483e68104bb4805fed17cd50452008725000082845050072411a481043b400724400102841244072451a581047b440724800102845048072408e701043b40072480010284114805d47f0635d4900005d4100013401149072417a581043b4005d4100001041004072457a581047b4405f450000750034545d47f045264400001a447000724827e0104bb4805fed14fc5d47f0455fed14fd5fec04fe72444c001047b440724c0018284524c072490978104bb480724c0018284914c072447ba01047b440724c0018284524c0504bbcb8724c0018284914c05d47b197504920085d4fb19972502fd01053b5007254001028510540104114c05d57b5fb5f415000504100085d53b5fa284145405041300810410540724c5aa0104fb4c05fed1b545045300872500008284525005fed0b56724063f81043b4007244001828413440724509901047b4407248001828450480724171b81043b4007248001828411480724171b81043b40072447bb81047b4407248001828450480724015001043b40072480018284114805d47b2a050410010724836c0104bb4805fed16d850452008724c0008284504c0724109a81043b4007244001028412440724509b81047b440724800102845048072408e601043b40072480010284114805d47f0615d4900005d410001340114905d43f0603640000072417b201043b4005c4100001ae900001ae4100020f8330058fbe00250fbe00474000b361a43d00072457b201047b4405e450000750037d872418b181043b400724579981047b440724800282845048072417b201043b4005c4100001ae900001ae4100020f8330058fbe00250fbe00474000b221a43d00072457b201047b4405e450000750037ec1ae9400020f8330058fbe00250fbe004740004681a43d00072457bb81047b4405f450000725596d01057b54072417bb81043b4005d590000504150105d410000504550085d4510001341044076400001740000315d415001134100001a441000764000035d4150015d47f03c1b451400724182381043b4005f4110005d4d50005d415001724582381047b4405d4510001549140076480001740000195d4bf0381b452440264400001a44700072498260104bb4805f49100015450000764400017400000c724582601047b4405d4510005d4bf0381b41048072498210104bb4805f490000724182101043b4005d41000028453400724182601043b4005d4d00005f553000724182381043b4005045500872480008284504805d4150005d4550025d4bf0381b4524401041044072457a901047b4405f45000072417a901043b4005d410000760000075d47f03813451040764400025f416000740000015e416000740000025d47f038284164405d415002104100405f55000272417b181043b4005d4100001041004072457b181047b4405f450000750038d972417b101043b4005d410000724400201b41044010414400724574081047b44072489010104bb480724c0020284904c0724090101043b4005d41000013410000764000c3724090101043b4005d41000013410040764000025d43f03d36400000724090101043b4005041000872499ac8104bb480724c0018284904c07240b4601043b40072480018284114807244af781047b4401ae810001ae500001ae1100020f8330058fbe00250fbe0047400078f1a43d000724573a81047b440724800182845048072419ac81043b400724573a81047b44072488fa8104bb480724c0008284904c072488fa8104bb4805d49200013492000764800025d43f03d3640000072487a28104bb480724c0018284914c05047b980724c0018284524c05d4bb130504510085d4fb132105524c05f5400005d57f038104d3540725436601057b5405fed26cc5049500872580008284915805fed36ce724457d01047b44072480018284554807248e9b8104bb480724c0018284914c07244e9e81047b440724c0018284524c07248ea00104bb480724c0018284914c0724573901047b440724c0018284524c050410008724573901047b44072488f38104bb480724c0010284904c072408f381043b4005d410000134100007640003c72408f381043b4005d41000013410040764000025d43f03d3640000072408f381043b400504100087248b4a0104bb480724c0018284914c07244afa81047b4401ae810001ae520001ae1100020f8330058fbe00250fbe0047400072f1a47d00072497498104bb480724c0018284914c05d410000724574981047b4407248b4b8104bb480724c0018284914c07244afc01047b4401ae900001ae520001ae1100020f8330058fbe00250fbe0047400071a1a43d000724575d01047b4407248001828450480724175d01043b4007244ea181047b44072480018284504807248ea30104bb4807240001828491400740000127240b4781043b40072480018284114807244af901047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740006fd1a43d0007248ea30104bb48072440018284904407240ea481043b40072440018284124407244ea601047b44072480018284504807240ea781043b40072480018284114807248ea90104bb4807244001828490440740000127240b4481043b40072480018284114807244af601047b4401ae800001ae500001ae1100020f8330058fbe00250fbe004740006da1a43d0007248ea90104bb48072440018284904407240eaa81043b4007244001828412440724574081047b440724800182845048072417b101043b4005d4100001041004072457b101047b4405f450000750045a572417b081043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740009b81a43d00072457b081047b4405e4500007500503e72418af01043b400724579701047b440724800282845048072417b081043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740009a41a43d00072457b081047b4405e4500007500505272417b001043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740009961a43d00072457b001047b4405e4500007500575072418ac81043b400724579481047b440724800282845048072417b001043b4005c4100001ae900001ae4100020f8330058fbe00250fbe004740009821a43d00072457b001047b4405e450000750057645d43f045264000001a40700072441ee01047b4405fed03dc5d43f0455fed03dd5fec03de72403b601043b40072480018284114807244df701047b440724800182845048072408fd01043b40072480028284134805d43b6d1134100007640008f72408fd01043b4005d410000134100407640005572408fd01043b4005d4100005d4bf03c13410480764000025d43f03d3640000072408fd01043b4005041000872499c30104bb480724c0020284904c07240b3b81043b40072480018284114807244aea01047b4405d4bf03c1ae920001ae500001ae1100020f8330058fbe00250fbe004740006471a43d000724578e81047b440724800182845048072419c301043b400724578e81047b44072487a40104bb480724c0018284914c05047b600724c0018284524c05d4bb0c0504510085d4fb0c272502e801053b5007254002028510540104124c072540020284145405d43f04410413400724c55c0104fb4c05fed2ab85049300872500008284915005fed0aba724063e01043b40072440018284134407244e9d01047b44072480018284504807240ead81043b40072480018284114807244ebf81047b44072480018284504807248ed60104bb48072400018284914007400003072408fd01043b400504100207248ca88104bb480724c0018284914c07244ae701047b4401ae810001ae520001ae1100020f8330058fbe00250fbe004740005ff1a47d000724976d8104bb480724c0018284914c05d410000724576d81047b4407248b3a0104bb480724c0018284914c07244ae881047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740005ea1a43d000724578281047b4407248001828450480724178281043b4007248ed60104bb48072440018284904407244ef001047b44072400018284524007400003072408fd01043b400504100207248ca58104bb480724c0018284914c07244ae401047b4401ae800001ae520001ae1100020f8330058fbe00250fbe004740005ca1a47d00072497480104bb480724c0018284914c05d410000724574801047b4407248ca70104bb480724c0018284914c07244ae581047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740005b51a43d000724575b81047b4407248001828450480724175b81043b4007244ef001047b44072480018284504807240f0281043b4007248001828411480724570c01047b4407248001828450480724170c01043b40072447b881047b4407248001828450480724014b81043b40072480018284114805d47b2975041001072483728104bb4805fed16e550452008724c0008284504c07240f1801043b40072440010284124407244f3081047b440724800102845048072408e101043b40072480010284114805d47f05f5d4900005d410001340114905d43f060364000005d43f045264000001a40700072441c401047b4405fed03885d43f0455fed03895fec038a724037101043b40072480018284114807244cc301047b440724800182845048072408ee81043b40072480028284134805d43b3d7134100007640008f72408ee81043b4005d410000134100407640005572408ee81043b4005d4100005d4bf03c13410480764000025d43f03d3640000072408ee81043b4005041000872499c10104bb480724c0020284904c07240ca401043b40072480018284114807244ae281047b4405d4bf03c1ae920001ae500001ae1100020f8330058fbe00250fbe004740005441a43d000724578d01047b440724800182845048072419c101043b400724578d01047b44072487658104bb480724c0018284914c05047b3c8724c0018284524c05d4bb079504510085d4fb07b72502c881053b5007254002028510540104124c072540020284145405d43f04410413400724c52c8104fb4c05fed2a595049300872500008284915005fed0a5b724061a01043b40072440018284134407244cdc01047b44072480018284504807240d1581043b40072480018284114807244d2801047b44072480018284504807248d3f8104bb48072400018284914007400003072408ee81043b400504100207248ca10104bb480724c0018284914c07244adc81047b4401ae810001ae520001ae1100020f8330058fbe00250fbe004740004fc1a47d000724976c0104bb480724c0018284914c05d410000724576c01047b4407248ca28104bb480724c0018284914c07244ae101047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740004e71a43d000724578101047b4407248001828450480724178101043b4007248d3f8104bb48072440018284904407244d5a81047b44072400018284524007400003072408ee81043b400504100207248c9e0104bb480724c0018284914c07244ad981047b4401ae800001ae520001ae1100020f8330058fbe00250fbe004740004c71a47d00072497378104bb480724c0018284914c05d410000724573781047b4407248c9f8104bb480724c0018284914c07244adb01047b4401ae900001ae520001ae1100020f8330058fbe00250fbe004740004b21a43d000724575a01047b4407248001828450480724175a01043b4007244d5a81047b44072480018284504807240d6881043b4007248001828411480724571501047b4407248001828450480724171501043b400724476701047b4407248001828450480724013c01043b40072480018284114805d47b27850410010724836b0104bb4805fed16d650452008724c0008284504c07240d7981043b40072440010284124407244d8f81047b440724800102845048072408e001043b40072480010284114805d47f05f5d4900005d410001340114905d43f060364000009500003f960800001aec5000910000681a43a0001a4790001a4be000724c001028ed04c01aebb00020f8330058fbe00250fbe004740000361a4fd0005053b01072540010285115401ae9400020f8330058fbe00250fbe0047400002d1a53d000134d3500134d30001a500000764c0022504fb03072500010284d05001ae9300020f8330058fbe00250fbe004740000331a4fd0005fed300c504fb04072500010284d15001ae9300020f8330058fbe00250fbe004740000291a47d0005fed100b5047b020724c0010284504c01ae9100020f8330058fbe00250fbe0047400000c1a43d0005fed000a5d43b00c5d47b00b5d4fb00a295104531af54000920000681af92000980800009700003f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0031af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0021af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b003124100401af50000920000201af91000980800009700000f4af800009500007f960800001aec5000910001281a43a0001a5b90001a57e0005d47f045264400001a4470005fed10005d47f0455fed10015fec00021a47b000504bb048724c0018284914c05047b0d0724c0018284524c0504bb0a0724c0018284914c05047b018724c0018284524c05d4bb003504510085d4fb005105124c05e51000010413040504fb0605fed200c5049300872500008284915005fed000e5043b08872440018284134405047b0e872480018284504805043b11072480018284114805043b1105047b0b872480018284504805043b03072480018284114805d47b00650410010504bb0785fed100f50452008724c0008284504c05043b100724400102841244072440010285904401af56000920001281af95000980800009700007f4af800009500000f960800001aec5000910000301a43a0001a47e0005d4900005d4d00011b4c14c0104924c05fed20015d4bf0385fed20025d4900015d4fb002104924c05fed2000760000135d4bb00213492040764800085d4bb0015d4920005fed200550410008724800082843b4805d43b005740000075d4bb0015c4920005fed200450410008724800082843b4805d43b004740000065d4bb0015fed200350410008724800082843b4805d43b0031af50000920000301af91000980800009700000f4af800009500007f960800001aec5000910001281a43a0001a5b90001a57e0005d47f045264400001a4470005fed10005d47f0455fed10015fec00021a47b000504bb048724c0018284914c05047b0d0724c0018284524c0504bb0a0724c0018284914c05047b018724c0018284524c05d4bb003504510085d4fb005105124c05f5100005d43f03810413400504fb0605fed200c5049300872500008284915005fed000e5043b08872440018284134405047b0e872480018284504805043b11072480018284114805043b1105047b0b872480018284504805043b03072480018284114805d47b00650410010504bb0785fed100f50452008724c0008284504c05043b100724400102841244072440010285904401af56000920001281af95000980800009700007f4af800009500000f960800001aec5000910000201a43a0001a47e0001a480000264800001a4870005fed20005fec0001504bb010724c0010284bb4c0724c0010284124c05f4000021af40000920000201af91000980800009700000f4af8000095000003960800001aec50001a43e0002b440000434510001af510001af9000098080000970000034af8000095000007960800001aec5000910000101a43a0001a47e0007248001028ed04805d4100001341004076400001360000005d43b0011af50000920000101af9100098080000970000074af800009500007f960800001aec5000910006201a5ba0001a57e00071400001764000185043b1b05fec00365047b2085fec104171480002504fb0b872500020284d2500504bb4e87250002028493500504fb50872500020284d250050491008725000202849350050490008724c0028284914c0504fb52872440030284d04407400014f614000015047b2885e4500005043b2885c410000134100007640000e5043b2885c4100001341004076400001360000005043b1305fec10265047b3707248000828450480504bb3787240000828491400740000055043b0585fec000b504bb37872440008284904405043b4b072440008284124405047b2d072480008284504805d43b05a13410000764000075d43b05a13410040764000025d43f03d364000006140010374000001614000055047b5f05e4500005043b0305fec00065047b5c072480028284504805043b5e85e4000005043b5e85c4100005047b5f05c45100016410440764000285043b5c05047b2a872480028284504805d43b0b813410040764000135d43b05513410000764000025d43f03d364000005043b2305fec10465047b2585fec104b50490020724c0008284914c05047b4087248002828450480504bb43072400028284914007400000a5043b2a8504100085047b1e05fec003c50491008724c0020284904c0504bb43072400028284914005047b4587240002828452400740000c35043b5e85c410000614102005047b2985e4500005043b2985c410000134100007640001d5043b2985c41000013410040764000105043b2985c4100005c47f1f81341044076400001360000005043b1a05d47f03c5fed10345047b5587248000828450480504bb5607240000828491400740000055043b1405fec1028504bb56072440008284904405047b5687240000828452400740000055043b0685fec000d5047b56872480008284504805043b57072480008284114805047b29072480008284504805d43b05213410000764000105d43b0525d47f03c134104407640000c5043b5e85c4100001ae900001ae4100020f8330058fbe00250fbe0047400053e1a43d0005047b5e85e450000750000705043b5e85c41000061450200504bb2a05e4910005047b2a05c451000134510007644001d5047b2a05c45100013451040764400105047b2a05c4510005c4bf1f81345148076440001360000005047b1a85d4bf03c5fed2035504bb578724c0008284914c0504fb38072440008284d2440740000055047b1385fec1027504fb38072480008284d1480504bb3887244000828493440740000055047b0605fec000c504bb388724c0008284914c05047b390724c0008284524c0504bb2d8724c0008284914c05d47b05b13451000764400065043b1485fec0029504bb3b872440028284904407400000f5047b0905fec101261410203504bb070724c0020284904c05043b398724c0020284124c050491008724c0020284904c0504bb3b872400028284914005043b3e072440028284124405047b5f872480028284504805d43b0b8134100401a440000764000015c47f200764400645043b5f85047b32072480028284504805043b2e01ae910001ae5000020f8330058fbe00250fbe004740000791a43d0005047b5c0504bb348724c0028284914c05047b3001ae920001ae5100020f8330058fbe00250fbe0047400006d1a47d000504bb580724c0020284904c05043b5a0724c0020284114c0a1412420764000385043b1085fec10215047b1985fec003350490020724c0008284914c05047b45872480028284504805043b26072480028284114805d43b08b13410040764000185d43b04c13410000764000025d43f03d364000005043b260504100085047b0d85fec001b504bb1705fec002e504d200872500020284d050050411008724c0028284124c05043b4807248003028411480504bb4b87244003028490440740000095043b260504100205fec10005047b0287248000828450480504bb4b872400030284bb400504fb52872400030284d240072400030285934001af560007400001c5043b5e85c4100001ae900001ae4100020f8330058fbe00250fbe004740004851a43d0005047b5e85e450000750001295043b5f85047b5c072480028284504805043b5e85c4100001ae900001ae4100020f8330058fbe00250fbe004740004751a43d0005047b5e85e45000075000139920006201af95000980800009700007f4af8000095000003960800001aec50001a43a0001a47e0005d4100001af500001af9100098080000970000034af800009500001f960800001aec5000910000481a43a0001a4790001a4be000724c002828ed04c05d4100001341004076400001360000005043b008504fb02872500020284d050072400020284534001af51000920000481af92000980800009700001f4af800009500007f960800001aec5000910002801a43a0001a5b90001a57e0005047b12872480030284504801ae910001ae5600020f8330058fbe00250fbe0047400045f504100305d47f044264400001a4470005fed104f5047b05872480020284504805043b22072480020284114805d43b04f5d47b0445d4bb0455d4fb0465d53b0475f4110005f4120015f4130025f4140035043b2785d47f0441b4510407248000828ed04805fed10015043b078724400102843b4405047b15872480010284504805043b16872480010284114805047b0887248001028450480504bb178724c0010284914c05d47b02f504bb098724c0010284904c0504fb19872500010284d25005d4bb034504fb0285fed10055fed20065047b1a87248001028453480504bb0a8724c0010284904c05043b1b8724c0010284124c05d43b038504bb010724c0010284914c05fed00045053b1c872400018285124005d43b03b5fed004d5d43b04d13410000764000805d41600213410000764000765d4160025d47b04d104104405fed0048504160105047b27072480008284504805043b10872440010284164401ae9000020f8330058fbe00250fbe004740003f71a43d0005d47b0481641044076400001740000475043b0e872440010284164401ae9000020f8330058fbe00250fbe0047500009c1a4fd0005043b11872440010284164401ae9000020f8330058fbe00250fbe004740003e11a43d0005d47b048154914007648000174000009264400001a4470005fed104a1545000076440001740000025d47b04a284534005d4fb04a5d43b0481b4100405047b0485fed30095fed000a5043b0b872480010284114805047b1e072480010284504805043b1f072480010284114805047b25872480010284504805047b258504bb0c8724c0010284904c05043b200724c0010284124c05d43b040504bb0d8724c0010284914c05047b210724c0010284524c05d47b043504bb0385fed00075fed10085043b188724400102841244072440010285904405043b0f872440010284164401ae9000020f8330058fbe00250fbe004750000e31a43d0005d47b04e104104405fed00495d4140005d47b0495d4bb04d284504805043b2405045601072480008284504801ae9400020f8330058fbe00250fbe004750002bd7400000772400018285944001ae9400020f8330058fbe00250fbe004750002c51af40000920002801af95000980800009700007f4af800009500007f960800001aec5000910001401a43a0001a4790001a4be0001a4c0000264c00001a4c70005053b0305fed30065fec0007504fb08872540010284d45405053b01872540010285135405fec0005504fb09872540018284d45407250001828ed3500504fb0b072500018284fb5005d53f0c5105140c05057b1087258001828553580504fb1085057b04072580048285505801ae950001ae5300020f8330058fbe00250fbe004740000a65043b0c8724c0020284144c0504fb12072500020284d05005043b1205d4fb0215d53b02342413500504fb0e872500020284d050072400020284534001af51000920001401af92000980800009700007f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0021af50000920000201af91000980800009700000f4af800009500001f960800001aec5000910000581a43a0001a4790001a4be000724c003028ed04c05d4100001341000076400001360000005043b008504fb03072500028284d050072400028284534001af51000920000581af92000980800009700001f4af800009500007f960800001aec5000910000601a43a0001a4790001a4b80001a4fe0005053b04872540018285115407244001828ed44405d47b0005053b0085d57b002105915405f5900005d43f038104154005057b0185fed10035045500872580008284545805fed00055043b030724400182841544072440018284904401af52000920000601af93000980800009700007f4af800009500007f960800001aec5000910001481a43a0001a4790001a4be0001a4c0000264c00001a4c70005053b0305fed30065fec0007504fb09072540010284d45405053b01872540010285135405fec0005504fb0a072540018284d45407250001828ed3500504fb0b872500018284fb5005d53f0c6105140c05057b1107258001828553580504fb1105057b04072580050285505801ae950001ae5300020f8330058fbe00250fbe0047500019a5043b0d0724c0020284144c0504fb12872500020284d05005043b1285d4fb0225d53b02442413500504fb0f072500020284d050072400020284534001af51000920001481af92000980800009700007f4af80000950000ff960800001aec5000910007981a5fa0001a5b90001a57e0005043b2b872440028284174405d43b05713410000764000e05d43b05713410040764000025d43f03d364000005043b2b8504100085047b6d072480020284504801ae810001ae5600020f8330058fbe00250fbe0047400062b5043b6d05047b69872480020284504805043b6985d47f044264400001a4470005fed10f15047b27872480020284504805043b61872480020284114805d43b0f15d47b0c35d4bb0c45d4fb0c55d53b0c65f4110005f4120015f4130025f4140035043b7885d47f0441b451040504bb0e8724c0008284904c05fed101e5043b29872440010284124405047b3e072480010284504805043b3f072480010284114805047b2a87248001028450480504bb400724c0010284914c05d47b080504bb148724c0010284904c0504fb41072500010284d25005d4bb083504fb0385fed10075fed20085047b4207248001028453480504bb158724c0010284904c05043b430724c0010284124c05d43b087504bb088724c0010284914c05fed00135053b44072400018285124005d43b08a5fed00eb5d43b0eb13410000764000805d41600213410000764000765d4160025d47b0eb104104405fed00d8504160105047b77072480008284504805043b37072440010284164401ae9000020f8330058fbe00250fbe004740002341a43d0005d47b0d81641044076400001740000475043b30072440010284164401ae9000020f8330058fbe00250fbe0047500025f1a4fd0005043b38072440010284164401ae9000020f8330058fbe00250fbe0047400021e1a43d0005d47b0d8154914007648000174000009264400001a4470005fed10e01545000076440001740000025d47b0e0284534005d4fb0e05d43b0d81b4100405047b0c85fed30195fed001a5043b16872480010284114805047b45872480010284504805043b46872480010284114805047b73072480010284504805047b730504bb178724c0010284904c05043b488724c0010284124c05d43b091504bb188724c0010284914c05047b498724c0010284524c05d47b094504bb0685fed000d5fed100e5043b4a8724400102841244072440010285904405043b32072440010284164401ae9000020f8330058fbe00250fbe004750002a61a43d0005d47b0ee104104405fed00e25d4140005d47b0e25d4bb0eb284504805043b6c05045601072480008284504801ae9400020f8330058fbe00250fbe004750004807400000772400018285944001ae9400020f8330058fbe00250fbe00475000488740000d95043b2b8504100085047b65872480020284504801ae800001ae5600020f8330058fbe00250fbe004740005505043b6585047b67872480020284504805043b6785d47f044264400001a4470005fed10f05047b10872480020284504805043b5f872480020284114805d43b0f05d47b0bf5d4bb0c05d4fb0c15d53b0c25f4110005f4120015f4130025f4140035043b7805d47f0441b4510407248000828ed04805fed10015043b128724400102843b4405047b3a072480010284504805043b3b072480010284114805047b1387248001028450480504bb3c0724c0010284914c05d47b078504bb1f8724c0010284904c0504fb47872500010284d25005d4bb090504fb0285fed10055fed20065047b5307248001028453480504bb238724c0010284904c05043b590724c0010284124c05d43b0b3504bb010724c0010284914c05fed00045053b5a072400018285124005d43b0b65fed00ea5d43b0ea13410000764000805d41600213410000764000765d4160025d47b0ea104104405fed00d7504160105047b76872480008284504805043b35072440010284164401ae9000020f8330058fbe00250fbe0047400015a1a43d0005d47b0d71641044076400001740000475043b2e072440010284164401ae9000020f8330058fbe00250fbe004750003391a4fd0005043b36072440010284164401ae9000020f8330058fbe00250fbe004740001441a43d0005d47b0d7154914007648000174000009264400001a4470005fed10df1545000076440001740000025d47b0df284534005d4fb0df5d43b0d71b4100405047b0b85fed30175fed00185043b24872480010284114805047b5b872480010284504805043b5c872480010284114805047b72072480010284504805047b720504bb258724c0010284904c05043b5d8724c0010284124c05d43b0bb504bb268724c0010284914c05047b5e8724c0010284524c05d47b0be504bb0585fed000b5fed100c5043b3d0724400102841244072440010285904405043b2f072440010284164401ae9000020f8330058fbe00250fbe004750003801a43d0005d47b0ed104104405fed00de5d4140005d47b0de5d4bb0ea284504805043b6b85045601072480008284504801ae9400020f8330058fbe00250fbe0047500055a7400000772400018285944001ae9400020f8330058fbe00250fbe00475000562504170285d47f044264400001a4470005fed10f25047b19872480020284504805043b63872480020284114805d43b0f25d47b0c75d4bb0c85d4fb0c95d53b0ca5f4110005f4120015f4130025f4140035043b7905d47f0441b451040504bb0f8724c0008284904c05fed10205043b1b872440010284124405047b4b872480010284504805043b4c872480010284114805047b1c87248001028450480504bb4d8724c0010284914c05d47b09b504bb1d8724c0010284904c0504fb4e872500010284d25005d4bb09e504fb0485fed10095fed200a5047b4f87248001028453480504bb1e8724c0010284904c05043b508724c0010284124c05d43b0a2504bb0a0724c0010284914c05fed00165053b51872400018285124005d43b0a55fed00ec5d43b0ec13410000764000805d41600213410000764000765d4160025d47b0ec104104405fed00d9504160105047b77872480008284504805043b39072440010284164401ae9000020f8330058fbe00250fbe0047400008f1a43d0005d47b0d91641044076400001740000475043b33072440010284164401ae9000020f8330058fbe00250fbe004750004041a4fd0005043b31072440010284164401ae9000020f8330058fbe00250fbe004740000791a43d0005d47b0d9154914007648000174000009264400001a4470005fed10e11545000076440001740000025d47b0e1284534005d4fb0e15d43b0d91b4100405047b0d85fed301b5fed001c5043b20872480010284114805047b54072480010284504805043b55072480010284114805047b74072480010284504805047b740504bb218724c0010284904c05043b560724c0010284124c05d43b0ac504bb228724c0010284914c05047b570724c0010284524c05d47b0af504bb0785fed000f5fed10105043b580724400102841244072440010285904405043b34072440010284164401ae9000020f8330058fbe00250fbe0047500044b1a43d0005d47b0ef104104405fed00e35d4140005d47b0e35d4bb0ec284504805043b6c85045601072480008284504801ae9400020f8330058fbe00250fbe004750006257400000772400018285944001ae9400020f8330058fbe00250fbe0047500062d1af40000920007981af9500098080000970000ff4af8000095000007960800001aec5000910000201a43a0001a4790001a4be0005fed00035fed10015d43b0035d47b001104104405fed00025c43f3205fed00005d43b0025d47b00015410440764000035d43b0021af500007400000136000000920000201af9200098080000970000074af8000095000003960800001aec50001a43a0001a47e0005d4100011af500001af9100098080000970000034af80000950000ff960800001aec5000910006f01a5fa0001a5b90001a57e0005043b25072440028284174405d43b04a13410000764000e05d43b04a13410040764000025d43f03d364000005043b250504100085047b61872480020284504801ae810001ae5600020f8330058fbe00250fbe0047400036d5043b6185047b5c072480020284504805043b5c05d47f044264400001a4470005fed10dc5047b20872480020284504805043b56072480020284114805d43b0dc5d47b0ac5d4bb0ad5d4fb0ae5d53b0af5f4110005f4120015f4130025f4140035043b6e05d47f0441b451040504bb0d0724c0008284904c05fed101b5043b22872440010284124405047b37872480010284504805043b38872480010284114805047b2387248001028450480504bb398724c0010284914c05d47b073504bb138724c0010284904c0504fb3a872500010284d25005d4bb076504fb0385fed10075fed20085047b3b87248001028453480504bb148724c0010284904c05043b3c8724c0010284124c05d43b07a504bb078724c0010284914c05fed00115053b3d872400018285124005d43b07d5fed00d65d43b0d613410000764000805d41600213410000764000765d4160025d47b0d6104104405fed00bd504160105047b6c872480008284504805043b30872440010284164401ae9000020f8330058fbe00250fbe004750000881a43d0005d47b0bd1641044076400001740000475043b29872440010284164401ae9000020f8330058fbe00250fbe0047500051d1a4fd0005043b31872440010284164401ae9000020f8330058fbe00250fbe0047500009e1a43d0005d47b0bd154914007648000174000009264400001a4470005fed10ca1545000076440001740000025d47b0ca284534005d4fb0ca5d43b0bd1b4100405047b0c05fed30185fed00195043b15872480010284114805047b3f072480010284504805043b40072480010284114805047b68872480010284504805047b688504bb168724c0010284904c05043b420724c0010284124c05d43b084504bb178724c0010284914c05047b430724c0010284524c05d47b087504bb0685fed000d5fed100e5043b440724400102841244072440010285904405043b2b872440010284164401ae9000020f8330058fbe00250fbe004750005641a43d0005d47b0d9104104405fed00cd5d4140005d47b0cd5d4bb0d6284504805043b5e85045601072480008284504801ae9400020f8330058fbe00250fbe0047500073e7400000772400018285944001ae9400020f8330058fbe00250fbe00475000746740000d95043b250504100085047b58072480020284504801ae800001ae5600020f8330058fbe00250fbe004740002925043b5805047b5a072480020284504805043b5a05d47f044264400001a4470005fed10db5047b0f872480020284504805043b54072480020284114805d43b0db5d47b0a85d4bb0a95d4fb0aa5d53b0ab5f4110005f4120015f4130025f4140035043b6d85d47f0441b4510407248000828ed04805fed10015043b118724400102843b4405047b33872480010284504805043b34872480010284114805047b1287248001028450480504bb358724c0010284914c05d47b06b504bb1b8724c0010284904c0504fb41072500010284d25005d4bb083504fb0285fed10055fed20065047b4c87248001028453480504bb1c8724c0010284904c05043b4d8724c0010284124c05d43b09c504bb010724c0010284914c05fed00045053b4e872400018285124005d43b09f5fed00d55d43b0d513410000764000805d41600213410000764000765d4160025d47b0d5104104405fed00bc504160105047b6c072480008284504805043b2e872440010284164401ae9000020f8330058fbe00250fbe004750001621a43d0005d47b0bc1641044076400001740000475043b27872440010284164401ae9000020f8330058fbe00250fbe004750005f71a4fd0005043b2f872440010284164401ae9000020f8330058fbe00250fbe004750001781a43d0005d47b0bc154914007648000174000009264400001a4470005fed10c91545000076440001740000025d47b0c9284534005d4fb0c95d43b0bc1b4100405047b0b05fed30165fed00175043b1d872480010284114805047b50072480010284504805043b51072480010284114805047b67872480010284504805047b678504bb1e8724c0010284904c05043b520724c0010284124c05d43b0a4504bb1f8724c0010284914c05047b530724c0010284524c05d47b0a7504bb0585fed000b5fed100c5043b368724400102841244072440010285904405043b28872440010284164401ae9000020f8330058fbe00250fbe0047500063e1a43d0005d47b0d8104104405fed00c85d4140005d47b0c85d4bb0d5284504805043b5e05045601072480008284504801ae9400020f8330058fbe00250fbe004750008187400000772400018285944001ae9400020f8330058fbe00250fbe00475000820504170281a441000264400001a447000504bb0905fed10125fec10135047b450724c0010284524c0504bb0e0724c0010284914c05fec001e5047b460724c0018284524c0504bb5f8724c0018284914c05047b24872480008284504805d43b04913410000764000025d43f03d364000005043b5f85d47b0c15d4bb0c013451480764400017400001c5d450001134510001a481000764400035d4500015d4bf03c1b4924405fed20c75d5100005d4500015d4bb0c7154d2440764c000174000009264800001a4870005fed20ce1549100076480001740000025d4bb0ce284944405d53b0ce5f4140005047b63850490008724c0008284914c05d4500005d490002104514805fed10c25d47b0c21a4800005fed20dd5d4bb0dd5e4520005d450002104510405f4110025053b5f85d43b0c15fed00d75d43b0d713410000764000805d41600213410000764000765d4160025d47b0d7104104405fed00be504160105047b6d072480008284504805043b32872440010284164401ae9000020f8330058fbe00250fbe004750002321a43d0005d47b0be1641044076400001740000475043b2c872440010284164401ae9000020f8330058fbe00250fbe004750006c71a4fd0005043b2a872440010284164401ae9000020f8330058fbe00250fbe004750002481a43d0005d47b0be154914007648000174000009264400001a4470005fed10cb1545000076440001740000025d47b0cb284534005d4fb0cb5d43b0be1b4100405047b0a05fed30145fed00155043b18872480010284114805047b47872480010284504805043b48872480010284114805047b69872480010284504805047b698504bb198724c0010284904c05043b498724c0010284124c05d43b093504bb1a8724c0010284914c05047b4a8724c0010284524c05d47b096504bb0485fed00095fed100a5043b4b8724400102841244072440010285904405043b2d872440010284164401ae9000020f8330058fbe00250fbe0047500070e1a43d0005d47b0da104104405fed00cc5d4140005d47b0cc5d4bb0d7284504805043b5f05045601072480008284504801ae9400020f8330058fbe00250fbe004750008e87400000772400018285944001ae9400020f8330058fbe00250fbe004750008f01af40000920006f01af9500098080000970000ff4af800009500000f960800001aec5000910000401a43a0001a4790001a4be0005fec00005fec00015fec00025fed00035043b020724c00202843b4c05043b020724c0020284504c01af51000920000401af92000980800009700000f4af800009500007f960800001aec500091000d081a43a0001a5790001a53e000504fb49072440020284d04405d4100045d47f04d13451000764400bd5d47f04d5fed11a05d47f0381b4504405d4bb1a0104514805d4bf041104514805d4bf0421f4514805fed11925d47f043194104405fed019e5043b4485c47f2005e4110005043b4485c4100005c47f20013410440764000075043b4485c410000134100001a4410007640000b5d43f03d364000005d43b19e5d47f0381b4104405d47b1a0104104405d47f041104104405d47f0421f4504405fed11945043b40872440020284134405047b4b072480020284504805043bcc872480020284114805043bcc85d47b192504bb4501ae910001ae5200020f8330058fbe00250fbe0047500005c1a47d0005d4bb194504fb4701ae920001ae5300020f8330058fbe00250fbe004750000651a4bd000504fbbb072580020284d15805047bc307258002028452580504bbbf0a34934615047b4d0724c0020284524c0504bbbd0724c0020284904c05043bc50724c0020284114c05047bc10a34524205043b4f072480020284114805047bcc872480020284504805047b42872480020284504805043b51072480020284114805047bca0504bbcf0504fb14872580020284d05805041302072580008284115805041302872440008284124405043b53072440030284134405043bca85047b53072480020284114805043bc985047b5305045102072480008284114805043bce85047b5305045102872480008284114805d43b0aa5d47f0441b4104405d47f0381b411400264000001a4070005fed019f5043bca85d47b19f5d4bb193504fbc7072580020284d0580394504d2764000065043b2c05fec0058504bb9207244014828490440740000255043b1785fec102f5d47b19f5d4bb19d5d4ff0381b493480104514805c4bf200764800105d4bf04d13492040764800055d451000504fb56072480140284d1480740000045c451000504fb56072480140284d1480504bb6a0724401402849344074000003504bb6a0724c0140284914c05047b7e0724c0140284524c050490008724c0140284914c0504bb92072440148284904405047ba687240014828452400740000045fec00005047ba68724001482847b40072400148285514001af5500092000d081af94000980800009700007f4af80000950000ff960800001aec5000910001a01a43a0001a5f90001a5be0001a441000264400001a447000504bb0185fed10035fec10045047b0b8724c0010284524c07248001028ed14805fec00025047b0c8724800182847b480504bb138724c0018284914c05047b1385d4bb0295d4fb028134924c0764800017400001c5d491001134920001a4c1000764800035d4910015d4ff03c1b4d34805fed302b5d5510005d4910015d4fb02b155134807650000174000009264c00001a4c70005fed302c154d2000764c0001740000025d4fb02c284d54805d57b02c5f455000504bb158504d100872500008284d25005d4910005d4d1002104924c05fed202a5d4bb02a5fed00335d43b0335e4900005d411002104100405f4500025053b1385d43b0295fed00315d43b03113410000764000805d41700213410000764000765d4170025d47b031104104405fed0026504170105047b19072480008284504805043b09872440010284174401ae9000020f8330058fbe00250fbe004750003f21a43d0005d47b0261641044076400001740000475043b07872440010284174401ae9000020f8330058fbe00250fbe004750008871a4fd0005043b0a872440010284174401ae9000020f8330058fbe00250fbe004750004081a43d0005d47b026154914007648000174000009264400001a4470005fed102e1545000076440001740000025d47b02e284534005d4fb02e5d43b0261b4100405047b0385fed30075fed00085043b04872480010284114805047b0e072480010284504805043b0f072480010284114805047b17872480010284504805047b178504bb058724c0010284904c05043b100724c0010284124c05d43b020504bb068724c0010284914c05047b110724c0010284524c05d47b023504bb0285fed00055fed10065043b120724400102841244072440010285d04405043b08872440010284174401ae9000020f8330058fbe00250fbe004750008ce1a43d0005d47b032104104405fed002d5d4140005d47b02d5d4bb031284504805043b1305045701072480008284504801ae9400020f8330058fbe00250fbe00475000aa87400000772400018285d44001ae9400020f8330058fbe00250fbe00475000ab01af40000920001a01af9600098080000970000ff4af800006275795f7365656473000000000000000000000000000000000000000000000000000000000000000000000000000000f383b0ce51358be57daa3b725fe44acdb2d880604e367199080b4379c41bb6ed6765745f61737365745f6964000000006765745f67617264656e5f7665630000b48b753af346966d0d169c0b2e3234611f65d5cfdb57c7b6e7cd6ca93707bee06765745f6974656d5f616d6f756e740002dac99c283f16bc91b74f6942db7f012699a2ad51272b15207b9cc14a70dbaede9090cb50e71c2588c773487d1da7066d0c719849a7e58dc8b6397a25c567c06765745f706c617965720000000000006765745f736565645f616d6f756e74006861727665737400746f6f206561726c79000000000000006c6576656c5f7570736b696c6c20616c7265616479206d6178000000000000006e6f7420656e6f7567682065787000006e65775f706c61796572000000000000706c6179657220616c726561647920657869737473000000706c616e745f736565645f61745f696e646578000000000063616e5f68617276657374000000000073656c6c5f6974656d0000000000000063616e5f6c6576656c5f757000000000000000000000004900000000000000080000000000000009000000000000004a00000000000000400000000000000002cccccccccccc000200000000000b71b002000000000000000100000000000000000000000000001f00000000000000050000000000000004000000000000002000000000000004004e346642e8c6fecd000000000000000b000000000000000c0000000000000010000000000000000a0000000000000bb8000000000000000e0000000000000140000000000000000300000000000000060000000000000007000000000000000f000000000000001100000000002dc6c08a2c35a45657d95d0000000000000015000000003b9aca00ffffffffffff0001030000000000000002599dd8b27fe93c0000000000000013367adc51ef14312100000000007270e09b554f45f74d8490000000000000007b85a139d61290013fffffffffffff00008c25cb3686462e9a000000000000001684d62eb49d5b4c0eff0000000000000000000000000058f300000000000057ca000000000000564b00000000000056140000000000004f390000000000004f0200000000000044aa000000000000386c00000000000036d3000000000000369c0000000000002b6a00000000000027e00000000000002759000000000000231100000000000022da00000000000020a0000000000000186e000000000000183700000000000015570000000000019d2000000000000198c800000000000198c0000000000001901800000000000190100000000000018a500000000000018a480000000000017f9c00000000000174080000000000017400000000000001711400000000000168d400000000000168cc000000000001618400000000000160cc00000000000160c40000000000015ed4000000000001581c00000000000158140000000000014f2800000000000146f800000000000146f000000000000140f4000000000001397c00000000000139740000000000013198000000000001292800000000000129200000000000012324000000000001186c0000000000011864000000000001122800000000000112200000000000010d240000000000010bc40000000000010bbc000000000001066000000000000105d400000000000104800000000000010478000000000000fb00000000000000f1a8000000000000f1a0000000000000ed10000000000000eb90000000000000eb88000000000000e734000000000000e72c000000000000e0e8000000000000e08c000000000000e084000000000000d648000000000000c9ac000000000000c9a4000000000000c3a0000000000000c398000000000000bed0000000000000bec8000000000000a664000000000000a65c0000000000009c6c0000000000009774000000000000976c00000000000090fc00000000000090f40000000000008bd80000000000008bd00000000000008554000000000000854c00000000000080580000000000007ff40000000000007fec000000000000632c00000000000050fc00000000000050f40000000000004b4c0000000000004b440000000000001f480000000000001d04' \ No newline at end of file diff --git a/frontend/src/sway-api/contracts/common.d.ts b/frontend/src/sway-api/contracts/common.d.ts index 5697b00..7e7bda3 100644 --- a/frontend/src/sway-api/contracts/common.d.ts +++ b/frontend/src/sway-api/contracts/common.d.ts @@ -4,23 +4,29 @@ /* eslint-disable */ /* - Fuels version: 0.73.0 - Forc version: 0.49.2 - Fuel-Core version: 0.22.0 + Fuels version: 0.88.0 + Forc version: 0.59.0 + Fuel-Core version: 0.26.0 */ -/* - Mimics Sway Enum, requires at least one Key-Value but - does not raise error on multiple pairs. - This is done in the abi-coder -*/ -export type Enum }> = Partial & - U[keyof U]; +/** + * Mimics Sway Enum. + * Requires one and only one Key-Value pair and raises error if more are provided. + */ +export type Enum = { + [K in keyof T]: Pick & { [P in Exclude]?: never }; +}[keyof T]; -/* - Mimics Sway Option and Vectors. - Vectors are treated like arrays in Typescript. -*/ +/** + * Mimics Sway Option and Vectors. + * Vectors are treated like arrays in Typescript. + */ export type Option = T | undefined; export type Vec = T[]; + +/** + * Mimics Sway Result enum type. + * Ok represents the success case, while Err represents the error case. + */ + export type Result = Enum<{Ok: T, Err: E}>; \ No newline at end of file diff --git a/frontend/src/sway-api/contracts/factories/ContractAbi__factory.ts b/frontend/src/sway-api/contracts/factories/ContractAbi__factory.ts index 4ea739b..61bf2c4 100644 --- a/frontend/src/sway-api/contracts/factories/ContractAbi__factory.ts +++ b/frontend/src/sway-api/contracts/factories/ContractAbi__factory.ts @@ -4,705 +4,819 @@ /* eslint-disable */ /* - Fuels version: 0.73.0 - Forc version: 0.49.2 - Fuel-Core version: 0.22.0 + Fuels version: 0.88.0 + Forc version: 0.59.0 + Fuel-Core version: 0.26.0 */ -import { Interface, Contract, ContractFactory } from 'fuels'; -import type { - Provider, - Account, - AbstractAddress, - BytesLike, - DeployContractOptions, - StorageSlot, -} from 'fuels'; -import type { ContractAbi, ContractAbiInterface } from '../ContractAbi'; +import { Interface, Contract, ContractFactory } from "fuels"; +import type { Provider, Account, AbstractAddress, BytesLike, DeployContractOptions, StorageSlot } from "fuels"; +import type { ContractAbi, ContractAbiInterface } from "../ContractAbi"; const _abi = { - types: [ + "encoding": "1", + "types": [ { - typeId: 0, - type: '()', - components: [], - typeParameters: null, + "typeId": 0, + "type": "()", + "components": [], + "typeParameters": null }, { - typeId: 1, - type: '[_; 10]', - components: [ + "typeId": 1, + "type": "[_; 10]", + "components": [ { - name: '__array_element', - type: 7, - typeArguments: [ + "name": "__array_element", + "type": 7, + "typeArguments": [ { - name: '', - type: 14, - typeArguments: null, - }, - ], - }, + "name": "", + "type": 15, + "typeArguments": null + } + ] + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 2, - type: 'b256', - components: null, - typeParameters: null, + "typeId": 2, + "type": "b256", + "components": null, + "typeParameters": null }, { - typeId: 3, - type: 'bool', - components: null, - typeParameters: null, + "typeId": 3, + "type": "bool", + "components": null, + "typeParameters": null }, { - typeId: 4, - type: 'enum FoodType', - components: [ + "typeId": 4, + "type": "enum FoodType", + "components": [ { - name: 'Tomatoes', - type: 0, - typeArguments: null, - }, + "name": "Tomatoes", + "type": 0, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 5, - type: 'enum Identity', - components: [ + "typeId": 5, + "type": "enum Identity", + "components": [ { - name: 'Address', - type: 11, - typeArguments: null, + "name": "Address", + "type": 11, + "typeArguments": null }, { - name: 'ContractId', - type: 13, - typeArguments: null, - }, + "name": "ContractId", + "type": 14, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 6, - type: 'enum InvalidError', - components: [ + "typeId": 6, + "type": "enum InvalidError", + "components": [ { - name: 'NotEnoughTokens', - type: 19, - typeArguments: null, + "name": "NotEnoughTokens", + "type": 25, + "typeArguments": null }, { - name: 'NotEnoughSeeds', - type: 19, - typeArguments: null, + "name": "NotEnoughSeeds", + "type": 25, + "typeArguments": null }, { - name: 'IncorrectAssetId', - type: 12, - typeArguments: null, - }, + "name": "IncorrectAssetId", + "type": 12, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 7, - type: 'enum Option', - components: [ + "typeId": 7, + "type": "enum Option", + "components": [ { - name: 'None', - type: 0, - typeArguments: null, + "name": "None", + "type": 0, + "typeArguments": null }, { - name: 'Some', - type: 8, - typeArguments: null, - }, + "name": "Some", + "type": 8, + "typeArguments": null + } ], - typeParameters: [8], + "typeParameters": [ + 8 + ] }, { - typeId: 8, - type: 'generic T', - components: null, - typeParameters: null, + "typeId": 8, + "type": "generic T", + "components": null, + "typeParameters": null }, { - typeId: 9, - type: 'raw untyped ptr', - components: null, - typeParameters: null, + "typeId": 9, + "type": "raw untyped ptr", + "components": null, + "typeParameters": null }, { - typeId: 10, - type: 'str', - components: null, - typeParameters: null, + "typeId": 10, + "type": "str", + "components": null, + "typeParameters": null }, { - typeId: 11, - type: 'struct Address', - components: [ + "typeId": 11, + "type": "struct Address", + "components": [ { - name: 'value', - type: 2, - typeArguments: null, - }, + "name": "bits", + "type": 2, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 12, - type: 'struct AssetId', - components: [ + "typeId": 12, + "type": "struct AssetId", + "components": [ { - name: 'value', - type: 2, - typeArguments: null, - }, + "name": "bits", + "type": 2, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 13, - type: 'struct ContractId', - components: [ + "typeId": 13, + "type": "struct BuySeeds", + "components": [ { - name: 'value', - type: 2, - typeArguments: null, + "name": "address", + "type": 5, + "typeArguments": null }, - ], - typeParameters: null, - }, - { - typeId: 14, - type: 'struct Food', - components: [ { - name: 'name', - type: 4, - typeArguments: null, + "name": "food_type", + "type": 4, + "typeArguments": null }, { - name: 'time_planted', - type: 7, - typeArguments: [ - { - name: '', - type: 19, - typeArguments: null, - }, - ], + "name": "amount_bought", + "type": 25, + "typeArguments": null }, - ], - typeParameters: null, - }, - { - typeId: 15, - type: 'struct GardenVector', - components: [ { - name: 'inner', - type: 1, - typeArguments: null, + "name": "cost", + "type": 25, + "typeArguments": null }, + { + "name": "total_current_amount", + "type": 25, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 16, - type: 'struct Player', - components: [ + "typeId": 14, + "type": "struct ContractId", + "components": [ { - name: 'farming_skill', - type: 19, - typeArguments: null, - }, - { - name: 'total_value_sold', - type: 19, - typeArguments: null, - }, + "name": "bits", + "type": 2, + "typeArguments": null + } ], - typeParameters: null, + "typeParameters": null }, { - typeId: 17, - type: 'struct RawVec', - components: [ + "typeId": 15, + "type": "struct Food", + "components": [ { - name: 'ptr', - type: 9, - typeArguments: null, + "name": "name", + "type": 4, + "typeArguments": null }, { - name: 'cap', - type: 19, - typeArguments: null, - }, + "name": "time_planted", + "type": 7, + "typeArguments": [ + { + "name": "", + "type": 25, + "typeArguments": null + } + ] + } ], - typeParameters: [8], + "typeParameters": null }, { - typeId: 18, - type: 'struct Vec', - components: [ + "typeId": 16, + "type": "struct GardenVector", + "components": [ { - name: 'buf', - type: 17, - typeArguments: [ - { - name: '', - type: 8, - typeArguments: null, - }, - ], - }, - { - name: 'len', - type: 19, - typeArguments: null, - }, + "name": "inner", + "type": 1, + "typeArguments": null + } ], - typeParameters: [8], + "typeParameters": null }, { - typeId: 19, - type: 'u64', - components: null, - typeParameters: null, - }, - ], - functions: [ - { - inputs: [ + "typeId": 17, + "type": "struct Harvest", + "components": [ { - name: 'food_type', - type: 4, - typeArguments: null, + "name": "address", + "type": 5, + "typeArguments": null }, { - name: 'amount', - type: 19, - typeArguments: null, + "name": "food_type", + "type": 4, + "typeArguments": null }, - ], - name: 'buy_seeds', - output: { - name: '', - type: 0, - typeArguments: null, - }, - attributes: [ { - name: 'storage', - arguments: ['read', 'write'], + "name": "index", + "type": 25, + "typeArguments": null }, { - name: 'payable', - arguments: [], - }, + "name": "timestamp", + "type": 25, + "typeArguments": null + } ], + "typeParameters": null }, { - inputs: [ + "typeId": 18, + "type": "struct LevelUp", + "components": [ { - name: 'food_type', - type: 4, - typeArguments: null, + "name": "address", + "type": 5, + "typeArguments": null }, { - name: 'amount', - type: 19, - typeArguments: null, - }, + "name": "player_info", + "type": 21, + "typeArguments": null + } ], - name: 'buy_seeds_free', - output: { - name: '', - type: 0, - typeArguments: null, - }, - attributes: [ + "typeParameters": null + }, + { + "typeId": 19, + "type": "struct NewPlayer", + "components": [ { - name: 'storage', - arguments: ['read', 'write'], - }, + "name": "address", + "type": 5, + "typeArguments": null + } ], + "typeParameters": null }, { - inputs: [ + "typeId": 20, + "type": "struct PlantSeed", + "components": [ { - name: 'index', - type: 19, - typeArguments: null, + "name": "address", + "type": 5, + "typeArguments": null + }, + { + "name": "food_type", + "type": 4, + "typeArguments": null }, - ], - name: 'can_harvest', - output: { - name: '', - type: 3, - typeArguments: null, - }, - attributes: [ { - name: 'storage', - arguments: ['read'], + "name": "index", + "type": 25, + "typeArguments": null }, + { + "name": "timestamp", + "type": 25, + "typeArguments": null + } ], + "typeParameters": null }, { - inputs: [ + "typeId": 21, + "type": "struct Player", + "components": [ { - name: 'id', - type: 5, - typeArguments: null, + "name": "farming_skill", + "type": 25, + "typeArguments": null }, - ], - name: 'can_level_up', - output: { - name: '', - type: 3, - typeArguments: null, - }, - attributes: [ { - name: 'storage', - arguments: ['read'], - }, + "name": "total_value_sold", + "type": 25, + "typeArguments": null + } ], + "typeParameters": null }, { - inputs: [ + "typeId": 22, + "type": "struct RawVec", + "components": [ { - name: 'id', - type: 5, - typeArguments: null, + "name": "ptr", + "type": 9, + "typeArguments": null }, - ], - name: 'get_garden_vec', - output: { - name: '', - type: 15, - typeArguments: null, - }, - attributes: [ { - name: 'storage', - arguments: ['read'], - }, + "name": "cap", + "type": 25, + "typeArguments": null + } ], + "typeParameters": [ + 8 + ] }, { - inputs: [ + "typeId": 23, + "type": "struct SellItem", + "components": [ { - name: 'id', - type: 5, - typeArguments: null, + "name": "address", + "type": 5, + "typeArguments": null }, { - name: 'item', - type: 4, - typeArguments: null, + "name": "food_type", + "type": 4, + "typeArguments": null + }, + { + "name": "amount_sold", + "type": 25, + "typeArguments": null }, - ], - name: 'get_item_amount', - output: { - name: '', - type: 19, - typeArguments: null, - }, - attributes: [ { - name: 'storage', - arguments: ['read'], + "name": "value_sold", + "type": 25, + "typeArguments": null }, + { + "name": "player_info", + "type": 21, + "typeArguments": null + } ], + "typeParameters": null }, { - inputs: [ + "typeId": 24, + "type": "struct Vec", + "components": [ { - name: 'id', - type: 5, - typeArguments: null, + "name": "buf", + "type": 22, + "typeArguments": [ + { + "name": "", + "type": 8, + "typeArguments": null + } + ] }, - ], - name: 'get_player', - output: { - name: '', - type: 7, - typeArguments: [ - { - name: '', - type: 16, - typeArguments: null, - }, - ], - }, - attributes: [ { - name: 'storage', - arguments: ['read'], - }, + "name": "len", + "type": 25, + "typeArguments": null + } ], + "typeParameters": [ + 8 + ] }, { - inputs: [ + "typeId": 25, + "type": "u64", + "components": null, + "typeParameters": null + } + ], + "functions": [ + { + "inputs": [ { - name: 'id', - type: 5, - typeArguments: null, + "name": "food_type", + "type": 4, + "typeArguments": null }, { - name: 'item', - type: 4, - typeArguments: null, - }, + "name": "amount", + "type": 25, + "typeArguments": null + } ], - name: 'get_seed_amount', - output: { - name: '', - type: 19, - typeArguments: null, + "name": "buy_seeds", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, - attributes: [ + "attributes": [ { - name: 'storage', - arguments: ['read'], + "name": "storage", + "arguments": [ + "read", + "write" + ] }, - ], + { + "name": "payable", + "arguments": [] + } + ] }, { - inputs: [ + "inputs": [ { - name: 'index', - type: 19, - typeArguments: null, - }, + "name": "index", + "type": 25, + "typeArguments": null + } ], - name: 'harvest', - output: { - name: '', - type: 0, - typeArguments: null, + "name": "can_harvest", + "output": { + "name": "", + "type": 3, + "typeArguments": null }, - attributes: [ + "attributes": [ { - name: 'storage', - arguments: ['read', 'write'], - }, - ], + "name": "storage", + "arguments": [ + "read" + ] + } + ] }, { - inputs: [], - name: 'level_up', - output: { - name: '', - type: 0, - typeArguments: null, - }, - attributes: [ + "inputs": [ { - name: 'storage', - arguments: ['read', 'write'], - }, + "name": "id", + "type": 5, + "typeArguments": null + } ], + "name": "can_level_up", + "output": { + "name": "", + "type": 3, + "typeArguments": null + }, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read" + ] + } + ] + }, + { + "inputs": [], + "name": "get_asset_id", + "output": { + "name": "", + "type": 12, + "typeArguments": null + }, + "attributes": null }, { - inputs: [], - name: 'new_player', - output: { - name: '', - type: 0, - typeArguments: null, - }, - attributes: [ + "inputs": [ { - name: 'storage', - arguments: ['read', 'write'], - }, + "name": "id", + "type": 5, + "typeArguments": null + } ], + "name": "get_garden_vec", + "output": { + "name": "", + "type": 16, + "typeArguments": null + }, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read" + ] + } + ] }, { - inputs: [ + "inputs": [ { - name: 'food_type', - type: 4, - typeArguments: null, + "name": "id", + "type": 5, + "typeArguments": null }, { - name: 'index', - type: 19, - typeArguments: null, - }, + "name": "item", + "type": 4, + "typeArguments": null + } ], - name: 'plant_seed_at_index', - output: { - name: '', - type: 0, - typeArguments: null, + "name": "get_item_amount", + "output": { + "name": "", + "type": 25, + "typeArguments": null }, - attributes: [ + "attributes": [ { - name: 'storage', - arguments: ['read', 'write'], - }, - ], + "name": "storage", + "arguments": [ + "read" + ] + } + ] }, { - inputs: [ - { - name: 'food_type', - type: 4, - typeArguments: null, - }, - { - name: 'amount', - type: 19, - typeArguments: null, - }, + "inputs": [ { - name: 'indexes', - type: 18, - typeArguments: [ - { - name: '', - type: 19, - typeArguments: null, - }, - ], - }, + "name": "id", + "type": 5, + "typeArguments": null + } ], - name: 'plant_seeds', - output: { - name: '', - type: 0, - typeArguments: null, + "name": "get_player", + "output": { + "name": "", + "type": 7, + "typeArguments": [ + { + "name": "", + "type": 21, + "typeArguments": null + } + ] }, - attributes: [ + "attributes": [ { - name: 'storage', - arguments: ['read', 'write'], - }, - ], + "name": "storage", + "arguments": [ + "read" + ] + } + ] }, { - inputs: [ + "inputs": [ { - name: 'food_type', - type: 4, - typeArguments: null, + "name": "id", + "type": 5, + "typeArguments": null }, { - name: 'amount', - type: 19, - typeArguments: null, - }, + "name": "item", + "type": 4, + "typeArguments": null + } ], - name: 'sell_item', - output: { - name: '', - type: 0, - typeArguments: null, + "name": "get_seed_amount", + "output": { + "name": "", + "type": 25, + "typeArguments": null }, - attributes: [ + "attributes": [ { - name: 'storage', - arguments: ['read', 'write'], - }, - ], - }, - ], - loggedTypes: [ - { - logId: 0, - loggedType: { - name: '', - type: 6, - typeArguments: [], - }, + "name": "storage", + "arguments": [ + "read" + ] + } + ] }, { - logId: 1, - loggedType: { - name: '', - type: 6, - typeArguments: [], - }, - }, - { - logId: 2, - loggedType: { - name: '', - type: 10, - typeArguments: null, - }, - }, - { - logId: 3, - loggedType: { - name: '', - type: 10, - typeArguments: null, - }, - }, - { - logId: 4, - loggedType: { - name: '', - type: 10, - typeArguments: null, - }, - }, - { - logId: 5, - loggedType: { - name: '', - type: 10, - typeArguments: null, + "inputs": [ + { + "name": "indexes", + "type": 24, + "typeArguments": [ + { + "name": "", + "type": 25, + "typeArguments": null + } + ] + } + ], + "name": "harvest", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, - }, - { - logId: 6, - loggedType: { - name: '', - type: 6, - typeArguments: [], + "attributes": [ + { + "name": "storage", + "arguments": [ + "read", + "write" + ] + } + ] + }, + { + "inputs": [], + "name": "level_up", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, - }, - { - logId: 7, - loggedType: { - name: '', - type: 10, - typeArguments: null, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read", + "write" + ] + } + ] + }, + { + "inputs": [], + "name": "new_player", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read", + "write" + ] + } + ] }, { - logId: 8, - loggedType: { - name: '', - type: 6, - typeArguments: [], + "inputs": [ + { + "name": "food_type", + "type": 4, + "typeArguments": null + }, + { + "name": "index", + "type": 25, + "typeArguments": null + } + ], + "name": "plant_seed_at_index", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read", + "write" + ] + } + ] }, { - logId: 9, - loggedType: { - name: '', - type: 6, - typeArguments: [], + "inputs": [ + { + "name": "food_type", + "type": 4, + "typeArguments": null + }, + { + "name": "amount", + "type": 25, + "typeArguments": null + } + ], + "name": "sell_item", + "output": { + "name": "", + "type": 0, + "typeArguments": null }, - }, + "attributes": [ + { + "name": "storage", + "arguments": [ + "read", + "write" + ] + } + ] + } + ], + "loggedTypes": [ + { + "logId": "9629041069892043071", + "loggedType": { + "name": "", + "type": 6, + "typeArguments": [] + } + }, + { + "logId": "5635241471306563277", + "loggedType": { + "name": "", + "type": 13, + "typeArguments": [] + } + }, + { + "logId": "10098701174489624218", + "loggedType": { + "name": "", + "type": 10, + "typeArguments": null + } + }, + { + "logId": "9571889411291565070", + "loggedType": { + "name": "", + "type": 17, + "typeArguments": [] + } + }, + { + "logId": "9956391856148830557", + "loggedType": { + "name": "", + "type": 18, + "typeArguments": [] + } + }, + { + "logId": "169340015036328252", + "loggedType": { + "name": "", + "type": 19, + "typeArguments": [] + } + }, + { + "logId": "3925692269668348193", + "loggedType": { + "name": "", + "type": 20, + "typeArguments": [] + } + }, + { + "logId": "11192939610819626128", + "loggedType": { + "name": "", + "type": 23, + "typeArguments": [] + } + } ], - messagesTypes: [], - configurables: [], + "messagesTypes": [], + "configurables": [] }; const _storageSlots: StorageSlot[] = []; @@ -713,14 +827,14 @@ export class ContractAbi__factory { static readonly storageSlots = _storageSlots; static createInterface(): ContractAbiInterface { - return new Interface(_abi) as unknown as ContractAbiInterface; + return new Interface(_abi) as unknown as ContractAbiInterface } static connect( id: string | AbstractAddress, accountOrProvider: Account | Provider ): ContractAbi { - return new Contract(id, _abi, accountOrProvider) as unknown as ContractAbi; + return new Contract(id, _abi, accountOrProvider) as unknown as ContractAbi } static async deployContract( diff --git a/frontend/src/sway-api/contracts/index.ts b/frontend/src/sway-api/contracts/index.ts index 315f8e9..4d1f82c 100644 --- a/frontend/src/sway-api/contracts/index.ts +++ b/frontend/src/sway-api/contracts/index.ts @@ -4,9 +4,9 @@ /* eslint-disable */ /* - Fuels version: 0.73.0 - Forc version: 0.49.2 - Fuel-Core version: 0.22.0 + Fuels version: 0.88.0 + Forc version: 0.59.0 + Fuel-Core version: 0.26.0 */ export type { ContractAbi } from './ContractAbi';