From a64c95f8baf212a0db66b2e8642af910068ddaf0 Mon Sep 17 00:00:00 2001 From: David Patrick Chuks <161928481+David-patrick-chuks@users.noreply.github.com> Date: Wed, 1 Oct 2025 13:49:25 +0100 Subject: [PATCH] feat: implement cancel_campaign function in CampaignManagement trait- Add complete cancel_campaign implementation with admin authorization- Implement campaign retrieval, status validation, and storage updates- Add event emission for campaign cancellation- Include comprehensive error handling for all scenarios- Add 6 comprehensive test cases covering success and failure scenarios- Fix storage access issues in tests using env.as_contract()- Resolve Symbol creation errors and syntax issuesCloses #13 --- contracts/boundless/src/datatypes.rs | 9 +- contracts/boundless/src/logic/campaign.rs | 34 +- contracts/boundless/src/tests/campaign.rs | 235 +++++++++++ contracts/boundless/src/tests/mod.rs | 1 + .../tests/admin/test_upgrade.1.json | 20 +- .../tests/admin/test_upgrade_not_admin.1.json | 16 +- ...t_cancel_campaign_already_completed.1.json | 194 +++++++++ ...test_cancel_campaign_already_failed.1.json | 194 +++++++++ .../test_cancel_campaign_not_found.1.json | 195 +++++++++ ...test_cancel_campaign_pending_status.1.json | 373 ++++++++++++++++++ .../test_cancel_campaign_success.1.json | 373 ++++++++++++++++++ .../test_cancel_campaign_unauthorized.1.json | 194 +++++++++ 12 files changed, 1812 insertions(+), 26 deletions(-) create mode 100644 contracts/boundless/src/tests/campaign.rs create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_completed.1.json create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_failed.1.json create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_not_found.1.json create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_pending_status.1.json create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_success.1.json create mode 100644 contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_unauthorized.1.json diff --git a/contracts/boundless/src/datatypes.rs b/contracts/boundless/src/datatypes.rs index 289c2b0..62f0929 100644 --- a/contracts/boundless/src/datatypes.rs +++ b/contracts/boundless/src/datatypes.rs @@ -1,4 +1,4 @@ -use soroban_sdk::{contracterror, contracttype, Address, Symbol, Vec}; +use soroban_sdk::{contracterror, contracttype, contractevent, Address, Symbol, Vec}; #[contracttype] pub enum DataKey { @@ -182,3 +182,10 @@ pub enum BoundlessError { /// Escrow contract not found EscrowNotFound = 15, } +// Events +#[contractevent] +pub struct CampaignCancelled { + pub campaign_id: u64, + pub admin: Address, +} + diff --git a/contracts/boundless/src/logic/campaign.rs b/contracts/boundless/src/logic/campaign.rs index 80910a4..516aeb3 100644 --- a/contracts/boundless/src/logic/campaign.rs +++ b/contracts/boundless/src/logic/campaign.rs @@ -1,5 +1,5 @@ use crate::datatypes::{Backer, BoundlessError, Campaign, Milestone, Status}; -use crate::interface::CampaignManagement; +use crate::interface::{CampaignManagement, ContractManagement}; use crate::{BoundlessContract, BoundlessContractArgs, BoundlessContractClient}; use soroban_sdk::{contractimpl, Address, Env, Symbol, Vec}; @@ -66,12 +66,32 @@ impl CampaignManagement for BoundlessContract { } fn cancel_campaign(env: Env, campaign_id: u64, admin: Address) -> Result<(), BoundlessError> { - // TODO: cancel campaign logic - // - Verify admin authorization - // - Get campaign from storage - // - Update status to Failed - // - Store updated campaign - // - Emit cancellation event + admin.require_auth(); + let contract_admin = ::get_admin(&env); + if admin != contract_admin { + return Err(BoundlessError::Unauthorized); + } + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + let mut campaign: Campaign = env + .storage() + .persistent() + .get(&campaign_key) + .ok_or(BoundlessError::CampaignNotFound)?; + + match campaign.status { + Status::Completed => return Err(BoundlessError::InvalidOperation), + Status::Failed => return Err(BoundlessError::InvalidOperation), + _ => {} + } + + campaign.status = Status::Failed; + env.storage().persistent().set(&campaign_key, &campaign); + env.events().publish( + (Symbol::new(&env, "campaign"), Symbol::new(&env, "stop")), + (campaign_id, admin), + ); + Ok(()) } diff --git a/contracts/boundless/src/tests/campaign.rs b/contracts/boundless/src/tests/campaign.rs new file mode 100644 index 0000000..1cf8b32 --- /dev/null +++ b/contracts/boundless/src/tests/campaign.rs @@ -0,0 +1,235 @@ +#![cfg(test)] + +use crate::{ + datatypes::{Campaign, Status}, + BoundlessContract, BoundlessContractClient, +}; +use soroban_sdk::{ + testutils::Address as _, + Address, Env, Symbol, Vec, +}; + +extern crate std; +mod boundless { + soroban_sdk::contractimport!(file = "../../target/wasm32v1-none/release/boundless.wasm"); +} + +#[test] +fn test_cancel_campaign_success() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + + let campaign_id = 1u64; + let owner: Address = Address::generate(&env); + let title = Symbol::new(&env, "TestCampaign"); + let description = Symbol::new(&env, "TestDescription"); + let funding_goal = 1000i128; + let escrow_contract_id = Address::generate(&env); + let milestones = Vec::new(&env); + let backers = Vec::new(&env); + + let campaign = Campaign { + id: campaign_id, + owner: owner.clone(), + title: title.clone(), + description: description.clone(), + funding_goal, + escrow_contract_id: escrow_contract_id.clone(), + milestones, + backers, + status: Status::Active, + }; + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + env.as_contract(&contract_id, || { + env.storage().persistent().set(&campaign_key, &campaign); + }); + + contract.cancel_campaign(&campaign_id, &admin); + + let updated_campaign: Campaign = env.as_contract(&contract_id, || { + env.storage().persistent().get(&campaign_key).unwrap() + }); + assert_eq!(updated_campaign.status, Status::Failed); +} + +#[test] +#[should_panic] +fn test_cancel_campaign_unauthorized() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let unauthorized_user = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + + let campaign_id = 1u64; + let owner = Address::generate(&env); + let title = Symbol::new(&env, "TestCampaign"); + let description = Symbol::new(&env, "TestDescription"); + let funding_goal = 1000i128; + let escrow_contract_id = Address::generate(&env); + let milestones = Vec::new(&env); + let backers = Vec::new(&env); + + let campaign = Campaign { + id: campaign_id, + owner: owner.clone(), + title: title.clone(), + description: description.clone(), + funding_goal, + escrow_contract_id: escrow_contract_id.clone(), + milestones, + backers, + status: Status::Active, + }; + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + env.storage().persistent().set(&campaign_key, &campaign); + + contract.cancel_campaign(&campaign_id, &unauthorized_user); +} + +#[test] +#[should_panic] +fn test_cancel_campaign_not_found() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + contract.cancel_campaign(&999u64, &admin); +} + +#[test] +#[should_panic] +fn test_cancel_campaign_already_completed() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + + let campaign_id = 1u64; + let owner = Address::generate(&env); + let title = Symbol::new(&env, "TestCampaign"); + let description = Symbol::new(&env, "TestDescription"); + let funding_goal = 1000i128; + let escrow_contract_id = Address::generate(&env); + let milestones = Vec::new(&env); + let backers = Vec::new(&env); + + let campaign = Campaign { + id: campaign_id, + owner: owner.clone(), + title: title.clone(), + description: description.clone(), + funding_goal, + escrow_contract_id: escrow_contract_id.clone(), + milestones, + backers, + status: Status::Completed, + }; + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + env.storage().persistent().set(&campaign_key, &campaign); + contract.cancel_campaign(&campaign_id, &admin); +} + +#[test] +#[should_panic] +fn test_cancel_campaign_already_failed() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + + let campaign_id = 1u64; + let owner = Address::generate(&env); + let title = Symbol::new(&env, "TestCampaign"); + let description = Symbol::new(&env, "TestDescription"); + let funding_goal = 1000i128; + let escrow_contract_id = Address::generate(&env); + let milestones = Vec::new(&env); + let backers = Vec::new(&env); + + let campaign = Campaign { + id: campaign_id, + owner: owner.clone(), + title: title.clone(), + description: description.clone(), + funding_goal, + escrow_contract_id: escrow_contract_id.clone(), + milestones, + backers, + status: Status::Failed, + }; + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + env.storage().persistent().set(&campaign_key, &campaign); + contract.cancel_campaign(&campaign_id, &admin); +} + +#[test] +fn test_cancel_campaign_pending_status() { + let env = Env::default(); + env.mock_all_auths(); + + let admin = Address::generate(&env); + let contract_id = env.register(BoundlessContract, ()); + let contract = BoundlessContractClient::new(&env, &contract_id); + + contract.initialize(&admin); + + let campaign_id = 1u64; + let owner = Address::generate(&env); + let title = Symbol::new(&env, "TestCampaign"); + let description = Symbol::new(&env, "TestDescription"); + let funding_goal = 1000i128; + let escrow_contract_id = Address::generate(&env); + let milestones = Vec::new(&env); + let backers = Vec::new(&env); + + let campaign = Campaign { + id: campaign_id, + owner: owner.clone(), + title: title.clone(), + description: description.clone(), + funding_goal, + escrow_contract_id: escrow_contract_id.clone(), + milestones, + backers, + status: Status::Pending, + }; + + let campaign_key = crate::datatypes::DataKey::Campaign(campaign_id); + env.as_contract(&contract_id, || { + env.storage().persistent().set(&campaign_key, &campaign); + }); + + contract.cancel_campaign(&campaign_id, &admin); + + let updated_campaign: Campaign = env.as_contract(&contract_id, || { + env.storage().persistent().get(&campaign_key).unwrap() + }); + assert_eq!(updated_campaign.status, Status::Failed); +} diff --git a/contracts/boundless/src/tests/mod.rs b/contracts/boundless/src/tests/mod.rs index 97d28b5..0343b8b 100644 --- a/contracts/boundless/src/tests/mod.rs +++ b/contracts/boundless/src/tests/mod.rs @@ -1,4 +1,5 @@ #![cfg(test)] pub mod admin; +pub mod campaign; pub mod milestone; diff --git a/contracts/boundless/test_snapshots/tests/admin/test_upgrade.1.json b/contracts/boundless/test_snapshots/tests/admin/test_upgrade.1.json index 3940e1e..a7aeff5 100644 --- a/contracts/boundless/test_snapshots/tests/admin/test_upgrade.1.json +++ b/contracts/boundless/test_snapshots/tests/admin/test_upgrade.1.json @@ -17,7 +17,7 @@ "function_name": "upgrade", "args": [ { - "bytes": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112" + "bytes": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b" } ] } @@ -208,7 +208,7 @@ "val": { "contract_instance": { "executable": { - "wasm": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112" + "wasm": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b" }, "storage": null } @@ -223,7 +223,7 @@ [ { "contract_code": { - "hash": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112" + "hash": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b" } }, [ @@ -236,21 +236,21 @@ "ext": "v0", "cost_inputs": { "ext": "v0", - "n_instructions": 1846, - "n_functions": 46, + "n_instructions": 5990, + "n_functions": 162, "n_globals": 4, "n_table_entries": 1, - "n_types": 17, + "n_types": 26, "n_data_segments": 1, "n_elem_segments": 0, - "n_imports": 16, + "n_imports": 18, "n_exports": 46, - "n_data_segment_bytes": 188 + "n_data_segment_bytes": 1320 } } }, - "hash": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112", - "code": "0061736d01000000015f1160017e017e60027e7e017e6000017e60037e7e7e017e60027f7e0060017e017f60027f7f0060037e7f7f017e60027f7f017f60017f0060027e7e0060017f017e60037f7f7f006000017f60000060047e7e7e7e017e60057e7e7e7e7e017e0261100169013000000176013300000169015f0000017601670001016201380000016101300000016c013600000176015f00020169013800000169013700000176013100010162016a00010162016d0003016c01300001016c01310001016c015f0003032f2e040506070809000a0b0c0400050000020d0e02020e0e0f040301000103001001000310000f0f03030f0f0f0f03010405017001010105030100110621047f01418080c0000b7f0041bc81c0000b7f0041bc81c0000b7f0041c081c0000b07d7062e066d656d6f727902000a696e697469616c697a65001b0775706772616465001e096765745f61646d696e00220b6765745f76657273696f6e00230f6372656174655f63616d706169676e00260d66756e645f63616d706169676e00280d72656c656173655f66756e647300290c6765745f63616d706169676e002a0f63616e63656c5f63616d706169676e002b167570646174655f63616d706169676e5f737461747573002c146765745f63616d706169676e5f6261636b657273002d0c6372656174655f6772616e74002e0e6170706c795f746f5f6772616e74002f096765745f6772616e7400301473656c6563745f6772616e745f77696e6e6572730031106372656174655f6861636b6174686f6e00320d6765745f6861636b6174686f6e0033156a756467655f6861636b6174686f6e5f656e7472790034136164645f6861636b6174686f6e5f6a7564676500351672656d6f76655f6861636b6174686f6e5f6a7564676500361172656c656173655f6d696c6573746f6e650037107570646174655f6d696c6573746f6e65003811617070726f76655f6d696c6573746f6e6500390d72616973655f64697370757465003a106372656174655f6d696c6573746f6e65003b0d6765745f6d696c6573746f6e65003c156765745f656e746974795f6d696c6573746f6e6573003d015f03011873656c6563745f6861636b6174686f6e5f77696e6e6572730031156765745f6861636b6174686f6e5f656e7472696573002d156765745f6861636b6174686f6e5f77696e6e657273002d11636f6d706c6574655f63616d706169676e002b0e636f6d706c6574655f6772616e74002b0c63616e63656c5f6772616e74002b167375626d69745f6861636b6174686f6e5f656e747279002f12636f6d706c6574655f6861636b6174686f6e002b1063616e63656c5f6861636b6174686f6e002b137570646174655f6772616e745f737461747573002c177570646174655f6861636b6174686f6e5f737461747573002c146765745f6861636b6174686f6e5f6a7564676573002d1072656a6563745f6d696c6573746f6e650039116765745f6772616e745f77696e6e657273002d166765745f6772616e745f6170706c69636174696f6e73002d0a5f5f646174615f656e6403020b5f5f686561705f6261736503030ac6222e5d02017f017e024002402001a741ff0171220241c000460d00024020024106460d00420121034283908080800121010c020b20014208882101420021030c010b42002103200110808080800021010b20002003370300200020013703080b8b0203027f017e017f23808080800041206b2201248080808000410321020240200042ff018342cb00520d00200010818080800021032001410036020820012000370300200120034220883e020c200141106a200110928080800041032102200129031022004202510d002000a74101710d00024020012903182200a741ff0171220441ca00460d002004410e470d010b41032102024002400240200041a481c080004103109380808000422088a70e03000102030b2001280208200128020c1094808080000d02410021020c020b2001280208200128020c1094808080000d01410121020c010b2001280208200128020c1094808080000d00410221020b200141206a24808080800020020b4a02017e017f42022102024020012802082203200128020c4f0d00200020012903002003ad422086420484108a808080003703082001200341016a360208420021020b200020023703000b1c0020002001ad4220864204842002ad422086420484108c808080000b1900024020012000490d00200120006b0f0b10a180808000000b190042001096808080002000ad4220864204841097808080000bbd0101017f23808080800041106b22012480808080000240024002400240024002402000a70e03000102000b2001418080c08000410710998080800020012802000d0320012001290308109a808080000c020b2001418780c08000410b10998080800020012802000d0220012001290308109a808080000c010b2001419280c08000410510998080800020012802000d0120012001290308109a808080000b200129030821002001290300500d010b000b200141106a24808080800020000b0f00200020014201108f808080001a0b4d01017e024020002802004101470d002000280204417f6aad4220864283808080107c0f0b02402000290308220142ffffffffffffffff00560d0020014208864206840f0b20011082808080000bdb0102017e047f02400240200241094b0d004200210320022104200121050340024020040d002003420886420e8421030c030b41012106024020052d0000220741df00460d000240200741506a41ff0171410a490d000240200741bf7f6a41ff0171411a490d002007419f7f6a41ff017141194b0d04200741456a21060c020b2007414b6a21060c010b200741526a21060b20034206862006ad42ff01838421032004417f6a2104200541016a21050c000b0b2001ad4220864204842002ad422086420484108b8080800021030b20004200370300200020033703080b4f01017f23808080800041106b220224808080800020022001370308200241086aad42208642048442848080801010838080800021012000420037030020002001370308200241106a2480808080000b7701027e0240200042ff018342cd00520d000240024042011096808080002201109c80808000450d004283808080c00121022001109d80808000a741ff01710e020001020b42022102420210968080800020001097808080004101109580808000420110968080800042011097808080000b20020f0b000b0f0020004201108d808080004201510b0c0020004201108e808080000b6601017f02400240200042ff018342c800520d0020001084808080004280808080708342808080808004520d00109f808080001085808080001a20001086808080001a10a08080800041016a2201450d01200110958080800042020f0b000b10a180808000000b3b01017e0240024042021096808080002200109c80808000450d002000109d80808000220042ff018342cd00510d01000b10a480808000000b20000b4202017f017e410021000240024042001096808080002201109c80808000450d002001109d80808000220142ff01834204520d012001422088a721000b20000f0b000b090010a580808000000b0800109f808080000b0f0010a080808000ad4220864204840b090010a580808000000b0300000b940101027f23808080800041306b22042480808080000240200042ff018342cd00520d0002402001a741ff01712205410e460d00200541ca00470d010b02402002a741ff01712205410e460d00200541ca00470d010b200441106a200310a78080800020042802104101460d00200442003703082004410036020020041098808080002100200441306a24808080800020000f0b000b7d02017f017e02400240024002402001a741ff0171220241c500460d002002410b470d0220002001423f87370318200020014208873703100c010b200110888080800021032001108980808000210120002003370318200020013703100b420021010c010b200042839080808001370308420121010b200020013703000b5b01017f23808080800041206b220324808080800020032000109080808000024020032802004101460d00200142ff018342cd00520d002003200210a78080800020032802004101460d00200341206a24808080800042020f0b000b4f01017f23808080800041106b220224808080800020022000109080808000024020022802004101460d002002200110908080800020022802004101460d00200241106a24808080800042020f0b000b3e01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080200b4701017f23808080800041106b220224808080800020022000109080808000024020022802004101460d00200142ff018342cd00520d00200241106a24808080800042020f0b000bb00201027f23808080800041206b2203248080808000200341106a2000109080808000024020032802104101460d00200142ff018342cb00520d00200110818080800021002003410036020820032001370300200320004220883e020c200341106a2003109280808000200329031022014202510d002001a74101710d00024020032903182201a741ff0171220441ca00460d002004410e470d010b02400240024002400240200141cc80c080004104109380808000422088a70e0403000102050b2003280208200328020c109480808000450d030c040b2003280208200328020c1094808080000d030c020b2003280208200328020c1094808080000d020c010b2003280208200328020c1094808080000d010b200242ff018342cd00520d00200341206a24808080800042020f0b000b4201017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b1087808080002100200141106a24808080800020000b9c0101027f23808080800041206b22052480808080000240200042ff018342cd00520d0002402001a741ff01712206410e460d00200641ca00470d010b02402002a741ff01712206410e460d00200641ca00470d010b2005200310a78080800020052802004101460d00200442ff01834204520d00200541003602002005420037030820051098808080002100200541206a24808080800020000f0b000b5401027f23808080800041106b220224808080800020022000109080808000024020022802004101460d0002402001a741ff01712203410e460d00200341ca00470d010b200241106a24808080800042020f0b000b3e01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080300b5301017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200142ff018342cb00520d00200242ff018342cd00520d00200341106a24808080800042020f0b000bad0101027f23808080800041306b22052480808080000240200042ff018342cd00520d0002402001a741ff01712206410e460d00200641ca00470d010b02402002a741ff01712206410e460d00200641ca00470d010b02402003a741ff01712206410e460d00200641ca00470d010b200541106a200410a78080800020052802104101460d00200542003703082005410036020020051098808080002100200541306a24808080800020000f0b000b3f01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080c0000b6b01027f23808080800041106b220424808080800020042000109080808000024020042802004101460d0002402001a741ff01712205410e460d00200541ca00470d010b200242ff01834204520d00200342ff018342cd00520d00200441106a24808080800042020f0b000b6c01027f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200142ff018342cd00520d0002402002a741ff01712205410e460d00200541ca00470d010b200342ff018342cd00520d00200441106a24808080800042020f0b000b5301017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200142ff018342cd00520d00200242ff018342cd00520d00200341106a24808080800042020f0b000b6001017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200110918080800041ff01714103460d002003200210908080800020032802004101460d00200341106a24808080800042020f0b000bcc0201027f23808080800041206b2204248080808000200441106a2000109080808000024020042802104101460d00200110918080800041ff01714103460d00200441106a200210908080800020042802104101460d00200342ff018342cb00520d00200310818080800021002004410036020820042003370300200420004220883e020c200441106a2004109280808000200429031022034202510d002003a74101710d00024020042903182203a741ff0171220541ca00460d002005410e470d010b024002400240024002402003418481c080004104109380808000422088a70e0403000102050b2004280208200428020c109480808000450d030c040b2004280208200428020c1094808080000d030c020b2004280208200428020c1094808080000d020c010b2004280208200428020c1094808080000d010b200441206a24808080800042020f0b000b6c01017f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200110918080800041ff01714103460d002004200210908080800020042802004101460d00200342ff018342cd00520d00200441106a24808080800042020f0b000b7901027f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200110918080800041ff01714103460d002004200210908080800020042802004101460d0002402003a741ff01712205410e460d00200541ca00470d010b200441106a24808080800042020f0b000b970101027f23808080800041306b2204248080808000200441106a2000109080808000024020042802104101460d00200110918080800041ff01714103460d0002402002a741ff01712205410e460d00200541ca00470d010b200441106a200310a78080800020042802104101460d00200442003703082004410036020020041098808080002100200441306a24808080800020000f0b000b6501017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200110918080800041ff01714103460d002003200210908080800020032802004101460d00200341106a2480808080004283808080d0000f0b000b5401017f23808080800041106b220224808080800020022000109080808000024020022802004101460d00200110918080800041ff01714103460d001087808080002100200241106a24808080800020000f0b000b0bc6010100418080c0000bbc0156657273696f6e496e697469616c697a656441646d696e43616d706169676e4772616e744861636b6174686f6e50656e64696e67416374697665436f6d706c657465644661696c65640000002d0010000700000034001000060000003a001000090000004300100006000000417070726f76656452656a656374656452656c65617365642d001000070000006c0010000800000074001000080000007c0010000800000017001000080000001f00100005000000240010000900000000a3420e636f6e747261637473706563763000000002000000000000000000000007446174614b6579000000000d00000000000000000000000756657273696f6e0000000000000000000000000b496e697469616c697a65640000000000000000000000000541646d696e00000000000000000000000000000943616d706169676e7300000000000001000000000000000843616d706169676e00000001000000060000000000000000000000064772616e747300000000000100000000000000054772616e74000000000000010000000600000000000000000000000a4861636b6174686f6e7300000000000100000000000000094861636b6174686f6e000000000000010000000600000001000000000000000f43616d706169676e4261636b6572730000000001000000060000000100000000000000114772616e744170706c69636174696f6e7300000000000001000000060000000100000000000000104861636b6174686f6e456e7472696573000000010000000600000001000000000000000f4861636b6174686f6e4a75646765730000000001000000060000000200000000000000000000000653746174757300000000000400000000000000000000000750656e64696e67000000000000000000000000064163746976650000000000000000000000000009436f6d706c657465640000000000000000000000000000064661696c656400000000000200000000000000000000000f4d696c6573746f6e65537461747573000000000400000000000000000000000750656e64696e6700000000000000000000000008417070726f76656400000000000000000000000852656a656374656400000000000000000000000852656c65617365640000000200000000000000000000000a456e746974795479706500000000000300000000000000000000000843616d706169676e0000000000000000000000054772616e740000000000000000000000000000094861636b6174686f6e0000000000000100000000000000000000000843616d706169676e0000000900000000000000076261636b65727300000003ea000007d0000000064261636b65720000000000000000000b6465736372697074696f6e00000000110000000000000009657363726f775f696400000000000011000000000000000c66756e64696e675f676f616c0000000b00000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000056f776e65720000000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000010000000000000000000000054772616e740000000000000a000000000000000c6170706c69636174696f6e73000003ea000007d0000000104772616e744170706c69636174696f6e000000000000000b6465736372697074696f6e000000001100000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e65000000000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea00000013000000000000000773706f6e736f72000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000000000000777696e6e6572730000000004000000010000000000000000000000094861636b6174686f6e0000000000000b000000000000000b6465736372697074696f6e00000000110000000000000007656e747269657300000003ea000007d00000000e4861636b6174686f6e456e74727900000000000000000002696400000000000600000000000000066a75646765730000000003ea000007d0000000054a75646765000000000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000096f7267616e697a657200000000000013000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea0000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057468656d650000000000001100000000000000057469746c6500000000000011000000010000000000000000000000094d696c6573746f6e65000000000000060000000000000006616d6f756e7400000000000b000000000000000b6465736372697074696f6e00000000110000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e746974795479706500000000000000000002696400000000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e6553746174757300000000010000000000000000000000064261636b65720000000000020000000000000006616d6f756e7400000000000b000000000000000677616c6c6574000000000013000000010000000000000000000000104772616e744170706c69636174696f6e0000000300000000000000096170706c6963616e7400000000000013000000000000000770726f6a6563740000000011000000000000000f7375626d697373696f6e5f74696d6500000000060000000100000000000000000000000e4861636b6174686f6e456e747279000000000004000000000000000b7061727469636970616e740000000013000000000000000770726f6a6563740000000011000000000000000573636f7265000000000003e800000004000000000000000f7375626d697373696f6e5f74696d650000000006000000010000000000000000000000054a7564676500000000000002000000000000000761646472657373000000001300000000000000046e616d65000000110000000400000000000000000000000e426f756e646c6573734572726f7200000000000c00000025496e76616c6964207573657220617574686f72697a6174696f6e20666f7220616374696f6e0000000000000c556e617574686f72697a6564000000010000002943616d706169676e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000001043616d706169676e4e6f74466f756e6400000002000000264772616e7420776974682074686520676976656e20494420646f6573206e6f7420657869737400000000000d4772616e744e6f74466f756e64000000000000030000002a4861636b6174686f6e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114861636b6174686f6e4e6f74466f756e64000000000000040000002a4d696c6573746f6e6520776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114d696c6573746f6e654e6f74466f756e640000000000000500000020496e76616c69642073746174757320666f7220746865206f7065726174696f6e0000000d496e76616c69645374617475730000000000000600000013496e76616c696420656e7469747920747970650000000011496e76616c6964456e74697479547970650000000000000700000017457363726f77206f7065726174696f6e206661696c6564000000000b457363726f774572726f7200000000080000001a4d696c6573746f6e65206f7065726174696f6e206661696c656400000000000e4d696c6573746f6e654572726f72000000000009000000125265736f75726365206e6f7420666f756e640000000000084e6f74466f756e640000000a00000024496e76616c6964206f7065726174696f6e20666f722063757272656e742073746174757300000010496e76616c69644f7065726174696f6e0000000b00000013416c726561647920696e697469616c697a65640000000012416c7265616479496e697469616c697a656400000000000c00000000000000000000000a696e697469616c697a65000000000001000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000007757067726164650000000001000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f61646d696e00000000000000000000010000001300000000000000000000000b6765745f76657273696f6e0000000000000000010000000400000000000000000000000f6372656174655f63616d706169676e000000000400000000000000056f776e65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004676f616c0000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d66756e645f63616d706169676e00000000000003000000000000000b63616d706169676e5f6964000000000600000000000000066261636b65720000000000130000000000000006616d6f756e7400000000000b00000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72656c656173655f66756e647300000000000002000000000000000b63616d706169676e5f69640000000006000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6765745f63616d706169676e00000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000007d00000000843616d706169676e000007d00000000e426f756e646c6573734572726f720000000000000000000000000011636f6d706c6574655f63616d706169676e00000000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000f63616e63656c5f63616d706169676e0000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167570646174655f63616d706169676e5f737461747573000000000003000000000000000b63616d706169676e5f6964000000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f63616d706169676e5f6261636b65727300000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000003ea000007d0000000064261636b65720000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6372656174655f6772616e7400000005000000000000000773706f6e736f72000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004706f6f6c0000000b000000000000000777696e6e657273000000000400000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e6170706c795f746f5f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f6772616e740000000000000100000000000000086772616e745f69640000000600000001000003e9000007d0000000054772616e74000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e636f6d706c6574655f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c63616e63656c5f6772616e740000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001473656c6563745f6772616e745f77696e6e6572730000000300000000000000086772616e745f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000166765745f6772616e745f6170706c69636174696f6e7300000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000116765745f6772616e745f77696e6e6572730000000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000137570646174655f6772616e745f737461747573000000000300000000000000086772616e745f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6861636b6174686f6e0000000500000000000000096f7267616e697a65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e000000001100000000000000057468656d6500000000000011000000000000000a7072697a655f706f6f6c00000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167375626d69745f6861636b6174686f6e5f656e747279000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6861636b6174686f6e00000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000007d0000000094861636b6174686f6e000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000012636f6d706c6574655f6861636b6174686f6e000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001063616e63656c5f6861636b6174686f6e00000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156a756467655f6861636b6174686f6e5f656e74727900000000000004000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a6563740000000011000000000000000573636f72650000000000000400000000000000056a756467650000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001873656c6563745f6861636b6174686f6e5f77696e6e65727300000003000000000000000c6861636b6174686f6e5f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f656e747269657300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f77696e6e65727300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000177570646174655f6861636b6174686f6e5f7374617475730000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000136164645f6861636b6174686f6e5f6a756467650000000004000000000000000c6861636b6174686f6e5f69640000000600000000000000056a756467650000000000001300000000000000046e616d6500000011000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001672656d6f76655f6861636b6174686f6e5f6a75646765000000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000056a7564676500000000000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f6861636b6174686f6e5f6a756467657300000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea000007d0000000054a75646765000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001172656c656173655f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000107570646174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e655374617475730000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000011617070726f76655f6d696c6573746f6e65000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000008617070726f7665720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001072656a6563745f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f696400000006000000000000000872656a6563746f720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72616973655f64697370757465000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000006726561736f6e00000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000b6465736372697074696f6e00000000110000000000000006616d6f756e7400000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f656e746974795f6d696c6573746f6e6573000000000000020000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e7469747954797065000000000001000003e9000003ea000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f720000001e11636f6e7472616374656e766d6574617630000000000000001700000000006f0e636f6e74726163746d65746176300000000000000005727376657200000000000006312e39302e3000000000000000000008727373646b7665720000002f32332e302e32236139376461663862303763646632346539626434356533343464623531613231623965613737643300" + "hash": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b", + "code": "0061736d0100000001a5011a60027e7e017e60037e7e7e017e60017e017e6000017e60037f7f7f0060027f7f017f60027f7e0060027f7f017e60047f7f7f7e0060017f017e60017e017f60017f017f60000060067e7e7e7e7e7e017e60057e7e7e7e7e017e60047e7e7e7e017e60027f7f0060017f0060057f7f7f7f7f017e60037f7f7f017e60047f7e7f7f017e60037f7e7e017f60037f7e7e017e60027f7e017e60047f7e7e7e017e60037f7e7e00026d120162016a0000016d013900010176016700000162016d00010169015f00020169013000020169013600000169013700020169013800020176015f0003017601310000017601330002016c015f0001016c01300000016c01310000016c0136000201620138000201610130000203a401a2010405050504060507040404080408040804090704070704070707040704040404020a02020a02030903030b030c0d0d0101000002020000010102020e0e0000020201010e0e02020f0f0f0f010101010f0f0f0f0f0f0f0f01010000040404040404040406100b040604040404040404110707070c1213140411111516091709181709131213141717161717091617181616171717030410020a090a0606190a1011110405017001010105030100110621047f01418080c0000b7f0041c889c0000b7f0041a88ac0000b7f0041b08ac0000b07d7062e066d656d6f727902000a696e697469616c697a65003407757067726164650037096765745f61646d696e003a0b6765745f76657273696f6e003d0f6372656174655f63616d706169676e00400d66756e645f63616d706169676e00420d72656c656173655f66756e647300440c6765745f63616d706169676e00460f63616e63656c5f63616d706169676e0047167570646174655f63616d706169676e5f7374617475730049146765745f63616d706169676e5f6261636b657273004b0c6372656174655f6772616e74004e0e6170706c795f746f5f6772616e740050096765745f6772616e7400521473656c6563745f6772616e745f77696e6e6572730054106372656174655f6861636b6174686f6e00560d6765745f6861636b6174686f6e0058156a756467655f6861636b6174686f6e5f656e747279005a136164645f6861636b6174686f6e5f6a75646765005c1672656d6f76655f6861636b6174686f6e5f6a75646765005e1172656c656173655f6d696c6573746f6e650060107570646174655f6d696c6573746f6e65006211617070726f76655f6d696c6573746f6e6500630d72616973655f646973707574650066106372656174655f6d696c6573746f6e6500680d6765745f6d696c6573746f6e65006a156765745f656e746974795f6d696c6573746f6e6573006c1072656a6563745f6d696c6573746f6e65006311636f6d706c6574655f63616d706169676e00470e636f6d706c6574655f6772616e7400470c63616e63656c5f6772616e740047167375626d69745f6861636b6174686f6e5f656e747279005012636f6d706c6574655f6861636b6174686f6e00471063616e63656c5f6861636b6174686f6e0047166765745f6772616e745f6170706c69636174696f6e73004b116765745f6772616e745f77696e6e657273004b156765745f6861636b6174686f6e5f656e7472696573004b156765745f6861636b6174686f6e5f77696e6e657273004b146765745f6861636b6174686f6e5f6a7564676573004b137570646174655f6772616e745f7374617475730049177570646174655f6861636b6174686f6e5f73746174757300491873656c6563745f6861636b6174686f6e5f77696e6e6572730054015f03010a5f5f646174615f656e6403020b5f5f686561705f6261736503030ac874a2016401027e02400240024020022903002203a741ff0171220241c000460d0020024106470d0142002104200310a98180800021030c020b4200210420012003108f8180800021030c010b4201210410a68180800021030b20002004370300200020033703080baa0202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041042101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d004104210102400240024002402000200229032841e082c08000410410888180800010ac818080000e0400010203050b200241086a10f7808080000d04410021010c040b200241086a10f7808080000d03410121010c030b200241086a10f7808080000d02410221010c020b200241086a10f7808080000d01410321010c010b410421010b200241306a24808080800020010baa0202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041042101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d004104210102400240024002402000200229032841b883c08000410410888180800010ac818080000e0400010203050b200241086a10f7808080000d04410021010c040b200241086a10f7808080000d03410121010c030b200241086a10f7808080000d02410221010c020b200241086a10f7808080000d01410321010c010b410421010b200241306a24808080800020010b930202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041032101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d00410321010240024002402000200229032841f083c08000410310888180800010ac818080000e03000102040b200241086a10f7808080000d03410021010c030b200241086a10f7808080000d02410121010c020b200241086a10f7808080000d01410221010c010b410321010b200241306a24808080800020010b4602017f017e23808080800041106b220324808080800020032001200210f180808000200329030821042000200329030037030020002004370308200341106a2480808080000b3b01017f23808080800041106b2202248080808000200220013703082000200241086a1093818080001092818080001a200241106a2480808080000b4d02017f017e41022102024020002000200110998080800022034201108c81808000450d004101210202400240200020034201108d81808000a741ff01710e020102000b000b410021020b20020b810c02027f017e23808080800041306b2202248080808000200141086a21030240024002400240024002400240024002400240024002400240024002400240024020012802000e0f000102030405060708090a0b0c0d0e000b200241206a2000419880c0800010fe8080800020022802200d0f200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0e0b200241206a200041ac80c0800010fe8080800020022802200d0e200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0d0b200241206a200041bc80c0800010fe8080800020022802200d0d200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0c0b200241206a200041d080c0800010fe8080800020022802200d0c200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0b0b200241206a200041e080c0800010fe8080800020022802200d0b20022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d0b2002200229032837031020022004370308200241206a200241086a200010ff808080000c0a0b200241206a200041f080c0800010fe8080800020022802200d0a200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c090b200241206a2000418081c0800010fe8080800020022802200d0920022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d092002200229032837031020022004370308200241206a200241086a200010ff808080000c080b200241206a2000419481c0800010fe8080800020022802200d08200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c070b200241206a200041a881c0800010fe8080800020022802200d0720022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d072002200229032837031020022004370308200241206a200241086a200010ff808080000c060b200241206a200041c081c0800010fe8080800020022802200d0620022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d062002200229032837031020022004370308200241206a200241086a200010ff808080000c050b200241206a200041dc81c0800010fe8080800020022802200d0520022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d052002200229032837031020022004370308200241206a200241086a200010ff808080000c040b200241206a200041f481c0800010fe8080800020022802200d0420022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d042002200229032837031020022004370308200241206a200241086a200010ff808080000c030b200241206a2000418c82c0800010fe8080800020022802200d0320022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d032002200229032837031020022004370308200241206a200241086a200010ff808080000c020b200241206a200041a482c0800010fe8080800020022802200d0220022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d022002200229032837031020022004370308200241206a200241086a200010ff808080000c010b200241206a200041bc82c0800010fe8080800020022802200d0120022002290328370318200241186a1093818080002104200241206a2003200010fa8080800020022802200d012002200229032837031020022004370308200241206a200241086a200010ff808080000b20022903282104200229032050450d00200241306a24808080800020040f0b000b900102017f017e23808080800041206b220324808080800002400240024020012001200210998080800022044201108c818080000d00200042003703000c010b2003200120044201108d81808000370308200341106a2001200341086a10898180800020032802104101460d012003290318210420004201370300200020043703080b200341206a2480808080000f0b000b5e01017e02400240024020012001200210998080800022034201108c818080000d00410021010c010b200120034201108d81808000220342ff01834204520d012003422088a72102410121010b20002002360204200020013602000f0b000b10002000200120024201109d808080000b21002000200020011099808080002002200010838180800020031091818080001a0b10002000200120024201109f808080000b21002000200020011099808080002002200010848180800020031091818080001a0b1000200020012002420110a1808080000b21002000200020011099808080002002200010828180800020031091818080001a0b7302017f027e23808080800041106b220324808080800020032002200110fb808080000240024020032802000d00200320032903083703004200210420012003410110878180800021050c010b4201210410a68180800021050b2000200437030020002005370308200341106a2480808080000b15002000280200417f6aad4220864283808080107c0b6502017f017e23808080800041106b22022480808080000240024020012d004c4104460d0020022000200110a580808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030bf00202017f0a7e23808080800041d0006b2203248080808000200229033821042003200241286a200110fa8080800042012105024020032802000d002003290308210620032001200241106a10968080800020032802000d00200329030821072002290330210820032001200210ef8080800020032802000d00200329030821092002290340210a2003200241186a200110fa8080800020032802000d002003290308210b2003200241cc006a200110af8080800020032802000d002003290308210c2003200241206a200110fa8080800020032802000d002003290308210d20032001200241c8006a10ed8080800020032802000d00200320032903083703482003200d3703402003200c3703382003200b3703302003200a37032820032009370320200320083703182003200737031020032006370308200320043703002000200141d085c08000410a2003410a108681808000370308420021050b20002005370300200341d0006a2480808080000b1d00024020012802000d0020012903080f0b200141046a10a3808080000b6502017f017e23808080800041106b22022480808080000240024020012d00294103460d0020022000200110a880808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030b9e0202017f067e23808080800041306b220324808080800020032001200210ef8080800042012104024020032802000d00200329030821052003200241206a200110fa8080800020032802000d002003290308210620032001200241186a10968080800020032802000d00200329030821072003200241296a200110b18080800020032802000d002003290308210820032001200241106a10968080800020032802000d00200329030821092003200241286a200110b08080800020032802000d002003200329030837032820032009370320200320083703182003200737031020032006370308200320053703002000200141b087c08000410620034106108681808000370308420021040b20002004370300200341306a2480808080000b6802017f017e23808080800041106b220224808080800002400240024020012802004101470d00200141046a10a38080800021030c010b20022000200141086a10968080800020022802004101460d01200229030821030b200241106a24808080800020030f0b000b1700024020012802000d0042020f0b200110a3808080000b6502017f017e23808080800041106b22022480808080000240024020012d00484104460d0020022000200110ac80808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030bf90202017f097e23808080800041d0006b220324808080800020022903402104200341086a200241286a200110fa8080800042012105024020032802080d0020032903102106200341086a200241306a200110fa8080800020032802080d0020032903102107200341086a2001200210ef8080800020032802080d0020032903102108200341086a2001200241106a10968080800020032802080d00200329031021092002290338210a200341086a200241186a200110fa8080800020032802080d002003290310210b200341086a200241c8006a200110af8080800020032802080d002003290310210c200341086a200241206a200110fa8080800020032802080d00200320032903103703482003200c3703402003200b3703382003200a37033020032009370328200320083703202003200737031820032006370310200320043703082000200141d484c080004109200341086a4109108681808000370308420021050b20002005370300200341d0006a2480808080000b6502017f017e23808080800041106b22022480808080000240024020012d00584104460d0020022000200110ae80808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030b950302017f0b7e23808080800041e0006b2203248080808000200341086a200241286a200110fa8080800042012104024020032802080d002003290310210520022903402106200341086a2001200241106a10968080800020032802080d00200329031021072002290338210820022903482109200341086a200241186a200110fa8080800020032802080d002003290310210a200341086a2001200210ef8080800020032802080d002003290310210b2002290350210c200341086a200241d8006a200110af8080800020032802080d002003290310210d200341086a200241306a200110fa8080800020032802080d002003290310210e200341086a200241206a200110fa8080800020032802080d00200320032903103703582003200e3703502003200d3703482003200c3703402003200b3703382003200a37033020032008370328200320093703202003200737031820032006370310200320053703082000200141bc86c08000410b200341086a410b108681808000370308420021040b20002004370300200341e0006a2480808080000b8b0402017f017e23808080800041206b22032480808080000240024002400240024002400240024020012d00000e0400010203000b200341106a2002418083c0800010fe8080800020032802100d05200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c060b200341106a2002418883c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c050b200341106a2002419083c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a2002419883c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200042013703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b8b0402017f017e23808080800041206b22032480808080000240024002400240024002400240024020012d00000e0400010203000b200341106a2002418083c0800010fe8080800020032802100d05200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c060b200341106a200241d883c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c050b200341106a200241e083c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a200241e883c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200042013703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b930302017f017e23808080800041206b220324808080800002400240024002400240024020012d00000e03000102000b200341106a200241e080c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a2002418081c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c030b200341106a200241a881c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b6801017f23808080800041206b220124808080800020012000370300200141086a2001411f6a2001108981808000024020012802084101470d00000b2001200129031010b3808080003602082001200141086a10aa808080002100200141206a24808080800020000bb80101027f23808080800041106b2201248080808000200120003703002001410f6a108b81808000410c210202402001410f6a418080c0800010988080800041fd01710d002001410f6a108b818080002001410f6a41e087c08000200110a0808080002001410f6a108b818080002001410f6a41f087c08000418088c08000109e808080002001410f6a108b818080002001410f6a418080c08000418488c08000109c80808000410021020b200141106a24808080800020020b1000108581808000200010b2808080000b6b01017f23808080800041206b220124808080800020012000370300200141086a2001411f6a200110f880808000024020012802084101470d00000b200129031010b6808080001a200141003602082001200141086a10aa808080002100200141206a24808080800020000b980101027f23808080800041106b22012480808080002001200110b9808080003703002001108a818080002001410f6a108b818080002001410f6a20001097808080000240200110bc8080800041016a2202450d00200120023602082001410f6a108b818080002001410f6a41f087c08000200141086a109e80808000200141106a24808080800041000f0b419089c0800010b281808000000b1000108581808000200010b5808080000b4002017f017e23808080800041106b22002480808080002000200010b98080800037030020002000410f6a1082818080002101200041106a24808080800020010b5d02017f017e23808080800041206b22012480808080002001411f6a108b81808000200141086a2001411f6a41e087c08000109a80808000024020012802080d0010be80808000000b20012903102102200141206a24808080800020020b0e0010858180800010b8808080000b4302017f017e23808080800041106b22002480808080002000200010bc80808000360208200041086a2000410f6a1084818080002101200041106a24808080800020010b5601037f23808080800041106b22012480808080002001410f6a108b8180800020012001410f6a41f087c08000109b808080002001280200210220012802042103200141106a2480808080002003410020024101711b0b0e0010858180800010bb808080000b4701017f23808080800041206b2200248080808000200041003602182000410136020c200041b089c0800036020820004204370210200041086a41b889c0800010b181808000000bb30201017f23808080800041e0006b22062480808080002006200137031020062000370308200620023703182006200337032020062004370328200641306a200641df006a200641086a108981808000024020062802304101460d0020062903382101200641306a200641df006a200641106a10fd8080800020062802304101460d00200641306a200641df006a200641186a10fd8080800020062802304101460d00200641306a200641df006a200641206a10ee8080800020062802304101460d00200641306a200641df006a200641286a10898180800020062802304101460d00200542ff018342cb00520d0020062001370350200641d0006a108a818080002006410036023020064200370338200641df006a200641306a10a9808080002101200641e0006a24808080800020010f0b000b1a0010858180800020002001200220032004200510bf808080000bca0101017f23808080800041d0006b2203248080808000200320013703082003200037030020032002370310200341206a200341cf006a2003109280808000024020032802204101460d00200341206a200341cf006a200341086a10898180800020032802204101460d0020032903282101200341206a200341cf006a200341106a10ee8080800020032802204101460d0020032001370320200341206a108a818080002003410036021c20032003411c6a10aa808080002101200341d0006a24808080800020010f0b000b140010858180800020002001200210c1808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10928080800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b12001085818080002000200110c3808080000b7001017f23808080800041f0006b220124808080800020012000370308200141106a200141ef006a200141086a109280808000024020012802104101470d00000b200141043a005820014102360210200141ef006a200141106a10ab808080002100200141f0006a24808080800020000b1000108581808000200010c5808080000b12001085818080002000200110c8808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10898180800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b140010858180800020002001200210ca808080000ba60101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d002003412f6a200341086a10938080800041ff01714104460d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b1000108581808000200010cc808080000b7301017f23808080800041206b220124808080800020012000370300200141086a2001411f6a2001109280808000024020012802084101470d00000b2001411f6a109081808000210020014100360208200120003703102001200141086a10a6808080002100200141206a24808080800020000bee0101017f23808080800041d0006b220524808080800020052001370308200520003703002005200237031020052003370318200541206a200541cf006a2005108981808000024020052802204101460d00200541206a200541cf006a200541086a10fd8080800020052802204101460d00200541206a200541cf006a200541106a10fd8080800020052802204101460d00200541206a200541cf006a200541186a10ee8080800020052802204101460d00200442ff01834204520d002005410036022020054200370328200541cf006a200541206a10a9808080002101200541d0006a24808080800020010f0b000b18001085818080002000200120022003200410cd808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10fd8080800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b12001085818080002000200110cf808080000b7001017f23808080800041f0006b220124808080800020012000370308200141106a200141ef006a200141086a109280808000024020012802104101470d00000b200141043a005c20014103360210200141ef006a200141106a10a4808080002100200141f0006a24808080800020000b1000108581808000200010d1808080000b950101017f23808080800041306b22032480808080002003200237031020032000370308200341186a2003412f6a200341086a109280808000024020032802184101460d00200142ff018342cb00520d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002102200341306a24808080800020020f0b000b140010858180800020002001200210d3808080000b920201017f23808080800041f0006b22052480808080002005200137031020052000370308200520023703182005200337032020052004370328200541c0006a200541ef006a200541086a108981808000024020052802404101460d00200541c0006a200541ef006a200541106a10fd8080800020052802404101460d00200541c0006a200541ef006a200541186a10fd8080800020052802404101460d00200541c0006a200541ef006a200541206a10fd8080800020052802404101460d00200541c0006a200541ef006a200541286a10ee8080800020052802404101460d002005420037033820054100360230200541ef006a200541306a10a9808080002101200541f0006a24808080800020010f0b000b18001085818080002000200120022003200410d5808080000b7001017f2380808080004180016b220124808080800020012000370308200141106a200141ff006a200141086a109280808000024020012802104101470d00000b200141043a006820014104360210200141ff006a200141106a10ad80808000210020014180016a24808080800020000b1000108581808000200010d7808080000bb70101017f23808080800041306b2204248080808000200420013703082004200037030020042003370310200441186a2004412f6a2004109280808000024020042802184101460d00200441186a2004412f6a200441086a10fd8080800020042802184101460d00200242ff01834204520d00200441186a2004412f6a200441106a10898180800020042802184101460d00200441003602182004200441186a10aa808080002101200441306a24808080800020010f0b000b1600108581808000200020012002200310d9808080000bd70101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d00200441286a2004413f6a200441106a10898180800020042802284101460d00200441286a2004413f6a200441186a10fd8080800020042802284101460d00200441286a2004413f6a200441206a10898180800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310db808080000bac0101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d00200341186a2003412f6a200341086a10898180800020032802184101460d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b140010858180800020002001200210dd808080000ba60101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d002003412f6a200341086a10958080800041ff01714103460d00200341186a2003412f6a200341106a10928080800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b140010858180800020002001200210df808080000bcb0101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d002004413f6a200441206a10948080800041ff01714104460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310e1808080000b1600108581808000200020012002200310e4808080000bd10101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d00200441286a2004413f6a200441206a10898180800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000bd10101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d00200441286a2004413f6a200441206a10fd8080800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310e5808080000bdd0101017f23808080800041e0006b220424808080800020042001370308200420003703002004200237031020042003370318200441306a200441df006a2004109280808000024020042802304101460d00200441df006a200441086a10958080800041ff01714103460d00200441306a200441df006a200441106a10fd8080800020042802304101460d00200441306a200441df006a200441186a10ee8080800020042802304101460d002004420037032820044100360220200441df006a200441206a10a9808080002101200441e0006a24808080800020010f0b000b1600108581808000200020012002200310e7808080000bb90101017f23808080800041e0006b2203248080808000200320013703102003200037030820032002370318200341206a200341df006a200341086a109280808000024020032802204101460d00200341df006a200341106a10958080800041ff01714103460d00200341206a200341df006a200341186a10928080800020032802204101460d00200341033a004920034105360220200341df006a200341206a10a7808080002101200341e0006a24808080800020010f0b000b140010858180800020002001200210e9808080000b970101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d002002412f6a200241106a10958080800041ff01714103460d002002412f6a109081808000210120024100360218200220013703202002200241186a10a6808080002101200241306a24808080800020010f0b000b12001085818080002000200110eb808080000b190020004200370300200020023502004220864204843703080b7c01027e024002400240024020022903002203a741ff0171220241c500460d002002410b470d02200041106a200310ad818080000c010b20012003109c81808000210420012003109b81808000210320002004370318200020033703100b420021030c010b200010a681808000370308420121030b200020033703000b4602017f017e23808080800041106b220324808080800020032001200210f080808000200329030821042000200329030037030020002004370308200341106a2480808080000b6a02017f027e23808080800041106b22032480808080002003200229030022042002290308220510af818080000240024020032802000d00200329030821040c010b200120052004109a8180800021040b2000420037030020002004370308200341106a2480808080000b6102017f017e23808080800041106b220324808080800020032002290300220410ae818080000240024020032802000d00200329030821040c010b2001200410988180800021040b2000420037030020002004370308200341106a2480808080000b3901017f23808080800041106b22032480808080002003200229020037020820002001200341086a10f380808000200341106a2480808080000b6d02027f017e23808080800041106b22032480808080002003200228020022042002280204220210a7818080000240024020032802004101470d0020012004200210948180800021050c010b200329030821050b2000420037030020002005370308200341106a2480808080000b5202017f017e23808080800041106b2203248080808000200320022903083703082003200229030037030020012003410210968180800021042000420037030020002004370308200341106a2480808080000b5001017f23808080800041106b2202248080808000200220013703082000200241106a2001109f8180800010ac8180800036020c2000410036020820002002290308370300200241106a2480808080000b4c01017f024020012802082202200128020c490d00200042023703000f0b2000200141086a2001290300200210ab81808000109e81808000370308200042003703002001200241016a3602080b2b01017f0240200028020c220120002802082200490d00200120006b0f0b41c889c0800010b381808000000b2a01017e02402002290300220342ff018342c800510d00200042013703000f0b2000200310f9808080000b5d02017f017e23808080800041106b220224808080800020022001370308420121030240200241106a200110a48180800010ac818080004120470d0020002002290308370308420021030b20002003370300200241106a2480808080000b130020004200370300200020012903003703080b130020004200370300200020012903003703080b0e0020002001200110fd808080000b2d01027e4201210302402002290300220410b081808000450d0020002004370308420021030b200020033703000b5102017f017e23808080800041106b220324808080800020032001200210f28080800042012104024020032802000d0020002003290308370308420021040b20002004370300200341106a2480808080000b0e0020002002200110f4808080000b2e01027e4201210302402001290300220442ff018342cb00520d0020002004370308420021030b200020033703000b0300000b070020002903000b070020003100000b0d0020003502004220864204840b02000b1200200020012002200320041095818080000b0e002000200120021096818080000b100020002001200220031097818080000b2e01027e4201210302402002290300220442ff018342cd00520d0020002004370308420021030b200020033703000b1300200041086a200029030010a5818080001a0b02000b140020002001200210a18180800010aa818080000b0e0020002001200210a2818080000b070020002903000b0c00200020011099818080000b0a002000109d818080000b1000200020012002200310a0818080000b0c002000200110a3818080000b070020002903000b1a002001ad4220864204842002ad4220864204841080808080000b2e00024020022004460d00000b2001ad4220864204842003ad4220864204842002ad4220864204841081808080000b1a002001ad4220864204842002ad4220864204841082808080000b1c0020012002ad4220864204842003ad4220864204841083808080000b0a0020011084808080000b0a0020011085808080000b0c00200120021086808080000b0a0020011087808080000b0a0020011088808080000b08001089808080000b0c0020012002108a808080000b0a002001108b808080000b0e00200120022003108c808080000b0c0020012002108d808080000b0c0020012002108e808080000b0a002001108f808080000b0a0020011090808080000b0a0020011091808080000b0900428390808080010bb50102017f017e23808080800041106b220324808080800002400240200241094b0d00420021040340024020020d002000410036020020002004420886420e843703080c030b200341086a20012d000010a881808000024020032d00084103460d0020002003290308370204200041013602000c030b200141016a21012002417f6a2102200442068620033100098421040c000b0b20002002360208200041003a0004200041013602000b200341106a2480808080000b820101017f410121020240200141ff017141df00460d000240200141506a41ff0171410a490d000240200141bf7f6a41ff0171411a490d0002402001419f7f6a41ff0171411a490d00200020013a0001200041013a00000f0b200141456a21020c020b2001414b6a21020c010b200141526a21020b200041033a0000200020023a00010b070020004208880b070020004201510b0b002000ad4220864204840b08002000422088a70b160020002001423f87370308200020014208873703000b3201017e420121020240200142ffffffffffffffff00560d0020002001420886420684370308420021020b200020023703000b5001017e42012103024020014280808080808080c0007c42ffffffffffffffff00560d00200120018520022001423f8785844200520d0020002001420886420b84370308420021030b200020033703000b1701017f2000a741ff01712201410e46200141ca0046720b3601017f23808080800041106b2202248080808000200241013b010c2002200136020820022000360204200241046a108181808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141f489c0800036020820014204370210200141086a200010b181808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141a08ac0800036020820014204370210200141086a200010b181808000000b0bb20a0100418080c0000ba80a0100000000000000000000000000000056657273696f6e001000100007000000496e697469616c697a656400200010000b00000041646d696e000000340010000500000043616d706169676e73000000440010000900000043616d706169676e58001000080000004772616e7473000068001000060000004772616e7400000078001000050000004861636b6174686f6e730000880010000a0000004861636b6174686f6e0000009c0010000900000043616d706169676e4261636b65727300b00010000f0000004772616e744170706c69636174696f6e73000000c8001000110000004861636b6174686f6e456e7472696573e4001000100000004861636b6174686f6e4a756467657300fc0010000f00000043616d706169676e457363726f770000140110000e000000457363726f7756616c69646174696f6e2c0110001000000050656e64696e67416374697665436f6d706c657465644661696c656444011000070000004b0110000600000051011000090000005a0110000600000044011000070000004b0110000600000051011000090000005a01100006000000417070726f76656452656a656374656452656c65617365644401100007000000a001100008000000a801100008000000b001100008000000a001100008000000a801100008000000b001100008000000580010000800000078001000050000009c001000090000006261636b6572736465736372697074696f6e657363726f775f636f6e74726163745f696466756e64696e675f676f616c69646d696c6573746f6e65736f776e65727374617475737469746c6508021000070000000f0210000b0000001a021000120000002c0210000c00000038021000020000003a0210000a000000440210000500000049021000060000004f021000050000006170706c69636174696f6e737072697a655f706f6f6c73656c65637465645f77696e6e65727373706f6e736f7277696e6e6572739c0210000c0000000f0210000b00000038021000020000003a0210000a000000a80210000a000000b202100010000000c20210000700000049021000060000004f02100005000000c902100007000000656e74726965736a75646765736f7267616e697a65727468656d65000f0210000b0000002003100007000000380210000200000027031000060000003a0210000a0000002d03100009000000a80210000a000000b202100010000000490210000600000036031000050000004f02100005000000616d6f756e74656e746974795f6964656e746974795f74797065000094031000060000000f0210000b0000009a03100009000000a30310000b0000003802100002000000490210000600000002000000000000000000000000000000000000000000000000000000000000000100000001636f6e7472616374735c626f756e646c6573735c7372635c6c6f6769635c61646d696e2e727300433a5c55736572735c70643330375c2e636172676f5c72656769737472795c7372635c696e6465782e6372617465732e696f2d313934396366386336623562353537665c736f726f62616e2d73646b2d32332e302e325c7372635c7665632e727300000005041000260000001f0000001b00000041646d696e206e6f7420736574000000a00410000d00000005041000260000002b000000110000002c041000610000002204000009000000617474656d707420746f206164642077697468206f766572666c6f77d80410001c000000617474656d707420746f2073756274726163742077697468206f766572666c6f77000000fc0410002100000000ff440e636f6e747261637473706563763000000002000000000000000000000007446174614b6579000000000f00000000000000000000000756657273696f6e0000000000000000000000000b496e697469616c697a65640000000000000000000000000541646d696e00000000000000000000000000000943616d706169676e7300000000000001000000000000000843616d706169676e00000001000000060000000000000000000000064772616e747300000000000100000000000000054772616e74000000000000010000000600000000000000000000000a4861636b6174686f6e7300000000000100000000000000094861636b6174686f6e000000000000010000000600000001000000000000000f43616d706169676e4261636b6572730000000001000000060000000100000000000000114772616e744170706c69636174696f6e7300000000000001000000060000000100000000000000104861636b6174686f6e456e7472696573000000010000000600000001000000000000000f4861636b6174686f6e4a756467657300000000010000000600000001000000000000000e43616d706169676e457363726f7700000000000100000006000000010000000000000010457363726f7756616c69646174696f6e00000001000000130000000200000000000000000000000653746174757300000000000400000000000000000000000750656e64696e67000000000000000000000000064163746976650000000000000000000000000009436f6d706c657465640000000000000000000000000000064661696c656400000000000200000000000000000000000f4d696c6573746f6e65537461747573000000000400000000000000000000000750656e64696e6700000000000000000000000008417070726f76656400000000000000000000000852656a656374656400000000000000000000000852656c65617365640000000200000000000000000000000a456e746974795479706500000000000300000000000000000000000843616d706169676e0000000000000000000000054772616e740000000000000000000000000000094861636b6174686f6e0000000000000100000000000000000000000843616d706169676e0000000900000000000000076261636b65727300000003ea000007d0000000064261636b65720000000000000000000b6465736372697074696f6e00000000110000000000000012657363726f775f636f6e74726163745f6964000000000013000000000000000c66756e64696e675f676f616c0000000b00000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000056f776e65720000000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000010000000000000000000000054772616e740000000000000a000000000000000c6170706c69636174696f6e73000003ea000007d0000000104772616e744170706c69636174696f6e000000000000000b6465736372697074696f6e000000001100000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e65000000000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea00000013000000000000000773706f6e736f72000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000000000000777696e6e6572730000000004000000010000000000000000000000094861636b6174686f6e0000000000000b000000000000000b6465736372697074696f6e00000000110000000000000007656e747269657300000003ea000007d00000000e4861636b6174686f6e456e74727900000000000000000002696400000000000600000000000000066a75646765730000000003ea000007d0000000054a75646765000000000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000096f7267616e697a657200000000000013000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea0000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057468656d650000000000001100000000000000057469746c6500000000000011000000010000000000000000000000094d696c6573746f6e65000000000000060000000000000006616d6f756e7400000000000b000000000000000b6465736372697074696f6e00000000110000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e746974795479706500000000000000000002696400000000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e6553746174757300000000010000000000000000000000064261636b65720000000000020000000000000006616d6f756e7400000000000b000000000000000677616c6c6574000000000013000000010000000000000000000000104772616e744170706c69636174696f6e0000000300000000000000096170706c6963616e7400000000000013000000000000000770726f6a6563740000000011000000000000000f7375626d697373696f6e5f74696d6500000000060000000100000000000000000000000e4861636b6174686f6e456e747279000000000004000000000000000b7061727469636970616e740000000013000000000000000770726f6a6563740000000011000000000000000573636f7265000000000003e800000004000000000000000f7375626d697373696f6e5f74696d650000000006000000010000000000000000000000054a7564676500000000000002000000000000000761646472657373000000001300000000000000046e616d65000000110000000400000000000000000000000e426f756e646c6573734572726f7200000000000f00000025496e76616c6964207573657220617574686f72697a6174696f6e20666f7220616374696f6e0000000000000c556e617574686f72697a6564000000010000002943616d706169676e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000001043616d706169676e4e6f74466f756e6400000002000000264772616e7420776974682074686520676976656e20494420646f6573206e6f7420657869737400000000000d4772616e744e6f74466f756e64000000000000030000002a4861636b6174686f6e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114861636b6174686f6e4e6f74466f756e64000000000000040000002a4d696c6573746f6e6520776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114d696c6573746f6e654e6f74466f756e640000000000000500000020496e76616c69642073746174757320666f7220746865206f7065726174696f6e0000000d496e76616c69645374617475730000000000000600000013496e76616c696420656e7469747920747970650000000011496e76616c6964456e74697479547970650000000000000700000017457363726f77206f7065726174696f6e206661696c6564000000000b457363726f774572726f7200000000080000001a4d696c6573746f6e65206f7065726174696f6e206661696c656400000000000e4d696c6573746f6e654572726f72000000000009000000125265736f75726365206e6f7420666f756e640000000000084e6f74466f756e640000000a00000024496e76616c6964206f7065726174696f6e20666f722063757272656e742073746174757300000010496e76616c69644f7065726174696f6e0000000b00000013416c726561647920696e697469616c697a65640000000012416c7265616479496e697469616c697a656400000000000c00000021457363726f7720636f6e74726163742076616c69646174696f6e206661696c656400000000000015496e76616c6964457363726f77436f6e74726163740000000000000d0000001e457363726f7720636f6e747261637420616c7265616479206c696e6b6564000000000013457363726f77416c72656164794c696e6b6564000000000e00000019457363726f7720636f6e7472616374206e6f7420666f756e640000000000000e457363726f774e6f74466f756e6400000000000f00000000000000000000000a696e697469616c697a65000000000001000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000007757067726164650000000001000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f61646d696e00000000000000000000010000001300000000000000000000000b6765745f76657273696f6e0000000000000000010000000400000000000000000000000f6372656174655f63616d706169676e000000000600000000000000056f776e65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004676f616c0000000b0000000000000012657363726f775f636f6e74726163745f6964000000000013000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d66756e645f63616d706169676e00000000000003000000000000000b63616d706169676e5f6964000000000600000000000000066261636b65720000000000130000000000000006616d6f756e7400000000000b00000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72656c656173655f66756e647300000000000002000000000000000b63616d706169676e5f69640000000006000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6765745f63616d706169676e00000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000007d00000000843616d706169676e000007d00000000e426f756e646c6573734572726f720000000000000000000000000011636f6d706c6574655f63616d706169676e00000000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000f63616e63656c5f63616d706169676e0000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167570646174655f63616d706169676e5f737461747573000000000003000000000000000b63616d706169676e5f6964000000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f63616d706169676e5f6261636b65727300000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000003ea000007d0000000064261636b65720000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6372656174655f6772616e7400000005000000000000000773706f6e736f72000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004706f6f6c0000000b000000000000000777696e6e657273000000000400000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e6170706c795f746f5f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f6772616e740000000000000100000000000000086772616e745f69640000000600000001000003e9000007d0000000054772616e74000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e636f6d706c6574655f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c63616e63656c5f6772616e740000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001473656c6563745f6772616e745f77696e6e6572730000000300000000000000086772616e745f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000166765745f6772616e745f6170706c69636174696f6e7300000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000116765745f6772616e745f77696e6e6572730000000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000137570646174655f6772616e745f737461747573000000000300000000000000086772616e745f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6861636b6174686f6e0000000500000000000000096f7267616e697a65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e000000001100000000000000057468656d6500000000000011000000000000000a7072697a655f706f6f6c00000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167375626d69745f6861636b6174686f6e5f656e747279000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6861636b6174686f6e00000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000007d0000000094861636b6174686f6e000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000012636f6d706c6574655f6861636b6174686f6e000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001063616e63656c5f6861636b6174686f6e00000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156a756467655f6861636b6174686f6e5f656e74727900000000000004000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a6563740000000011000000000000000573636f72650000000000000400000000000000056a756467650000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001873656c6563745f6861636b6174686f6e5f77696e6e65727300000003000000000000000c6861636b6174686f6e5f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f656e747269657300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f77696e6e65727300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000177570646174655f6861636b6174686f6e5f7374617475730000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000136164645f6861636b6174686f6e5f6a756467650000000004000000000000000c6861636b6174686f6e5f69640000000600000000000000056a756467650000000000001300000000000000046e616d6500000011000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001672656d6f76655f6861636b6174686f6e5f6a75646765000000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000056a7564676500000000000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f6861636b6174686f6e5f6a756467657300000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea000007d0000000054a75646765000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001172656c656173655f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000107570646174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e655374617475730000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000011617070726f76655f6d696c6573746f6e65000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000008617070726f7665720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001072656a6563745f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f696400000006000000000000000872656a6563746f720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72616973655f64697370757465000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000006726561736f6e00000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000b6465736372697074696f6e00000000110000000000000006616d6f756e7400000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f656e746974795f6d696c6573746f6e6573000000000000020000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e7469747954797065000000000001000003e9000003ea000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f720000001e11636f6e7472616374656e766d6574617630000000000000001700000000006f0e636f6e74726163746d65746176300000000000000005727376657200000000000006312e39302e3000000000000000000008727373646b7665720000002f32332e302e32236139376461663862303763646632346539626434356533343464623531613231623965613737643300" } }, "ext": "v0" diff --git a/contracts/boundless/test_snapshots/tests/admin/test_upgrade_not_admin.1.json b/contracts/boundless/test_snapshots/tests/admin/test_upgrade_not_admin.1.json index 5608e3f..624dc50 100644 --- a/contracts/boundless/test_snapshots/tests/admin/test_upgrade_not_admin.1.json +++ b/contracts/boundless/test_snapshots/tests/admin/test_upgrade_not_admin.1.json @@ -171,7 +171,7 @@ [ { "contract_code": { - "hash": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112" + "hash": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b" } }, [ @@ -184,21 +184,21 @@ "ext": "v0", "cost_inputs": { "ext": "v0", - "n_instructions": 1846, - "n_functions": 46, + "n_instructions": 5990, + "n_functions": 162, "n_globals": 4, "n_table_entries": 1, - "n_types": 17, + "n_types": 26, "n_data_segments": 1, "n_elem_segments": 0, - "n_imports": 16, + "n_imports": 18, "n_exports": 46, - "n_data_segment_bytes": 188 + "n_data_segment_bytes": 1320 } } }, - "hash": "65029c5584fda78cce9994d85cacf5f1e02e5a3f5c002c7b324ebb83bc00a112", - "code": "0061736d01000000015f1160017e017e60027e7e017e6000017e60037e7e7e017e60027f7e0060017e017f60027f7f0060037e7f7f017e60027f7f017f60017f0060027e7e0060017f017e60037f7f7f006000017f60000060047e7e7e7e017e60057e7e7e7e7e017e0261100169013000000176013300000169015f0000017601670001016201380000016101300000016c013600000176015f00020169013800000169013700000176013100010162016a00010162016d0003016c01300001016c01310001016c015f0003032f2e040506070809000a0b0c0400050000020d0e02020e0e0f040301000103001001000310000f0f03030f0f0f0f03010405017001010105030100110621047f01418080c0000b7f0041bc81c0000b7f0041bc81c0000b7f0041c081c0000b07d7062e066d656d6f727902000a696e697469616c697a65001b0775706772616465001e096765745f61646d696e00220b6765745f76657273696f6e00230f6372656174655f63616d706169676e00260d66756e645f63616d706169676e00280d72656c656173655f66756e647300290c6765745f63616d706169676e002a0f63616e63656c5f63616d706169676e002b167570646174655f63616d706169676e5f737461747573002c146765745f63616d706169676e5f6261636b657273002d0c6372656174655f6772616e74002e0e6170706c795f746f5f6772616e74002f096765745f6772616e7400301473656c6563745f6772616e745f77696e6e6572730031106372656174655f6861636b6174686f6e00320d6765745f6861636b6174686f6e0033156a756467655f6861636b6174686f6e5f656e7472790034136164645f6861636b6174686f6e5f6a7564676500351672656d6f76655f6861636b6174686f6e5f6a7564676500361172656c656173655f6d696c6573746f6e650037107570646174655f6d696c6573746f6e65003811617070726f76655f6d696c6573746f6e6500390d72616973655f64697370757465003a106372656174655f6d696c6573746f6e65003b0d6765745f6d696c6573746f6e65003c156765745f656e746974795f6d696c6573746f6e6573003d015f03011873656c6563745f6861636b6174686f6e5f77696e6e6572730031156765745f6861636b6174686f6e5f656e7472696573002d156765745f6861636b6174686f6e5f77696e6e657273002d11636f6d706c6574655f63616d706169676e002b0e636f6d706c6574655f6772616e74002b0c63616e63656c5f6772616e74002b167375626d69745f6861636b6174686f6e5f656e747279002f12636f6d706c6574655f6861636b6174686f6e002b1063616e63656c5f6861636b6174686f6e002b137570646174655f6772616e745f737461747573002c177570646174655f6861636b6174686f6e5f737461747573002c146765745f6861636b6174686f6e5f6a7564676573002d1072656a6563745f6d696c6573746f6e650039116765745f6772616e745f77696e6e657273002d166765745f6772616e745f6170706c69636174696f6e73002d0a5f5f646174615f656e6403020b5f5f686561705f6261736503030ac6222e5d02017f017e024002402001a741ff0171220241c000460d00024020024106460d00420121034283908080800121010c020b20014208882101420021030c010b42002103200110808080800021010b20002003370300200020013703080b8b0203027f017e017f23808080800041206b2201248080808000410321020240200042ff018342cb00520d00200010818080800021032001410036020820012000370300200120034220883e020c200141106a200110928080800041032102200129031022004202510d002000a74101710d00024020012903182200a741ff0171220441ca00460d002004410e470d010b41032102024002400240200041a481c080004103109380808000422088a70e03000102030b2001280208200128020c1094808080000d02410021020c020b2001280208200128020c1094808080000d01410121020c010b2001280208200128020c1094808080000d00410221020b200141206a24808080800020020b4a02017e017f42022102024020012802082203200128020c4f0d00200020012903002003ad422086420484108a808080003703082001200341016a360208420021020b200020023703000b1c0020002001ad4220864204842002ad422086420484108c808080000b1900024020012000490d00200120006b0f0b10a180808000000b190042001096808080002000ad4220864204841097808080000bbd0101017f23808080800041106b22012480808080000240024002400240024002402000a70e03000102000b2001418080c08000410710998080800020012802000d0320012001290308109a808080000c020b2001418780c08000410b10998080800020012802000d0220012001290308109a808080000c010b2001419280c08000410510998080800020012802000d0120012001290308109a808080000b200129030821002001290300500d010b000b200141106a24808080800020000b0f00200020014201108f808080001a0b4d01017e024020002802004101470d002000280204417f6aad4220864283808080107c0f0b02402000290308220142ffffffffffffffff00560d0020014208864206840f0b20011082808080000bdb0102017e047f02400240200241094b0d004200210320022104200121050340024020040d002003420886420e8421030c030b41012106024020052d0000220741df00460d000240200741506a41ff0171410a490d000240200741bf7f6a41ff0171411a490d002007419f7f6a41ff017141194b0d04200741456a21060c020b2007414b6a21060c010b200741526a21060b20034206862006ad42ff01838421032004417f6a2104200541016a21050c000b0b2001ad4220864204842002ad422086420484108b8080800021030b20004200370300200020033703080b4f01017f23808080800041106b220224808080800020022001370308200241086aad42208642048442848080801010838080800021012000420037030020002001370308200241106a2480808080000b7701027e0240200042ff018342cd00520d000240024042011096808080002201109c80808000450d004283808080c00121022001109d80808000a741ff01710e020001020b42022102420210968080800020001097808080004101109580808000420110968080800042011097808080000b20020f0b000b0f0020004201108d808080004201510b0c0020004201108e808080000b6601017f02400240200042ff018342c800520d0020001084808080004280808080708342808080808004520d00109f808080001085808080001a20001086808080001a10a08080800041016a2201450d01200110958080800042020f0b000b10a180808000000b3b01017e0240024042021096808080002200109c80808000450d002000109d80808000220042ff018342cd00510d01000b10a480808000000b20000b4202017f017e410021000240024042001096808080002201109c80808000450d002001109d80808000220142ff01834204520d012001422088a721000b20000f0b000b090010a580808000000b0800109f808080000b0f0010a080808000ad4220864204840b090010a580808000000b0300000b940101027f23808080800041306b22042480808080000240200042ff018342cd00520d0002402001a741ff01712205410e460d00200541ca00470d010b02402002a741ff01712205410e460d00200541ca00470d010b200441106a200310a78080800020042802104101460d00200442003703082004410036020020041098808080002100200441306a24808080800020000f0b000b7d02017f017e02400240024002402001a741ff0171220241c500460d002002410b470d0220002001423f87370318200020014208873703100c010b200110888080800021032001108980808000210120002003370318200020013703100b420021010c010b200042839080808001370308420121010b200020013703000b5b01017f23808080800041206b220324808080800020032000109080808000024020032802004101460d00200142ff018342cd00520d002003200210a78080800020032802004101460d00200341206a24808080800042020f0b000b4f01017f23808080800041106b220224808080800020022000109080808000024020022802004101460d002002200110908080800020022802004101460d00200241106a24808080800042020f0b000b3e01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080200b4701017f23808080800041106b220224808080800020022000109080808000024020022802004101460d00200142ff018342cd00520d00200241106a24808080800042020f0b000bb00201027f23808080800041206b2203248080808000200341106a2000109080808000024020032802104101460d00200142ff018342cb00520d00200110818080800021002003410036020820032001370300200320004220883e020c200341106a2003109280808000200329031022014202510d002001a74101710d00024020032903182201a741ff0171220441ca00460d002004410e470d010b02400240024002400240200141cc80c080004104109380808000422088a70e0403000102050b2003280208200328020c109480808000450d030c040b2003280208200328020c1094808080000d030c020b2003280208200328020c1094808080000d020c010b2003280208200328020c1094808080000d010b200242ff018342cd00520d00200341206a24808080800042020f0b000b4201017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b1087808080002100200141106a24808080800020000b9c0101027f23808080800041206b22052480808080000240200042ff018342cd00520d0002402001a741ff01712206410e460d00200641ca00470d010b02402002a741ff01712206410e460d00200641ca00470d010b2005200310a78080800020052802004101460d00200442ff01834204520d00200541003602002005420037030820051098808080002100200541206a24808080800020000f0b000b5401027f23808080800041106b220224808080800020022000109080808000024020022802004101460d0002402001a741ff01712203410e460d00200341ca00470d010b200241106a24808080800042020f0b000b3e01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080300b5301017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200142ff018342cb00520d00200242ff018342cd00520d00200341106a24808080800042020f0b000bad0101027f23808080800041306b22052480808080000240200042ff018342cd00520d0002402001a741ff01712206410e460d00200641ca00470d010b02402002a741ff01712206410e460d00200641ca00470d010b02402003a741ff01712206410e460d00200641ca00470d010b200541106a200410a78080800020052802104101460d00200542003703082005410036020020051098808080002100200541306a24808080800020000f0b000b3f01017f23808080800041106b220124808080800020012000109080808000024020012802004101470d00000b200141106a2480808080004283808080c0000b6b01027f23808080800041106b220424808080800020042000109080808000024020042802004101460d0002402001a741ff01712205410e460d00200541ca00470d010b200242ff01834204520d00200342ff018342cd00520d00200441106a24808080800042020f0b000b6c01027f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200142ff018342cd00520d0002402002a741ff01712205410e460d00200541ca00470d010b200342ff018342cd00520d00200441106a24808080800042020f0b000b5301017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200142ff018342cd00520d00200242ff018342cd00520d00200341106a24808080800042020f0b000b6001017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200110918080800041ff01714103460d002003200210908080800020032802004101460d00200341106a24808080800042020f0b000bcc0201027f23808080800041206b2204248080808000200441106a2000109080808000024020042802104101460d00200110918080800041ff01714103460d00200441106a200210908080800020042802104101460d00200342ff018342cb00520d00200310818080800021002004410036020820042003370300200420004220883e020c200441106a2004109280808000200429031022034202510d002003a74101710d00024020042903182203a741ff0171220541ca00460d002005410e470d010b024002400240024002402003418481c080004104109380808000422088a70e0403000102050b2004280208200428020c109480808000450d030c040b2004280208200428020c1094808080000d030c020b2004280208200428020c1094808080000d020c010b2004280208200428020c1094808080000d010b200441206a24808080800042020f0b000b6c01017f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200110918080800041ff01714103460d002004200210908080800020042802004101460d00200342ff018342cd00520d00200441106a24808080800042020f0b000b7901027f23808080800041106b220424808080800020042000109080808000024020042802004101460d00200110918080800041ff01714103460d002004200210908080800020042802004101460d0002402003a741ff01712205410e460d00200541ca00470d010b200441106a24808080800042020f0b000b970101027f23808080800041306b2204248080808000200441106a2000109080808000024020042802104101460d00200110918080800041ff01714103460d0002402002a741ff01712205410e460d00200541ca00470d010b200441106a200310a78080800020042802104101460d00200442003703082004410036020020041098808080002100200441306a24808080800020000f0b000b6501017f23808080800041106b220324808080800020032000109080808000024020032802004101460d00200110918080800041ff01714103460d002003200210908080800020032802004101460d00200341106a2480808080004283808080d0000f0b000b5401017f23808080800041106b220224808080800020022000109080808000024020022802004101460d00200110918080800041ff01714103460d001087808080002100200241106a24808080800020000f0b000b0bc6010100418080c0000bbc0156657273696f6e496e697469616c697a656441646d696e43616d706169676e4772616e744861636b6174686f6e50656e64696e67416374697665436f6d706c657465644661696c65640000002d0010000700000034001000060000003a001000090000004300100006000000417070726f76656452656a656374656452656c65617365642d001000070000006c0010000800000074001000080000007c0010000800000017001000080000001f00100005000000240010000900000000a3420e636f6e747261637473706563763000000002000000000000000000000007446174614b6579000000000d00000000000000000000000756657273696f6e0000000000000000000000000b496e697469616c697a65640000000000000000000000000541646d696e00000000000000000000000000000943616d706169676e7300000000000001000000000000000843616d706169676e00000001000000060000000000000000000000064772616e747300000000000100000000000000054772616e74000000000000010000000600000000000000000000000a4861636b6174686f6e7300000000000100000000000000094861636b6174686f6e000000000000010000000600000001000000000000000f43616d706169676e4261636b6572730000000001000000060000000100000000000000114772616e744170706c69636174696f6e7300000000000001000000060000000100000000000000104861636b6174686f6e456e7472696573000000010000000600000001000000000000000f4861636b6174686f6e4a75646765730000000001000000060000000200000000000000000000000653746174757300000000000400000000000000000000000750656e64696e67000000000000000000000000064163746976650000000000000000000000000009436f6d706c657465640000000000000000000000000000064661696c656400000000000200000000000000000000000f4d696c6573746f6e65537461747573000000000400000000000000000000000750656e64696e6700000000000000000000000008417070726f76656400000000000000000000000852656a656374656400000000000000000000000852656c65617365640000000200000000000000000000000a456e746974795479706500000000000300000000000000000000000843616d706169676e0000000000000000000000054772616e740000000000000000000000000000094861636b6174686f6e0000000000000100000000000000000000000843616d706169676e0000000900000000000000076261636b65727300000003ea000007d0000000064261636b65720000000000000000000b6465736372697074696f6e00000000110000000000000009657363726f775f696400000000000011000000000000000c66756e64696e675f676f616c0000000b00000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000056f776e65720000000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000010000000000000000000000054772616e740000000000000a000000000000000c6170706c69636174696f6e73000003ea000007d0000000104772616e744170706c69636174696f6e000000000000000b6465736372697074696f6e000000001100000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e65000000000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea00000013000000000000000773706f6e736f72000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000000000000777696e6e6572730000000004000000010000000000000000000000094861636b6174686f6e0000000000000b000000000000000b6465736372697074696f6e00000000110000000000000007656e747269657300000003ea000007d00000000e4861636b6174686f6e456e74727900000000000000000002696400000000000600000000000000066a75646765730000000003ea000007d0000000054a75646765000000000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000096f7267616e697a657200000000000013000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea0000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057468656d650000000000001100000000000000057469746c6500000000000011000000010000000000000000000000094d696c6573746f6e65000000000000060000000000000006616d6f756e7400000000000b000000000000000b6465736372697074696f6e00000000110000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e746974795479706500000000000000000002696400000000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e6553746174757300000000010000000000000000000000064261636b65720000000000020000000000000006616d6f756e7400000000000b000000000000000677616c6c6574000000000013000000010000000000000000000000104772616e744170706c69636174696f6e0000000300000000000000096170706c6963616e7400000000000013000000000000000770726f6a6563740000000011000000000000000f7375626d697373696f6e5f74696d6500000000060000000100000000000000000000000e4861636b6174686f6e456e747279000000000004000000000000000b7061727469636970616e740000000013000000000000000770726f6a6563740000000011000000000000000573636f7265000000000003e800000004000000000000000f7375626d697373696f6e5f74696d650000000006000000010000000000000000000000054a7564676500000000000002000000000000000761646472657373000000001300000000000000046e616d65000000110000000400000000000000000000000e426f756e646c6573734572726f7200000000000c00000025496e76616c6964207573657220617574686f72697a6174696f6e20666f7220616374696f6e0000000000000c556e617574686f72697a6564000000010000002943616d706169676e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000001043616d706169676e4e6f74466f756e6400000002000000264772616e7420776974682074686520676976656e20494420646f6573206e6f7420657869737400000000000d4772616e744e6f74466f756e64000000000000030000002a4861636b6174686f6e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114861636b6174686f6e4e6f74466f756e64000000000000040000002a4d696c6573746f6e6520776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114d696c6573746f6e654e6f74466f756e640000000000000500000020496e76616c69642073746174757320666f7220746865206f7065726174696f6e0000000d496e76616c69645374617475730000000000000600000013496e76616c696420656e7469747920747970650000000011496e76616c6964456e74697479547970650000000000000700000017457363726f77206f7065726174696f6e206661696c6564000000000b457363726f774572726f7200000000080000001a4d696c6573746f6e65206f7065726174696f6e206661696c656400000000000e4d696c6573746f6e654572726f72000000000009000000125265736f75726365206e6f7420666f756e640000000000084e6f74466f756e640000000a00000024496e76616c6964206f7065726174696f6e20666f722063757272656e742073746174757300000010496e76616c69644f7065726174696f6e0000000b00000013416c726561647920696e697469616c697a65640000000012416c7265616479496e697469616c697a656400000000000c00000000000000000000000a696e697469616c697a65000000000001000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000007757067726164650000000001000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f61646d696e00000000000000000000010000001300000000000000000000000b6765745f76657273696f6e0000000000000000010000000400000000000000000000000f6372656174655f63616d706169676e000000000400000000000000056f776e65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004676f616c0000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d66756e645f63616d706169676e00000000000003000000000000000b63616d706169676e5f6964000000000600000000000000066261636b65720000000000130000000000000006616d6f756e7400000000000b00000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72656c656173655f66756e647300000000000002000000000000000b63616d706169676e5f69640000000006000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6765745f63616d706169676e00000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000007d00000000843616d706169676e000007d00000000e426f756e646c6573734572726f720000000000000000000000000011636f6d706c6574655f63616d706169676e00000000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000f63616e63656c5f63616d706169676e0000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167570646174655f63616d706169676e5f737461747573000000000003000000000000000b63616d706169676e5f6964000000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f63616d706169676e5f6261636b65727300000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000003ea000007d0000000064261636b65720000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6372656174655f6772616e7400000005000000000000000773706f6e736f72000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004706f6f6c0000000b000000000000000777696e6e657273000000000400000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e6170706c795f746f5f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f6772616e740000000000000100000000000000086772616e745f69640000000600000001000003e9000007d0000000054772616e74000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e636f6d706c6574655f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c63616e63656c5f6772616e740000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001473656c6563745f6772616e745f77696e6e6572730000000300000000000000086772616e745f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000166765745f6772616e745f6170706c69636174696f6e7300000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000116765745f6772616e745f77696e6e6572730000000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000137570646174655f6772616e745f737461747573000000000300000000000000086772616e745f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6861636b6174686f6e0000000500000000000000096f7267616e697a65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e000000001100000000000000057468656d6500000000000011000000000000000a7072697a655f706f6f6c00000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167375626d69745f6861636b6174686f6e5f656e747279000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6861636b6174686f6e00000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000007d0000000094861636b6174686f6e000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000012636f6d706c6574655f6861636b6174686f6e000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001063616e63656c5f6861636b6174686f6e00000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156a756467655f6861636b6174686f6e5f656e74727900000000000004000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a6563740000000011000000000000000573636f72650000000000000400000000000000056a756467650000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001873656c6563745f6861636b6174686f6e5f77696e6e65727300000003000000000000000c6861636b6174686f6e5f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f656e747269657300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f77696e6e65727300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000177570646174655f6861636b6174686f6e5f7374617475730000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000136164645f6861636b6174686f6e5f6a756467650000000004000000000000000c6861636b6174686f6e5f69640000000600000000000000056a756467650000000000001300000000000000046e616d6500000011000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001672656d6f76655f6861636b6174686f6e5f6a75646765000000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000056a7564676500000000000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f6861636b6174686f6e5f6a756467657300000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea000007d0000000054a75646765000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001172656c656173655f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000107570646174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e655374617475730000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000011617070726f76655f6d696c6573746f6e65000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000008617070726f7665720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001072656a6563745f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f696400000006000000000000000872656a6563746f720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72616973655f64697370757465000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000006726561736f6e00000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000b6465736372697074696f6e00000000110000000000000006616d6f756e7400000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f656e746974795f6d696c6573746f6e6573000000000000020000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e7469747954797065000000000001000003e9000003ea000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f720000001e11636f6e7472616374656e766d6574617630000000000000001700000000006f0e636f6e74726163746d65746176300000000000000005727376657200000000000006312e39302e3000000000000000000008727373646b7665720000002f32332e302e32236139376461663862303763646632346539626434356533343464623531613231623965613737643300" + "hash": "8a613c909bd68f3473131fad8ce37a2ee3692e6fa5a5d3be7ae17153dee37a9b", + "code": "0061736d0100000001a5011a60027e7e017e60037e7e7e017e60017e017e6000017e60037f7f7f0060027f7f017f60027f7e0060027f7f017e60047f7f7f7e0060017f017e60017e017f60017f017f60000060067e7e7e7e7e7e017e60057e7e7e7e7e017e60047e7e7e7e017e60027f7f0060017f0060057f7f7f7f7f017e60037f7f7f017e60047f7e7f7f017e60037f7e7e017f60037f7e7e017e60027f7e017e60047f7e7e7e017e60037f7e7e00026d120162016a0000016d013900010176016700000162016d00010169015f00020169013000020169013600000169013700020169013800020176015f0003017601310000017601330002016c015f0001016c01300000016c01310000016c0136000201620138000201610130000203a401a2010405050504060507040404080408040804090704070704070707040704040404020a02020a02030903030b030c0d0d0101000002020000010102020e0e0000020201010e0e02020f0f0f0f010101010f0f0f0f0f0f0f0f01010000040404040404040406100b040604040404040404110707070c1213140411111516091709181709131213141717161717091617181616171717030410020a090a0606190a1011110405017001010105030100110621047f01418080c0000b7f0041c889c0000b7f0041a88ac0000b7f0041b08ac0000b07d7062e066d656d6f727902000a696e697469616c697a65003407757067726164650037096765745f61646d696e003a0b6765745f76657273696f6e003d0f6372656174655f63616d706169676e00400d66756e645f63616d706169676e00420d72656c656173655f66756e647300440c6765745f63616d706169676e00460f63616e63656c5f63616d706169676e0047167570646174655f63616d706169676e5f7374617475730049146765745f63616d706169676e5f6261636b657273004b0c6372656174655f6772616e74004e0e6170706c795f746f5f6772616e740050096765745f6772616e7400521473656c6563745f6772616e745f77696e6e6572730054106372656174655f6861636b6174686f6e00560d6765745f6861636b6174686f6e0058156a756467655f6861636b6174686f6e5f656e747279005a136164645f6861636b6174686f6e5f6a75646765005c1672656d6f76655f6861636b6174686f6e5f6a75646765005e1172656c656173655f6d696c6573746f6e650060107570646174655f6d696c6573746f6e65006211617070726f76655f6d696c6573746f6e6500630d72616973655f646973707574650066106372656174655f6d696c6573746f6e6500680d6765745f6d696c6573746f6e65006a156765745f656e746974795f6d696c6573746f6e6573006c1072656a6563745f6d696c6573746f6e65006311636f6d706c6574655f63616d706169676e00470e636f6d706c6574655f6772616e7400470c63616e63656c5f6772616e740047167375626d69745f6861636b6174686f6e5f656e747279005012636f6d706c6574655f6861636b6174686f6e00471063616e63656c5f6861636b6174686f6e0047166765745f6772616e745f6170706c69636174696f6e73004b116765745f6772616e745f77696e6e657273004b156765745f6861636b6174686f6e5f656e7472696573004b156765745f6861636b6174686f6e5f77696e6e657273004b146765745f6861636b6174686f6e5f6a7564676573004b137570646174655f6772616e745f7374617475730049177570646174655f6861636b6174686f6e5f73746174757300491873656c6563745f6861636b6174686f6e5f77696e6e6572730054015f03010a5f5f646174615f656e6403020b5f5f686561705f6261736503030ac874a2016401027e02400240024020022903002203a741ff0171220241c000460d0020024106470d0142002104200310a98180800021030c020b4200210420012003108f8180800021030c010b4201210410a68180800021030b20002004370300200020033703080baa0202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041042101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d004104210102400240024002402000200229032841e082c08000410410888180800010ac818080000e0400010203050b200241086a10f7808080000d04410021010c040b200241086a10f7808080000d03410121010c030b200241086a10f7808080000d02410221010c020b200241086a10f7808080000d01410321010c010b410421010b200241306a24808080800020010baa0202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041042101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d004104210102400240024002402000200229032841b883c08000410410888180800010ac818080000e0400010203050b200241086a10f7808080000d04410021010c040b200241086a10f7808080000d03410121010c030b200241086a10f7808080000d02410221010c020b200241086a10f7808080000d01410321010c010b410421010b200241306a24808080800020010b930202017f017e23808080800041306b2202248080808000200241206a2001200010808180800041032101024020022802200d0020022002290328370300200241086a2002108e8180800010f580808000200241206a200241086a10f6808080000240200229032022034202510d002003a74101710d0020022002290328370318200241206a200241186a200010fc8080800020022802200d00410321010240024002402000200229032841f083c08000410310888180800010ac818080000e03000102040b200241086a10f7808080000d03410021010c030b200241086a10f7808080000d02410121010c020b200241086a10f7808080000d01410221010c010b410321010b200241306a24808080800020010b4602017f017e23808080800041106b220324808080800020032001200210f180808000200329030821042000200329030037030020002004370308200341106a2480808080000b3b01017f23808080800041106b2202248080808000200220013703082000200241086a1093818080001092818080001a200241106a2480808080000b4d02017f017e41022102024020002000200110998080800022034201108c81808000450d004101210202400240200020034201108d81808000a741ff01710e020102000b000b410021020b20020b810c02027f017e23808080800041306b2202248080808000200141086a21030240024002400240024002400240024002400240024002400240024002400240024020012802000e0f000102030405060708090a0b0c0d0e000b200241206a2000419880c0800010fe8080800020022802200d0f200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0e0b200241206a200041ac80c0800010fe8080800020022802200d0e200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0d0b200241206a200041bc80c0800010fe8080800020022802200d0d200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0c0b200241206a200041d080c0800010fe8080800020022802200d0c200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c0b0b200241206a200041e080c0800010fe8080800020022802200d0b20022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d0b2002200229032837031020022004370308200241206a200241086a200010ff808080000c0a0b200241206a200041f080c0800010fe8080800020022802200d0a200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c090b200241206a2000418081c0800010fe8080800020022802200d0920022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d092002200229032837031020022004370308200241206a200241086a200010ff808080000c080b200241206a2000419481c0800010fe8080800020022802200d08200220022903283703082002200241086a109381808000370318200241206a2000200241186a10a2808080000c070b200241206a200041a881c0800010fe8080800020022802200d0720022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d072002200229032837031020022004370308200241206a200241086a200010ff808080000c060b200241206a200041c081c0800010fe8080800020022802200d0620022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d062002200229032837031020022004370308200241206a200241086a200010ff808080000c050b200241206a200041dc81c0800010fe8080800020022802200d0520022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d052002200229032837031020022004370308200241206a200241086a200010ff808080000c040b200241206a200041f481c0800010fe8080800020022802200d0420022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d042002200229032837031020022004370308200241206a200241086a200010ff808080000c030b200241206a2000418c82c0800010fe8080800020022802200d0320022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d032002200229032837031020022004370308200241206a200241086a200010ff808080000c020b200241206a200041a482c0800010fe8080800020022802200d0220022002290328370318200241186a1093818080002104200241206a2000200310968080800020022802200d022002200229032837031020022004370308200241206a200241086a200010ff808080000c010b200241206a200041bc82c0800010fe8080800020022802200d0120022002290328370318200241186a1093818080002104200241206a2003200010fa8080800020022802200d012002200229032837031020022004370308200241206a200241086a200010ff808080000b20022903282104200229032050450d00200241306a24808080800020040f0b000b900102017f017e23808080800041206b220324808080800002400240024020012001200210998080800022044201108c818080000d00200042003703000c010b2003200120044201108d81808000370308200341106a2001200341086a10898180800020032802104101460d012003290318210420004201370300200020043703080b200341206a2480808080000f0b000b5e01017e02400240024020012001200210998080800022034201108c818080000d00410021010c010b200120034201108d81808000220342ff01834204520d012003422088a72102410121010b20002002360204200020013602000f0b000b10002000200120024201109d808080000b21002000200020011099808080002002200010838180800020031091818080001a0b10002000200120024201109f808080000b21002000200020011099808080002002200010848180800020031091818080001a0b1000200020012002420110a1808080000b21002000200020011099808080002002200010828180800020031091818080001a0b7302017f027e23808080800041106b220324808080800020032002200110fb808080000240024020032802000d00200320032903083703004200210420012003410110878180800021050c010b4201210410a68180800021050b2000200437030020002005370308200341106a2480808080000b15002000280200417f6aad4220864283808080107c0b6502017f017e23808080800041106b22022480808080000240024020012d004c4104460d0020022000200110a580808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030bf00202017f0a7e23808080800041d0006b2203248080808000200229033821042003200241286a200110fa8080800042012105024020032802000d002003290308210620032001200241106a10968080800020032802000d00200329030821072002290330210820032001200210ef8080800020032802000d00200329030821092002290340210a2003200241186a200110fa8080800020032802000d002003290308210b2003200241cc006a200110af8080800020032802000d002003290308210c2003200241206a200110fa8080800020032802000d002003290308210d20032001200241c8006a10ed8080800020032802000d00200320032903083703482003200d3703402003200c3703382003200b3703302003200a37032820032009370320200320083703182003200737031020032006370308200320043703002000200141d085c08000410a2003410a108681808000370308420021050b20002005370300200341d0006a2480808080000b1d00024020012802000d0020012903080f0b200141046a10a3808080000b6502017f017e23808080800041106b22022480808080000240024020012d00294103460d0020022000200110a880808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030b9e0202017f067e23808080800041306b220324808080800020032001200210ef8080800042012104024020032802000d00200329030821052003200241206a200110fa8080800020032802000d002003290308210620032001200241186a10968080800020032802000d00200329030821072003200241296a200110b18080800020032802000d002003290308210820032001200241106a10968080800020032802000d00200329030821092003200241286a200110b08080800020032802000d002003200329030837032820032009370320200320083703182003200737031020032006370308200320053703002000200141b087c08000410620034106108681808000370308420021040b20002004370300200341306a2480808080000b6802017f017e23808080800041106b220224808080800002400240024020012802004101470d00200141046a10a38080800021030c010b20022000200141086a10968080800020022802004101460d01200229030821030b200241106a24808080800020030f0b000b1700024020012802000d0042020f0b200110a3808080000b6502017f017e23808080800041106b22022480808080000240024020012d00484104460d0020022000200110ac80808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030bf90202017f097e23808080800041d0006b220324808080800020022903402104200341086a200241286a200110fa8080800042012105024020032802080d0020032903102106200341086a200241306a200110fa8080800020032802080d0020032903102107200341086a2001200210ef8080800020032802080d0020032903102108200341086a2001200241106a10968080800020032802080d00200329031021092002290338210a200341086a200241186a200110fa8080800020032802080d002003290310210b200341086a200241c8006a200110af8080800020032802080d002003290310210c200341086a200241206a200110fa8080800020032802080d00200320032903103703482003200c3703402003200b3703382003200a37033020032009370328200320083703202003200737031820032006370310200320043703082000200141d484c080004109200341086a4109108681808000370308420021050b20002005370300200341d0006a2480808080000b6502017f017e23808080800041106b22022480808080000240024020012d00584104460d0020022000200110ae80808000024020022802000d00200229030821030c020b10a6818080001a000b200110a38080800021030b200241106a24808080800020030b950302017f0b7e23808080800041e0006b2203248080808000200341086a200241286a200110fa8080800042012104024020032802080d002003290310210520022903402106200341086a2001200241106a10968080800020032802080d00200329031021072002290338210820022903482109200341086a200241186a200110fa8080800020032802080d002003290310210a200341086a2001200210ef8080800020032802080d002003290310210b2002290350210c200341086a200241d8006a200110af8080800020032802080d002003290310210d200341086a200241306a200110fa8080800020032802080d002003290310210e200341086a200241206a200110fa8080800020032802080d00200320032903103703582003200e3703502003200d3703482003200c3703402003200b3703382003200a37033020032008370328200320093703202003200737031820032006370310200320053703082000200141bc86c08000410b200341086a410b108681808000370308420021040b20002004370300200341e0006a2480808080000b8b0402017f017e23808080800041206b22032480808080000240024002400240024002400240024020012d00000e0400010203000b200341106a2002418083c0800010fe8080800020032802100d05200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c060b200341106a2002418883c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c050b200341106a2002419083c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a2002419883c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200042013703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b8b0402017f017e23808080800041206b22032480808080000240024002400240024002400240024020012d00000e0400010203000b200341106a2002418083c0800010fe8080800020032802100d05200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c060b200341106a200241d883c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c050b200341106a200241e083c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a200241e883c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200042013703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b930302017f017e23808080800041206b220324808080800002400240024002400240024020012d00000e03000102000b200341106a200241e080c0800010fe8080800020032802100d03200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c040b200341106a2002418081c0800010fe8080800020032802100d01200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c030b200341106a200241a881c0800010fe80808000024020032802100d00200320032903183703082003200341086a109381808000370300200341106a2002200310a28080800042012104024020032802100d0020002003290318370308420021040b200020043703000c030b200042013703000c020b200042013703000c010b200042013703000b200341206a2480808080000b6801017f23808080800041206b220124808080800020012000370300200141086a2001411f6a2001108981808000024020012802084101470d00000b2001200129031010b3808080003602082001200141086a10aa808080002100200141206a24808080800020000bb80101027f23808080800041106b2201248080808000200120003703002001410f6a108b81808000410c210202402001410f6a418080c0800010988080800041fd01710d002001410f6a108b818080002001410f6a41e087c08000200110a0808080002001410f6a108b818080002001410f6a41f087c08000418088c08000109e808080002001410f6a108b818080002001410f6a418080c08000418488c08000109c80808000410021020b200141106a24808080800020020b1000108581808000200010b2808080000b6b01017f23808080800041206b220124808080800020012000370300200141086a2001411f6a200110f880808000024020012802084101470d00000b200129031010b6808080001a200141003602082001200141086a10aa808080002100200141206a24808080800020000b980101027f23808080800041106b22012480808080002001200110b9808080003703002001108a818080002001410f6a108b818080002001410f6a20001097808080000240200110bc8080800041016a2202450d00200120023602082001410f6a108b818080002001410f6a41f087c08000200141086a109e80808000200141106a24808080800041000f0b419089c0800010b281808000000b1000108581808000200010b5808080000b4002017f017e23808080800041106b22002480808080002000200010b98080800037030020002000410f6a1082818080002101200041106a24808080800020010b5d02017f017e23808080800041206b22012480808080002001411f6a108b81808000200141086a2001411f6a41e087c08000109a80808000024020012802080d0010be80808000000b20012903102102200141206a24808080800020020b0e0010858180800010b8808080000b4302017f017e23808080800041106b22002480808080002000200010bc80808000360208200041086a2000410f6a1084818080002101200041106a24808080800020010b5601037f23808080800041106b22012480808080002001410f6a108b8180800020012001410f6a41f087c08000109b808080002001280200210220012802042103200141106a2480808080002003410020024101711b0b0e0010858180800010bb808080000b4701017f23808080800041206b2200248080808000200041003602182000410136020c200041b089c0800036020820004204370210200041086a41b889c0800010b181808000000bb30201017f23808080800041e0006b22062480808080002006200137031020062000370308200620023703182006200337032020062004370328200641306a200641df006a200641086a108981808000024020062802304101460d0020062903382101200641306a200641df006a200641106a10fd8080800020062802304101460d00200641306a200641df006a200641186a10fd8080800020062802304101460d00200641306a200641df006a200641206a10ee8080800020062802304101460d00200641306a200641df006a200641286a10898180800020062802304101460d00200542ff018342cb00520d0020062001370350200641d0006a108a818080002006410036023020064200370338200641df006a200641306a10a9808080002101200641e0006a24808080800020010f0b000b1a0010858180800020002001200220032004200510bf808080000bca0101017f23808080800041d0006b2203248080808000200320013703082003200037030020032002370310200341206a200341cf006a2003109280808000024020032802204101460d00200341206a200341cf006a200341086a10898180800020032802204101460d0020032903282101200341206a200341cf006a200341106a10ee8080800020032802204101460d0020032001370320200341206a108a818080002003410036021c20032003411c6a10aa808080002101200341d0006a24808080800020010f0b000b140010858180800020002001200210c1808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10928080800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b12001085818080002000200110c3808080000b7001017f23808080800041f0006b220124808080800020012000370308200141106a200141ef006a200141086a109280808000024020012802104101470d00000b200141043a005820014102360210200141ef006a200141106a10ab808080002100200141f0006a24808080800020000b1000108581808000200010c5808080000b12001085818080002000200110c8808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10898180800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b140010858180800020002001200210ca808080000ba60101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d002003412f6a200341086a10938080800041ff01714104460d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b1000108581808000200010cc808080000b7301017f23808080800041206b220124808080800020012000370300200141086a2001411f6a2001109280808000024020012802084101470d00000b2001411f6a109081808000210020014100360208200120003703102001200141086a10a6808080002100200141206a24808080800020000bee0101017f23808080800041d0006b220524808080800020052001370308200520003703002005200237031020052003370318200541206a200541cf006a2005108981808000024020052802204101460d00200541206a200541cf006a200541086a10fd8080800020052802204101460d00200541206a200541cf006a200541106a10fd8080800020052802204101460d00200541206a200541cf006a200541186a10ee8080800020052802204101460d00200442ff01834204520d002005410036022020054200370328200541cf006a200541206a10a9808080002101200541d0006a24808080800020010f0b000b18001085818080002000200120022003200410cd808080000b890101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d00200241186a2002412f6a200241106a10fd8080800020022802184101460d00200241003602182002200241186a10aa808080002101200241306a24808080800020010f0b000b12001085818080002000200110cf808080000b7001017f23808080800041f0006b220124808080800020012000370308200141106a200141ef006a200141086a109280808000024020012802104101470d00000b200141043a005c20014103360210200141ef006a200141106a10a4808080002100200141f0006a24808080800020000b1000108581808000200010d1808080000b950101017f23808080800041306b22032480808080002003200237031020032000370308200341186a2003412f6a200341086a109280808000024020032802184101460d00200142ff018342cb00520d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002102200341306a24808080800020020f0b000b140010858180800020002001200210d3808080000b920201017f23808080800041f0006b22052480808080002005200137031020052000370308200520023703182005200337032020052004370328200541c0006a200541ef006a200541086a108981808000024020052802404101460d00200541c0006a200541ef006a200541106a10fd8080800020052802404101460d00200541c0006a200541ef006a200541186a10fd8080800020052802404101460d00200541c0006a200541ef006a200541206a10fd8080800020052802404101460d00200541c0006a200541ef006a200541286a10ee8080800020052802404101460d002005420037033820054100360230200541ef006a200541306a10a9808080002101200541f0006a24808080800020010f0b000b18001085818080002000200120022003200410d5808080000b7001017f2380808080004180016b220124808080800020012000370308200141106a200141ff006a200141086a109280808000024020012802104101470d00000b200141043a006820014104360210200141ff006a200141106a10ad80808000210020014180016a24808080800020000b1000108581808000200010d7808080000bb70101017f23808080800041306b2204248080808000200420013703082004200037030020042003370310200441186a2004412f6a2004109280808000024020042802184101460d00200441186a2004412f6a200441086a10fd8080800020042802184101460d00200242ff01834204520d00200441186a2004412f6a200441106a10898180800020042802184101460d00200441003602182004200441186a10aa808080002101200441306a24808080800020010f0b000b1600108581808000200020012002200310d9808080000bd70101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d00200441286a2004413f6a200441106a10898180800020042802284101460d00200441286a2004413f6a200441186a10fd8080800020042802284101460d00200441286a2004413f6a200441206a10898180800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310db808080000bac0101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d00200341186a2003412f6a200341086a10898180800020032802184101460d00200341186a2003412f6a200341106a10898180800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b140010858180800020002001200210dd808080000ba60101017f23808080800041306b2203248080808000200320013703082003200037030020032002370310200341186a2003412f6a2003109280808000024020032802184101460d002003412f6a200341086a10958080800041ff01714103460d00200341186a2003412f6a200341106a10928080800020032802184101460d00200341003602182003200341186a10aa808080002101200341306a24808080800020010f0b000b140010858180800020002001200210df808080000bcb0101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d002004413f6a200441206a10948080800041ff01714104460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310e1808080000b1600108581808000200020012002200310e4808080000bd10101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d00200441286a2004413f6a200441206a10898180800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000bd10101017f23808080800041c0006b220424808080800020042001370310200420003703082004200237031820042003370320200441286a2004413f6a200441086a109280808000024020042802284101460d002004413f6a200441106a10958080800041ff01714103460d00200441286a2004413f6a200441186a10928080800020042802284101460d00200441286a2004413f6a200441206a10fd8080800020042802284101460d00200441003602282004200441286a10aa808080002101200441c0006a24808080800020010f0b000b1600108581808000200020012002200310e5808080000bdd0101017f23808080800041e0006b220424808080800020042001370308200420003703002004200237031020042003370318200441306a200441df006a2004109280808000024020042802304101460d00200441df006a200441086a10958080800041ff01714103460d00200441306a200441df006a200441106a10fd8080800020042802304101460d00200441306a200441df006a200441186a10ee8080800020042802304101460d002004420037032820044100360220200441df006a200441206a10a9808080002101200441e0006a24808080800020010f0b000b1600108581808000200020012002200310e7808080000bb90101017f23808080800041e0006b2203248080808000200320013703102003200037030820032002370318200341206a200341df006a200341086a109280808000024020032802204101460d00200341df006a200341106a10958080800041ff01714103460d00200341206a200341df006a200341186a10928080800020032802204101460d00200341033a004920034105360220200341df006a200341206a10a7808080002101200341e0006a24808080800020010f0b000b140010858180800020002001200210e9808080000b970101017f23808080800041306b22022480808080002002200137031020022000370308200241186a2002412f6a200241086a109280808000024020022802184101460d002002412f6a200241106a10958080800041ff01714103460d002002412f6a109081808000210120024100360218200220013703202002200241186a10a6808080002101200241306a24808080800020010f0b000b12001085818080002000200110eb808080000b190020004200370300200020023502004220864204843703080b7c01027e024002400240024020022903002203a741ff0171220241c500460d002002410b470d02200041106a200310ad818080000c010b20012003109c81808000210420012003109b81808000210320002004370318200020033703100b420021030c010b200010a681808000370308420121030b200020033703000b4602017f017e23808080800041106b220324808080800020032001200210f080808000200329030821042000200329030037030020002004370308200341106a2480808080000b6a02017f027e23808080800041106b22032480808080002003200229030022042002290308220510af818080000240024020032802000d00200329030821040c010b200120052004109a8180800021040b2000420037030020002004370308200341106a2480808080000b6102017f017e23808080800041106b220324808080800020032002290300220410ae818080000240024020032802000d00200329030821040c010b2001200410988180800021040b2000420037030020002004370308200341106a2480808080000b3901017f23808080800041106b22032480808080002003200229020037020820002001200341086a10f380808000200341106a2480808080000b6d02027f017e23808080800041106b22032480808080002003200228020022042002280204220210a7818080000240024020032802004101470d0020012004200210948180800021050c010b200329030821050b2000420037030020002005370308200341106a2480808080000b5202017f017e23808080800041106b2203248080808000200320022903083703082003200229030037030020012003410210968180800021042000420037030020002004370308200341106a2480808080000b5001017f23808080800041106b2202248080808000200220013703082000200241106a2001109f8180800010ac8180800036020c2000410036020820002002290308370300200241106a2480808080000b4c01017f024020012802082202200128020c490d00200042023703000f0b2000200141086a2001290300200210ab81808000109e81808000370308200042003703002001200241016a3602080b2b01017f0240200028020c220120002802082200490d00200120006b0f0b41c889c0800010b381808000000b2a01017e02402002290300220342ff018342c800510d00200042013703000f0b2000200310f9808080000b5d02017f017e23808080800041106b220224808080800020022001370308420121030240200241106a200110a48180800010ac818080004120470d0020002002290308370308420021030b20002003370300200241106a2480808080000b130020004200370300200020012903003703080b130020004200370300200020012903003703080b0e0020002001200110fd808080000b2d01027e4201210302402002290300220410b081808000450d0020002004370308420021030b200020033703000b5102017f017e23808080800041106b220324808080800020032001200210f28080800042012104024020032802000d0020002003290308370308420021040b20002004370300200341106a2480808080000b0e0020002002200110f4808080000b2e01027e4201210302402001290300220442ff018342cb00520d0020002004370308420021030b200020033703000b0300000b070020002903000b070020003100000b0d0020003502004220864204840b02000b1200200020012002200320041095818080000b0e002000200120021096818080000b100020002001200220031097818080000b2e01027e4201210302402002290300220442ff018342cd00520d0020002004370308420021030b200020033703000b1300200041086a200029030010a5818080001a0b02000b140020002001200210a18180800010aa818080000b0e0020002001200210a2818080000b070020002903000b0c00200020011099818080000b0a002000109d818080000b1000200020012002200310a0818080000b0c002000200110a3818080000b070020002903000b1a002001ad4220864204842002ad4220864204841080808080000b2e00024020022004460d00000b2001ad4220864204842003ad4220864204842002ad4220864204841081808080000b1a002001ad4220864204842002ad4220864204841082808080000b1c0020012002ad4220864204842003ad4220864204841083808080000b0a0020011084808080000b0a0020011085808080000b0c00200120021086808080000b0a0020011087808080000b0a0020011088808080000b08001089808080000b0c0020012002108a808080000b0a002001108b808080000b0e00200120022003108c808080000b0c0020012002108d808080000b0c0020012002108e808080000b0a002001108f808080000b0a0020011090808080000b0a0020011091808080000b0900428390808080010bb50102017f017e23808080800041106b220324808080800002400240200241094b0d00420021040340024020020d002000410036020020002004420886420e843703080c030b200341086a20012d000010a881808000024020032d00084103460d0020002003290308370204200041013602000c030b200141016a21012002417f6a2102200442068620033100098421040c000b0b20002002360208200041003a0004200041013602000b200341106a2480808080000b820101017f410121020240200141ff017141df00460d000240200141506a41ff0171410a490d000240200141bf7f6a41ff0171411a490d0002402001419f7f6a41ff0171411a490d00200020013a0001200041013a00000f0b200141456a21020c020b2001414b6a21020c010b200141526a21020b200041033a0000200020023a00010b070020004208880b070020004201510b0b002000ad4220864204840b08002000422088a70b160020002001423f87370308200020014208873703000b3201017e420121020240200142ffffffffffffffff00560d0020002001420886420684370308420021020b200020023703000b5001017e42012103024020014280808080808080c0007c42ffffffffffffffff00560d00200120018520022001423f8785844200520d0020002001420886420b84370308420021030b200020033703000b1701017f2000a741ff01712201410e46200141ca0046720b3601017f23808080800041106b2202248080808000200241013b010c2002200136020820022000360204200241046a108181808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141f489c0800036020820014204370210200141086a200010b181808000000b4301017f23808080800041206b2201248080808000200141003602182001410136020c200141a08ac0800036020820014204370210200141086a200010b181808000000b0bb20a0100418080c0000ba80a0100000000000000000000000000000056657273696f6e001000100007000000496e697469616c697a656400200010000b00000041646d696e000000340010000500000043616d706169676e73000000440010000900000043616d706169676e58001000080000004772616e7473000068001000060000004772616e7400000078001000050000004861636b6174686f6e730000880010000a0000004861636b6174686f6e0000009c0010000900000043616d706169676e4261636b65727300b00010000f0000004772616e744170706c69636174696f6e73000000c8001000110000004861636b6174686f6e456e7472696573e4001000100000004861636b6174686f6e4a756467657300fc0010000f00000043616d706169676e457363726f770000140110000e000000457363726f7756616c69646174696f6e2c0110001000000050656e64696e67416374697665436f6d706c657465644661696c656444011000070000004b0110000600000051011000090000005a0110000600000044011000070000004b0110000600000051011000090000005a01100006000000417070726f76656452656a656374656452656c65617365644401100007000000a001100008000000a801100008000000b001100008000000a001100008000000a801100008000000b001100008000000580010000800000078001000050000009c001000090000006261636b6572736465736372697074696f6e657363726f775f636f6e74726163745f696466756e64696e675f676f616c69646d696c6573746f6e65736f776e65727374617475737469746c6508021000070000000f0210000b0000001a021000120000002c0210000c00000038021000020000003a0210000a000000440210000500000049021000060000004f021000050000006170706c69636174696f6e737072697a655f706f6f6c73656c65637465645f77696e6e65727373706f6e736f7277696e6e6572739c0210000c0000000f0210000b00000038021000020000003a0210000a000000a80210000a000000b202100010000000c20210000700000049021000060000004f02100005000000c902100007000000656e74726965736a75646765736f7267616e697a65727468656d65000f0210000b0000002003100007000000380210000200000027031000060000003a0210000a0000002d03100009000000a80210000a000000b202100010000000490210000600000036031000050000004f02100005000000616d6f756e74656e746974795f6964656e746974795f74797065000094031000060000000f0210000b0000009a03100009000000a30310000b0000003802100002000000490210000600000002000000000000000000000000000000000000000000000000000000000000000100000001636f6e7472616374735c626f756e646c6573735c7372635c6c6f6769635c61646d696e2e727300433a5c55736572735c70643330375c2e636172676f5c72656769737472795c7372635c696e6465782e6372617465732e696f2d313934396366386336623562353537665c736f726f62616e2d73646b2d32332e302e325c7372635c7665632e727300000005041000260000001f0000001b00000041646d696e206e6f7420736574000000a00410000d00000005041000260000002b000000110000002c041000610000002204000009000000617474656d707420746f206164642077697468206f766572666c6f77d80410001c000000617474656d707420746f2073756274726163742077697468206f766572666c6f77000000fc0410002100000000ff440e636f6e747261637473706563763000000002000000000000000000000007446174614b6579000000000f00000000000000000000000756657273696f6e0000000000000000000000000b496e697469616c697a65640000000000000000000000000541646d696e00000000000000000000000000000943616d706169676e7300000000000001000000000000000843616d706169676e00000001000000060000000000000000000000064772616e747300000000000100000000000000054772616e74000000000000010000000600000000000000000000000a4861636b6174686f6e7300000000000100000000000000094861636b6174686f6e000000000000010000000600000001000000000000000f43616d706169676e4261636b6572730000000001000000060000000100000000000000114772616e744170706c69636174696f6e7300000000000001000000060000000100000000000000104861636b6174686f6e456e7472696573000000010000000600000001000000000000000f4861636b6174686f6e4a756467657300000000010000000600000001000000000000000e43616d706169676e457363726f7700000000000100000006000000010000000000000010457363726f7756616c69646174696f6e00000001000000130000000200000000000000000000000653746174757300000000000400000000000000000000000750656e64696e67000000000000000000000000064163746976650000000000000000000000000009436f6d706c657465640000000000000000000000000000064661696c656400000000000200000000000000000000000f4d696c6573746f6e65537461747573000000000400000000000000000000000750656e64696e6700000000000000000000000008417070726f76656400000000000000000000000852656a656374656400000000000000000000000852656c65617365640000000200000000000000000000000a456e746974795479706500000000000300000000000000000000000843616d706169676e0000000000000000000000054772616e740000000000000000000000000000094861636b6174686f6e0000000000000100000000000000000000000843616d706169676e0000000900000000000000076261636b65727300000003ea000007d0000000064261636b65720000000000000000000b6465736372697074696f6e00000000110000000000000012657363726f775f636f6e74726163745f6964000000000013000000000000000c66756e64696e675f676f616c0000000b00000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000056f776e65720000000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000010000000000000000000000054772616e740000000000000a000000000000000c6170706c69636174696f6e73000003ea000007d0000000104772616e744170706c69636174696f6e000000000000000b6465736372697074696f6e000000001100000000000000026964000000000006000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e65000000000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea00000013000000000000000773706f6e736f72000000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057469746c6500000000000011000000000000000777696e6e6572730000000004000000010000000000000000000000094861636b6174686f6e0000000000000b000000000000000b6465736372697074696f6e00000000110000000000000007656e747269657300000003ea000007d00000000e4861636b6174686f6e456e74727900000000000000000002696400000000000600000000000000066a75646765730000000003ea000007d0000000054a75646765000000000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000000000000096f7267616e697a657200000000000013000000000000000a7072697a655f706f6f6c00000000000b000000000000001073656c65637465645f77696e6e657273000003ea0000001300000000000000067374617475730000000007d000000006537461747573000000000000000000057468656d650000000000001100000000000000057469746c6500000000000011000000010000000000000000000000094d696c6573746f6e65000000000000060000000000000006616d6f756e7400000000000b000000000000000b6465736372697074696f6e00000000110000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e746974795479706500000000000000000002696400000000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e6553746174757300000000010000000000000000000000064261636b65720000000000020000000000000006616d6f756e7400000000000b000000000000000677616c6c6574000000000013000000010000000000000000000000104772616e744170706c69636174696f6e0000000300000000000000096170706c6963616e7400000000000013000000000000000770726f6a6563740000000011000000000000000f7375626d697373696f6e5f74696d6500000000060000000100000000000000000000000e4861636b6174686f6e456e747279000000000004000000000000000b7061727469636970616e740000000013000000000000000770726f6a6563740000000011000000000000000573636f7265000000000003e800000004000000000000000f7375626d697373696f6e5f74696d650000000006000000010000000000000000000000054a7564676500000000000002000000000000000761646472657373000000001300000000000000046e616d65000000110000000400000000000000000000000e426f756e646c6573734572726f7200000000000f00000025496e76616c6964207573657220617574686f72697a6174696f6e20666f7220616374696f6e0000000000000c556e617574686f72697a6564000000010000002943616d706169676e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000001043616d706169676e4e6f74466f756e6400000002000000264772616e7420776974682074686520676976656e20494420646f6573206e6f7420657869737400000000000d4772616e744e6f74466f756e64000000000000030000002a4861636b6174686f6e20776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114861636b6174686f6e4e6f74466f756e64000000000000040000002a4d696c6573746f6e6520776974682074686520676976656e20494420646f6573206e6f742065786973740000000000114d696c6573746f6e654e6f74466f756e640000000000000500000020496e76616c69642073746174757320666f7220746865206f7065726174696f6e0000000d496e76616c69645374617475730000000000000600000013496e76616c696420656e7469747920747970650000000011496e76616c6964456e74697479547970650000000000000700000017457363726f77206f7065726174696f6e206661696c6564000000000b457363726f774572726f7200000000080000001a4d696c6573746f6e65206f7065726174696f6e206661696c656400000000000e4d696c6573746f6e654572726f72000000000009000000125265736f75726365206e6f7420666f756e640000000000084e6f74466f756e640000000a00000024496e76616c6964206f7065726174696f6e20666f722063757272656e742073746174757300000010496e76616c69644f7065726174696f6e0000000b00000013416c726561647920696e697469616c697a65640000000012416c7265616479496e697469616c697a656400000000000c00000021457363726f7720636f6e74726163742076616c69646174696f6e206661696c656400000000000015496e76616c6964457363726f77436f6e74726163740000000000000d0000001e457363726f7720636f6e747261637420616c7265616479206c696e6b6564000000000013457363726f77416c72656164794c696e6b6564000000000e00000019457363726f7720636f6e7472616374206e6f7420666f756e640000000000000e457363726f774e6f74466f756e6400000000000f00000000000000000000000a696e697469616c697a65000000000001000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000007757067726164650000000001000000000000000d6e65775f7761736d5f68617368000000000003ee0000002000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f61646d696e00000000000000000000010000001300000000000000000000000b6765745f76657273696f6e0000000000000000010000000400000000000000000000000f6372656174655f63616d706169676e000000000600000000000000056f776e65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004676f616c0000000b0000000000000012657363726f775f636f6e74726163745f6964000000000013000000000000000a6d696c6573746f6e65730000000003ea000007d0000000094d696c6573746f6e6500000000000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d66756e645f63616d706169676e00000000000003000000000000000b63616d706169676e5f6964000000000600000000000000066261636b65720000000000130000000000000006616d6f756e7400000000000b00000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72656c656173655f66756e647300000000000002000000000000000b63616d706169676e5f69640000000006000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6765745f63616d706169676e00000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000007d00000000843616d706169676e000007d00000000e426f756e646c6573734572726f720000000000000000000000000011636f6d706c6574655f63616d706169676e00000000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000f63616e63656c5f63616d706169676e0000000002000000000000000b63616d706169676e5f69640000000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167570646174655f63616d706169676e5f737461747573000000000003000000000000000b63616d706169676e5f6964000000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f63616d706169676e5f6261636b65727300000001000000000000000b63616d706169676e5f6964000000000600000001000003e9000003ea000007d0000000064261636b65720000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c6372656174655f6772616e7400000005000000000000000773706f6e736f72000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e00000000110000000000000004706f6f6c0000000b000000000000000777696e6e657273000000000400000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e6170706c795f746f5f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000096765745f6772616e740000000000000100000000000000086772616e745f69640000000600000001000003e9000007d0000000054772616e74000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000e636f6d706c6574655f6772616e7400000000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000c63616e63656c5f6772616e740000000200000000000000086772616e745f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001473656c6563745f6772616e745f77696e6e6572730000000300000000000000086772616e745f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000166765745f6772616e745f6170706c69636174696f6e7300000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000116765745f6772616e745f77696e6e6572730000000000000100000000000000086772616e745f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000137570646174655f6772616e745f737461747573000000000300000000000000086772616e745f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6861636b6174686f6e0000000500000000000000096f7267616e697a65720000000000001300000000000000057469746c6500000000000011000000000000000b6465736372697074696f6e000000001100000000000000057468656d6500000000000011000000000000000a7072697a655f706f6f6c00000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f7200000000000000000000000000167375626d69745f6861636b6174686f6e5f656e747279000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a656374000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6861636b6174686f6e00000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000007d0000000094861636b6174686f6e000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000012636f6d706c6574655f6861636b6174686f6e000000000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001063616e63656c5f6861636b6174686f6e00000002000000000000000c6861636b6174686f6e5f696400000006000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156a756467655f6861636b6174686f6e5f656e74727900000000000004000000000000000c6861636b6174686f6e5f696400000006000000000000000770726f6a6563740000000011000000000000000573636f72650000000000000400000000000000056a756467650000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001873656c6563745f6861636b6174686f6e5f77696e6e65727300000003000000000000000c6861636b6174686f6e5f696400000006000000000000000777696e6e65727300000003ea00000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f656e747269657300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000011000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f6861636b6174686f6e5f77696e6e65727300000000000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea00000013000007d00000000e426f756e646c6573734572726f7200000000000000000000000000177570646174655f6861636b6174686f6e5f7374617475730000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000067374617475730000000007d0000000065374617475730000000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000136164645f6861636b6174686f6e5f6a756467650000000004000000000000000c6861636b6174686f6e5f69640000000600000000000000056a756467650000000000001300000000000000046e616d6500000011000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001672656d6f76655f6861636b6174686f6e5f6a75646765000000000003000000000000000c6861636b6174686f6e5f69640000000600000000000000056a7564676500000000000013000000000000000561646d696e0000000000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000146765745f6861636b6174686f6e5f6a756467657300000001000000000000000c6861636b6174686f6e5f69640000000600000001000003e9000003ea000007d0000000054a75646765000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001172656c656173655f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000107570646174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000000000000067374617475730000000007d00000000f4d696c6573746f6e655374617475730000000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f720000000000000000000000000011617070726f76655f6d696c6573746f6e65000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000008617070726f7665720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000001072656a6563745f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f696400000006000000000000000872656a6563746f720000001300000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d72616973655f64697370757465000000000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f6964000000060000000000000006726561736f6e00000000001100000001000003e9000003ed00000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000106372656174655f6d696c6573746f6e65000000040000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000b6465736372697074696f6e00000000110000000000000006616d6f756e7400000000000b00000001000003e900000006000007d00000000e426f756e646c6573734572726f72000000000000000000000000000d6765745f6d696c6573746f6e65000000000000030000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e74697479547970650000000000000000000c6d696c6573746f6e655f69640000000600000001000003e9000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f7200000000000000000000000000156765745f656e746974795f6d696c6573746f6e6573000000000000020000000000000009656e746974795f696400000000000006000000000000000b656e746974795f7479706500000007d00000000a456e7469747954797065000000000001000003e9000003ea000007d0000000094d696c6573746f6e65000000000007d00000000e426f756e646c6573734572726f720000001e11636f6e7472616374656e766d6574617630000000000000001700000000006f0e636f6e74726163746d65746176300000000000000005727376657200000000000006312e39302e3000000000000000000008727373646b7665720000002f32332e302e32236139376461663862303763646632346539626434356533343464623531613231623965613737643300" } }, "ext": "v0" diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_completed.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_completed.1.json new file mode 100644 index 0000000..426b408 --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_completed.1.json @@ -0,0 +1,194 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_failed.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_failed.1.json new file mode 100644 index 0000000..426b408 --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_already_failed.1.json @@ -0,0 +1,194 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_not_found.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_not_found.1.json new file mode 100644 index 0000000..8f9811c --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_not_found.1.json @@ -0,0 +1,195 @@ +{ + "generators": { + "address": 2, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_pending_status.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_pending_status.1.json new file mode 100644 index 0000000..26971b9 --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_pending_status.1.json @@ -0,0 +1,373 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "cancel_campaign", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Campaign" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Campaign" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "backers" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "symbol": "TestDescription" + } + }, + { + "key": { + "symbol": "escrow_contract_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "funding_goal" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "milestones" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "owner" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Failed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "symbol": "TestCampaign" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_success.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_success.1.json new file mode 100644 index 0000000..26971b9 --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_success.1.json @@ -0,0 +1,373 @@ +{ + "generators": { + "address": 4, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "cancel_campaign", + "args": [ + { + "u64": "1" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": { + "ledger_key_nonce": { + "nonce": "801925984706572462" + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Campaign" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Campaign" + }, + { + "u64": "1" + } + ] + }, + "durability": "persistent", + "val": { + "map": [ + { + "key": { + "symbol": "backers" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "description" + }, + "val": { + "symbol": "TestDescription" + } + }, + { + "key": { + "symbol": "escrow_contract_id" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + }, + { + "key": { + "symbol": "funding_goal" + }, + "val": { + "i128": "1000" + } + }, + { + "key": { + "symbol": "id" + }, + "val": { + "u64": "1" + } + }, + { + "key": { + "symbol": "milestones" + }, + "val": { + "vec": [] + } + }, + { + "key": { + "symbol": "owner" + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + }, + { + "key": { + "symbol": "status" + }, + "val": { + "vec": [ + { + "symbol": "Failed" + } + ] + } + }, + { + "key": { + "symbol": "title" + }, + "val": { + "symbol": "TestCampaign" + } + } + ] + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_unauthorized.1.json b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_unauthorized.1.json new file mode 100644 index 0000000..3dcbfa4 --- /dev/null +++ b/contracts/boundless/test_snapshots/tests/campaign/test_cancel_campaign_unauthorized.1.json @@ -0,0 +1,194 @@ +{ + "generators": { + "address": 5, + "nonce": 0, + "mux_id": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 23, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Admin" + } + ] + }, + "durability": "persistent", + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Initialized" + } + ] + }, + "durability": "persistent", + "val": { + "bool": true + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "vec": [ + { + "symbol": "Version" + } + ] + }, + "durability": "persistent", + "val": { + "u32": 1 + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file