@layerzerolabs/protocol-stellar-v2 0.2.15 → 0.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +365 -297
- package/.turbo/turbo-lint.log +142 -110
- package/.turbo/turbo-test.log +1273 -1222
- package/Cargo.lock +20 -5
- package/Cargo.toml +4 -1
- package/contracts/ERROR_SPEC.md +44 -0
- package/contracts/common-macros/src/auth.rs +113 -0
- package/contracts/common-macros/src/contract_ttl.rs +84 -0
- package/contracts/common-macros/src/lib.rs +181 -30
- package/contracts/common-macros/src/lz_contract.rs +83 -0
- package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
- package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -2
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +3 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
- package/contracts/common-macros/src/ttl_configurable.rs +19 -34
- package/contracts/common-macros/src/ttl_extendable.rs +36 -0
- package/contracts/common-macros/src/upgradeable.rs +5 -5
- package/contracts/common-macros/src/utils.rs +9 -0
- package/contracts/endpoint-v2/src/constants.rs +4 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
- package/contracts/endpoint-v2/src/errors.rs +4 -3
- package/contracts/endpoint-v2/src/events.rs +1 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
- package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
- package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
- package/contracts/endpoint-v2/src/storage.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
- package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
- package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
- package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
- package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
- package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
- package/contracts/message-libs/treasury/src/errors.rs +2 -2
- package/contracts/message-libs/treasury/src/events.rs +1 -1
- package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
- package/contracts/message-libs/treasury/src/storage.rs +1 -1
- package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
- package/contracts/message-libs/treasury/src/treasury.rs +14 -16
- package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
- package/contracts/message-libs/uln-302/src/send_uln.rs +24 -4
- package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
- package/contracts/oapps/counter/Cargo.toml +14 -1
- package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
- package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
- package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
- package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
- package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
- package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
- package/contracts/oapps/counter/src/counter.rs +67 -43
- package/contracts/oapps/counter/src/tests/mod.rs +0 -13
- package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
- package/contracts/oapps/oapp/src/errors.rs +5 -1
- package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
- package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
- package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
- package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
- package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
- package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
- package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
- package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
- package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
- package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
- package/contracts/oapps/oft/Cargo.toml +10 -7
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
- package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
- package/contracts/oapps/oft/integration-tests/setup.rs +29 -110
- package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -14
- package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
- package/contracts/oapps/oft/src/lib.rs +11 -13
- package/contracts/oapps/oft/src/oft.rs +147 -225
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -13
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +31 -14
- package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
- package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +129 -30
- package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
- package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
- package/contracts/oapps/oft-core/src/errors.rs +13 -0
- package/contracts/oapps/oft-core/src/lib.rs +18 -0
- package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
- package/contracts/oapps/{oft → oft-core}/src/storage.rs +2 -0
- package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +2 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
- package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -5
- package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
- package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +78 -37
- package/contracts/oapps/oft-core/src/types.rs +58 -0
- package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
- package/contracts/upgrader/src/lib.rs +4 -4
- package/contracts/utils/src/auth.rs +44 -0
- package/contracts/utils/src/errors.rs +31 -5
- package/contracts/utils/src/lib.rs +3 -0
- package/contracts/utils/src/multisig.rs +211 -0
- package/contracts/utils/src/ownable.rs +137 -13
- package/contracts/utils/src/tests/buffer_reader.rs +6 -6
- package/contracts/utils/src/tests/buffer_writer.rs +6 -6
- package/contracts/utils/src/tests/bytes_ext.rs +2 -4
- package/contracts/utils/src/tests/mod.rs +1 -0
- package/contracts/utils/src/tests/multisig.rs +731 -0
- package/contracts/utils/src/tests/option_ext.rs +2 -5
- package/contracts/utils/src/tests/ownable.rs +456 -7
- package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
- package/contracts/utils/src/tests/upgradeable.rs +4 -2
- package/contracts/utils/src/ttl_configurable.rs +23 -8
- package/contracts/utils/src/ttl_extendable.rs +27 -0
- package/contracts/utils/src/upgradeable.rs +2 -0
- package/contracts/workers/dvn/Cargo.toml +1 -1
- package/contracts/workers/dvn/src/auth.rs +7 -7
- package/contracts/workers/dvn/src/dvn.rs +10 -38
- package/contracts/workers/dvn/src/errors.rs +0 -7
- package/contracts/workers/dvn/src/events.rs +1 -14
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
- package/contracts/workers/dvn/src/storage.rs +3 -13
- package/contracts/workers/dvn/src/tests/auth.rs +4 -4
- package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
- package/contracts/workers/dvn/src/tests/setup.rs +5 -5
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
- package/contracts/workers/executor/src/auth.rs +80 -16
- package/contracts/workers/executor/src/executor.rs +5 -31
- package/contracts/workers/executor/src/storage.rs +2 -9
- package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
- package/contracts/workers/executor-helper/Cargo.toml +1 -1
- package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
- package/contracts/workers/price-feed/Cargo.toml +1 -1
- package/contracts/workers/price-feed/src/price_feed.rs +7 -10
- package/contracts/workers/worker/src/errors.rs +4 -0
- package/contracts/workers/worker/src/tests/worker.rs +7 -6
- package/contracts/workers/worker/src/worker.rs +20 -16
- package/package.json +7 -5
- package/sdk/.turbo/turbo-build.log +1 -0
- package/sdk/.turbo/turbo-test.log +1019 -0
- package/sdk/dist/generated/bml.d.ts +95 -8
- package/sdk/dist/generated/bml.js +95 -36
- package/sdk/dist/generated/counter.d.ts +289 -44
- package/sdk/dist/generated/counter.js +119 -49
- package/sdk/dist/generated/dvn.d.ts +312 -229
- package/sdk/dist/generated/dvn.js +144 -83
- package/sdk/dist/generated/dvn_fee_lib.d.ts +258 -63
- package/sdk/dist/generated/dvn_fee_lib.js +95 -26
- package/sdk/dist/generated/endpoint.d.ts +219 -24
- package/sdk/dist/generated/endpoint.js +108 -41
- package/sdk/dist/generated/executor.d.ts +239 -87
- package/sdk/dist/generated/executor.js +135 -63
- package/sdk/dist/generated/executor_fee_lib.d.ts +278 -74
- package/sdk/dist/generated/executor_fee_lib.js +135 -59
- package/sdk/dist/generated/executor_helper.d.ts +163 -21
- package/sdk/dist/generated/executor_helper.js +124 -52
- package/sdk/dist/generated/oft.d.ts +1842 -0
- package/sdk/dist/generated/oft.js +345 -0
- package/sdk/dist/generated/price_feed.d.ts +258 -63
- package/sdk/dist/generated/price_feed.js +95 -26
- package/sdk/dist/generated/sml.d.ts +235 -34
- package/sdk/dist/generated/sml.js +126 -53
- package/sdk/dist/generated/treasury.d.ts +1016 -0
- package/sdk/dist/generated/treasury.js +248 -0
- package/sdk/dist/generated/uln302.d.ts +235 -34
- package/sdk/dist/generated/uln302.js +126 -53
- package/sdk/dist/generated/upgrader.d.ts +17 -2
- package/sdk/dist/generated/upgrader.js +19 -1
- package/sdk/dist/index.d.ts +2 -1
- package/sdk/dist/index.js +2 -1
- package/sdk/package.json +6 -3
- package/sdk/src/index.ts +2 -1
- package/sdk/test/counter-sml.test.ts +376 -0
- package/sdk/test/counter-uln.test.ts +493 -0
- package/sdk/test/{oft.test.ts → oft-sml.test.ts} +196 -321
- package/sdk/test/suites/constants.ts +22 -2
- package/sdk/test/suites/globalSetup.ts +450 -0
- package/sdk/test/suites/localnet.ts +23 -6
- package/sdk/test/upgrader.test.ts +7 -16
- package/sdk/test/utils.ts +558 -85
- package/sdk/turbo.json +8 -0
- package/sdk/vitest.config.ts +21 -0
- package/tools/ts-bindings-gen/Cargo.toml +2 -0
- package/tools/ts-bindings-gen/src/main.rs +52 -4
- package/contracts/common-macros/src/contract_impl.rs +0 -52
- package/contracts/common-macros/src/ownable.rs +0 -41
- package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
- package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
- package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
- package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
- package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
- package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
- package/contracts/oapps/oapp-macros/src/util.rs +0 -107
- package/contracts/oapps/oft/src/constants.rs +0 -5
- package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
- package/contracts/oapps/oft/src/errors.rs +0 -8
- package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
- package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
- package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -903
- package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -749
- package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -432
- package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1078
- package/contracts/oapps/oft/src/types.rs +0 -38
- package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
- package/contracts/oapps/oft-std/src/lib.rs +0 -16
- package/contracts/oapps/oft-std/src/oft.rs +0 -156
- package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
- package/contracts/workers/dvn/src/multisig.rs +0 -157
- package/sdk/dist/generated/oft_std.d.ts +0 -1544
- package/sdk/dist/generated/oft_std.js +0 -271
- package/sdk/test/index.test.ts +0 -375
- /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
- /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
|
@@ -5,6 +5,21 @@ export * from '@stellar/stellar-sdk';
|
|
|
5
5
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
6
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
7
7
|
export type MigrationData = void;
|
|
8
|
+
/**
|
|
9
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
10
|
+
* Size: 34996 bytes (34.18 KB)
|
|
11
|
+
*/
|
|
12
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABlgEaYAR+fn5+AX5gAn5+AX5gA35+fgF+YAF+AX5gAAF+YAN/f38AYAF/AX5gAn9/AGACfn4Bf2ACf34AYAN/fn4AYAABf2ABfwBgAABgAn5/AGABfgBgAn5/AX5gBH9/f38BfmAFf39/fn4AYAF/AX9gAn9/AX5gBX5/f39/AGABfgF/YAJ+fgBgBH9+fn8AYAV/fn5+fgACnQEaAWwBNwAAAWwBMQABAWwBXwACAWEBMAADAWIBOAADAWwBNgADAWkBNgABAWwBMgABAXgBMQABAXYBMwADAXYBMQABAXYBZwABAWIBagABAW0BOQACAW0BYQAAAXgBMAABAXgBMwAEAXgBOAAEAWwBMAABAWwBOAABAXgBNQADAWkBXwADAWkBMAADAWkBMwABAWkBNQADAWkBNAADA2ppBQYHCAkKAQsMBwYNBAQMDg0MDwYMBQkKEAkRBgcBDwwDDAMEBAEPABISEwcMDQwKBAMECQEUAwMDAxUBDwcBCQEDFgQMBAwDCAkBCQsFBgQHFAQEAQQEAxcBDQoEDQQNBQkFBxgYGRkZBQMBABEGIQR/AUGAgMAAC38AQZiDwAALfwBB0IbAAAt/AEHQhsAACweSBSIGbWVtb3J5AgAHdXBncmFkZQA6B21pZ3JhdGUAPAphdXRob3JpemVyAD4NX19jb25zdHJ1Y3RvcgA/E2VzdGltYXRlX2ZlZV9ieV9laWQAQRZuYXRpdmVfdG9rZW5fcHJpY2VfdXNkAEoJZ2V0X3ByaWNlAEsbZ2V0X3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAEwRc2V0X3ByaWNlX3VwZGF0ZXIAThtzZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAUSBzZXRfYXJiaXRydW1fY29tcHJlc3Npb25fcGVyY2VudABSFXNldF9laWRfdG9fbW9kZWxfdHlwZQBTCXNldF9wcmljZQBVFnNldF9wcmljZV9mb3JfYXJiaXRydW0AWBpzZXRfbmF0aXZlX3Rva2VuX3ByaWNlX3VzZABaEGlzX3ByaWNlX3VwZGF0ZXIAWxxhcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AF0SYXJiaXRydW1fcHJpY2VfZXh0AF8RZWlkX3RvX21vZGVsX3R5cGUAYQ9zZXRfdHRsX2NvbmZpZ3MAZAt0dGxfY29uZmlncwBpEmZyZWV6ZV90dGxfY29uZmlncwBsFWlzX3R0bF9jb25maWdzX2Zyb3plbgBtE2V4dGVuZF9pbnN0YW5jZV90dGwAbgVvd25lcgBvDXBlbmRpbmdfb3duZXIAcBJ0cmFuc2Zlcl9vd25lcnNoaXAAcRpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgBzEGFjY2VwdF9vd25lcnNoaXAAdhJyZW5vdW5jZV9vd25lcnNoaXAAeAFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKkX5pJQAgABCbgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEICAgIAAGguEAwIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgcAAQIDBAUGAAsgAUGAgMCAAEEVEK+AgIAAIAEoAgANByABIAEpAwgQsICAgAAMBgsgAUGVgMCAAEEMEK+AgIAAIAEoAgANBiABIAEpAwggACkDCBCxgICAAAwFCyABQaGAwIAAQREQr4CAgAAgASgCAA0FIAEgASkDCCAANQIEQiCGQgSEELGAgIAADAQLIAFBsoDAgABBEBCvgICAACABKAIADQQgASABKQMIELCAgIAADAMLIAFBwoDAgABBDhCvgICAACABKAIADQMgASABKQMIELCAgIAADAILIAFB0IDAgABBGhCvgICAACABKAIADQIgASABKQMIELCAgIAADAELIAFB6oDAgABBDhCvgICAACABKAIADQEgASABKQMIIAA1AgRCIIZCBIQQsYCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAguNAQIBfwF+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgARCbgICAACIDQgIQnYCAgAANAEIAIQMMAQsgAiADQgIQgYCAgAAQnoCAgAAgAigCAEEBRg0BIAIpAxAhAyAAIAIpAxg3AxggACADNwMQQgEhAwsgACADNwMAIABCADcDCCACQSBqJICAgIAADwsACw8AIAAgARCSgICAAEIBUQt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQmICAgAAhAyABEJmAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALHQAgABCbgICAACABIAIQoICAgABCAhCCgICAABoLQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABEMmAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEBIAJBEGokgICAgAAgAQuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahCigICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQo4CAgAALQQAhAQJAQQAQpICAgAAiAkICEJ2AgIAARQ0AQQEhAQJAAkAgAkICEIGAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQsMACAAQQEQ/YCAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQk4CAgAAaC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUGahcCAAEEGEK+AgIAAIAEoAgANAyABIAEpAwgQsICAgAAMAgsgAUGghcCAAEEIEK+AgIAAIAEoAgANAiABIAEpAwgQsICAgAAMAQsgAUGohcCAAEEKEK+AgIAAIAEoAgANASABIAEpAwgQsICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABCmgICAABCDgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCigICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQo4CAgAALIAAQqICAgAAgACkDCCEBIAApAwBBiggQqYCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqICAgAAgACkDCCEBIAApAwBBiggQqYCAgAAgARCDgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqEKKAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCjgICAAAsgABCugICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQrICAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEKuAgIAAAkAgACkDAFANAEKDgICAsIEBEKyAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahCigICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQo4CAgAALQgAhAgJAAkBBARCtgICAACIDQgAQnYCAgABFDQAgA0IAEIGAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsACwsAIAAQlICAgAAaC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUGthMCAAEEMEK+AgIAAIAEoAgANAiABIAEpAwgQsICAgAAMAQsgAUGohMCAAEEFEK+AgIAAIAEoAgANASABIAEpAwgQsICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABCtgICAACICQgIQnYCAgABFDQAgAkICEIGAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhD6gICAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQ64CAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEOuAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC2kBAX8jgICAgABBIGsiAiSAgICAACACQRBqIAAQs4CAgAACQCACKAIQQQFHDQAACyACIAIpAxg3AwggAiABrUIghkIEhDcDAEG4gsCAAEECIAJBAhC0gICAACEAIAJBIGokgICAgAAgAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQlYCAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEI2AgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABC2gICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILrQEC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AAALIAAgBDcDECAAIAo3AwAgACADNwMYIAAgCTcDCCAFQYACaiSAgICAAAvPAQIBfwF+I4CAgIAAQSBrIgEkgICAgAAgARCigICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQo4CAgAALIAFBBjYCACABIAA2AgRBACEAAkAgARCbgICAACICQgEQnYCAgABFDQACQAJAAkAgAkIBEIGAgIAAIgJC/wGDQgRSDQAgAkKAgICAMFoNACACQiCIIQIgAUEUahC5gICAACABKAIUDQEMAgsACyABIAEoAhggASgCHBCagICAAAsgAqchAAsgAUEgaiSAgICAACAAC6ECAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkEQahCigICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQo4CAgAALIAJBAjYCACACIAE2AgQCQAJAAkAgAhCbgICAACIDQgEQnYCAgABFDQAgAkEQaiADQgEQgYCAgAAQzYCAgAAgAigCEEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgACACKQMgNwMQIABBKGogAkEQakEoaikDADcDACAAQSBqIAJBEGpBIGopAwA3AwAgAEEYaiACQRBqQRhqKQMANwMAIABCADcDCCAAQgE3AwAgAkEQahC5gICAACACKAIQQQFHDQAgAiACKAIUIAIoAhgQmoCAgAALIAJBwABqJICAgIAAC/oDBAF/BX4BfwJ+I4CAgIAAQaABayIBJICAgIAAIAFBgAFqEKKAgIAAAkAgASgCgAFBAUcNACABKAKEASABKAKIARCjgICAAAsgAUEANgJwIAFBgAFqIAFB8ABqEJyAgIAAIAEpA5gBIQIgASkDkAEhAyABKQOAASEEQgohBUIBIQZBFCEHQgAhCEIAIQkCQAJAA0ACQCAHQQFLDQAgAUHAAGogCEIAIAVCABCCgYCAACABQdAAaiAJQgAgBkIAEIKBgIAAIAFB4ABqIAZCACAFQgAQgoGAgAAgCEIAUiAJQgBScSABKQNIQgBSciABKQNYQgBSciABKQNoIgUgASkDQCABKQNQfHwiCSAFVHJFDQIMAwsCQCAHQQFxRQ0AIAFBEGogCEIAIAVCABCCgYCAACABQSBqIAlCACAGQgAQgoGAgAAgAUEwaiAGQgAgBUIAEIKBgIAAIAhCAFIgCUIAUnEgASkDGEIAUnIgASkDKEIAUnIgASkDOCIGIAEpAxAgASkDIHx8IgggBlRyDQMgASkDMCEGCyABIAUgCSAFIAkQgoGAgAAgB0EBdiEHIAEpAwghCSABKQMAIQUMAAsLIAEpA2AhBSAAIAIgCSAEp0EBcSIHGzcDCCAAIAMgBSAHGzcDACABQaABaiSAgICAAA8LEMeAgIAAAAsJABD5gICAAAALigEDAX8BfgF/I4CAgIAAQTBrIgEkgICAgAAgAUEQahCigICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQo4CAgAALIAFBBDYCACABQRBqIAEQnICAgAAgASkDICECIAAgASkDKEIAIAEoAhBBAXEiAxs3AwggACACQgAgAxs3AwAgAUEwaiSAgICAAAtGAAJAAkAgAUL//////////wBWIAJCAFIgAlAbDQAgAUIIhkIKhCECDAELIAIgARCXgICAACECCyAAQgA3AwAgACACNwMICz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyICAgAAgACkDACAAKQMIEKCAgIAAIQEgAEEQaiSAgICAACABC3kBAX8jgICAgABBwABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQxYCAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUEwaiABQRBqELaAgIAAIAEoAjBBAXENASABKQM4IQALIAFBwABqJICAgIAAIAAPCwALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAACAAKQMAIAApAwgQoICAgAAhASAAQRBqJICAgIAAIAELgQICAn8DfiOAgICAAEHAAGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHkhcCAAEEDIAJBCGpBAxDUgICAACACKQMIIgFC/wGDQgRSDQAgAkEgaiACKQMQEOOAgIAAIAIoAiANACACKQMoIQYgAkEgaiACKQMYEJ6AgIAAIAIoAiBBAUYNACACKQMwIQQgACACKQM4NwMYIAAgBDcDECAAIAFCIIinNgIoIAAgBjcDIEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBwABqJICAgIAAC/IBAQJ/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNABClgICAACACEKKAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBCjgICAAAsCQAJAIANBAXENACACQQE2AgAgAiAANwMIIAIQm4CAgABCARCHgICAABoMAQsgABC4gICAAAtB+IDAgABBERDPgICAABDQgICAACEBIAIgADcDCCACIAOtNwMAIAFBmIHAgABBAiACQQIQtICAgAAQiICAgAAaIAJBEGokgICAgABCAg8LAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARD6gICAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEOuAgIAAIQAgAUEQaiSAgICAACAAC6MBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQnoCAgAACQAJAIAEoAgBBAUYNACABKQMYIQAgASkDECECEKWAgIAAIAEQooCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEKOAgIAACyACIACEQgBRDQEgAUEANgIAIAEgAiAAEJ+AgIAAIAFBIGokgICAgABCAg8LAAtCg4CAgBAQrICAgAAAC4kBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQnoCAgAACQCABKAIAQQFGDQAgASkDGCEAIAEpAxAhAhClgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgAUEFNgIAIAEgAiAAEJ+AgIAAIAFBIGokgICAgABCAg8LAAuXAwUBfwN+AX8BfgF/I4CAgIAAQSBrIgEkgICAgAACQCAAQv8Bg0LLAFINABClgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgABCJgICAAEIgiCECQgAhAwNAAkACQAJAIAMgAlENACAAIANCIIZCBIQQioCAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALC0EDIQUgBEL/AYNCzABSDQEgBEGIg8CAAEECIAFBAhDUgICAACABKQMAIgRC/wGDQgRSDQEgASkDCCIGQv8Bg0IEUg0CIARCIIinIQcgBkIgiKciBUEDIAVBA0kbIQUMAgsgAUEgaiSAgICAAEICDwsLAkAgA0L/////D1ENACAFQQNGDQAgAUEGNgIAIAEgBzYCBCABEJuAgIAAIAWtQiCGQgSEQgEQgoCAgAAaIAFBFGoQuYCAgAACQCABKAIUQQFHDQAgASABKAIYIAEoAhwQmoCAgAALIANCAXwhAwwBCwsQx4CAgAAACwALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEI6AgIAAGguoBAUBfwF+An8BfgR/I4CAgIAAQYABayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdAAahCigICAAAJAIAIoAlBBAUcNACACKAJUIAIoAlgQo4CAgAALIAAQ1oCAgAAgARCJgICAAEIgiCEDQgAhACACQdAAakEQaiIEQQhqIQUCQANAIAAgA1ENASABIABCIIZCBIQQioCAgAAhBkEAIQcCQANAIAdBEEYNASACQcAAaiAHakICNwMAIAdBCGohBwwACwtBASEIAkACQCAGQv8Bg0LMAFENAAwBCyAGQcyCwIAAQQIgAkHAAGpBAhDUgICAACACKQNAIgZC/wGDQgRSDQAgAkHQAGogAikDSBDNgICAACACKAJQIghBAXENACAGQiCIpyEHIAJBIGpBGGogBEEYaikDADcDACACQSBqQRBqIARBEGopAwA3AwAgAiAEKQMANwMgIAIgBSkDADcDKAsgAEL/////D1ENAyACQRhqIgkgAkEgakEYaikDADcDACACQRBqIgogAkEgakEQaikDADcDACACIAIpAyg3AwggAiACKQMgNwMAIAhBAXENAyACQdAAakEYaiAJKQMANwMAIAQgCikDADcDACACIAIpAwg3A1ggAiACKQMANwNQIAIgBzYCcCAHIAJB0ABqENeAgIAAIABCAXwhAAwACwsgAkGAAWokgICAgABCAg8LAAsQx4CAgAAAC20BAX8jgICAgABBEGsiASSAgICAACAAEIOAgIAAGiABEKiAgIAAAkACQAJAIAEoAgBBAUcNACABKQMIIAAQ4oCAgAANAQsgABDcgICAAEUNAQsgAUEQaiSAgICAAA8LQoOAgIDAABCsgICAAAALggICAX8BfiOAgICAAEHAAGsiAiSAgICAACACQQI2AgAgAiAANgIEIAIQm4CAgAAgARC1gICAAEIBEIKAgIAAGiACQTBqELmAgIAAAkAgAigCMEEBRw0AIAIgAigCNCACKAI4EJqAgIAACyACQRBqIAFBEGopAwA3AwAgAkEYaiABQRhqKQMANwMAIAIgASkDADcDACACIAFBCGopAwA3AwggAiAANgIgQaiBwIAAQQ0Qz4CAgAAQ0ICAgAAhAyACIAIQtYCAgAA3AzggAiAArUIghkIEhDcDMCADQcSBwIAAQQIgAkEwakECELSAgIAAEIiAgIAAGiACQcAAaiSAgICAAAvkAwMCfwF+AX8jgICAgABBkAFrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEAIQMCQANAIANBGEYNASACQcgAaiADakICNwMAIANBCGohAwwACwsgAUL/AYNCzABSDQAgAUHkgsCAAEEDIAJByABqQQMQ1ICAgAAgAikDSCIEQv8Bg0IEUg0AIAIgAikDUBDZgICAACACKAIAQQFGDQAgAigCECEDIAIpAwghASACQeAAaiACKQNYEM2AgIAAIAIoAmBBAXENACACQRhqIAJBiAFqKQMANwMAIAJBEGogAkGAAWopAwA3AwAgAiACKQNwNwMAIAIgAkHgAGpBGGopAwA3AwggAiAEQiCIpyIFNgIwIAIgAzYCKCACIAE3AyAgAkHgAGoQooCAgAACQCACKAJgQQFHDQAgAigCZCACKAJoEKOAgIAACyAAENaAgIAAIAUgAhDXgICAACACQQM2AmAgAkHgAGoQm4CAgAAgASADELKAgIAAQgIQgoCAgAAaQdSBwIAAQRoQz4CAgAAQ0ICAgAAhACABIAMQsoCAgAAhASACIAWtQiCGQgSENwNoIAIgATcDYCAAQYCCwIAAQQIgAkHgAGpBAhC0gICAABCIgICAABogAkGQAWokgICAgABCAg8LAAu4AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUG4gsCAAEECIAJBAhDUgICAACACKQMAIgFC/wGDQgRSDQAgAkEQaiACKQMIEOOAgIAAIAIoAhANACACKQMYIQQgACABQiCIpzYCECAAIAQ3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAuXAQIBfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQnoCAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMgAhCigICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQo4CAgAALIAAQ1oCAgAAgAkEENgIAIAIgAyABEJ+AgIAAIAJBIGokgICAgABCAg8LAAsbAAJAIABC/wGDQs0AUQ0AAAsgABDcgICAAK0LlAEBAn8jgICAgABBIGsiASSAgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgAUEBNgIAIAEgADcDCAJAIAEQm4CAgABCARCdgICAACICRQ0AIAFBFGoQuYCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEJqAgIAACyABQSBqJICAgIAAIAILPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDegICAACAAKQMAIAApAwgQoICAgAAhASAAQRBqJICAgIAAIAELigEDAX8BfgF/I4CAgIAAQTBrIgEkgICAgAAgAUEQahCigICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQo4CAgAALIAFBBTYCACABQRBqIAEQnICAgAAgASkDICECIAAgASkDKEIAIAEoAhBBAXEiAxs3AwggACACQi8gAxs3AwAgAUEwaiSAgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEOCAgIAAIAApAwAgACgCCBCygICAACEBIABBEGokgICAgAAgAQu6AQMBfwF+AX8jgICAgABBMGsiASSAgICAACABQRhqEKKAgIAAAkAgASgCGEEBRw0AIAEoAhwgASgCIBCjgICAAAsgAUEDNgIIAkACQAJAIAFBCGoQm4CAgAAiAkICEJ2AgIAADQBCACECQQAhAwwBCyABQRhqIAJCAhCBgICAABDZgICAACABKAIYQQFGDQEgASgCKCEDIAEpAyAhAgsgACADNgIIIAAgAjcDACABQTBqJICAgIAADwsACyQAAkAgAEL/AYNCBFENAAALIABCIIinEMSAgIAArUIghkIEhAsNACAAIAEQj4CAgABQC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQloCAgAAhAQsgACADNwMAIAAgATcDCAviBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ5YCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDlgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqEKKAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBCjgICAAAsQpYCAgAACQAJAAkAQoYCAgAANABDmgICAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABCsgICAAAALQoOAgIDA/wAQrICAgAAACwJAAkAgAigCCEEBRw0AQQEgAigCDCACKAIQEOeAgIAADAELQQEQpICAgABCAhCHgICAABoLAkACQCACKAIYQQFHDQBBAiACKAIcIAIoAiAQ54CAgAAMAQtBAhCkgICAAEICEIeAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QdSEwIAAQQ8Qz4CAgAAQ0ICAgAAhACACQShqEOiAgIAAIQEgAiACQTRqEOiAgIAANwNIIAIgATcDQCAAQfiEwIAAQQIgAkHAAGpBAhC0gICAABCIgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQ+4CAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAszAQJ+EJCAgIAAIQACQBCRgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxDHgICAAAALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABCkgICAACEEIAMgASACEPyAgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgoCAgAAaIANBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEOqAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQooCAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQEKOAgIAACyAAQQhqEKKAgIAAIABBFGoiARC5gICAACAAQTBqIABBCGoQ6oCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEOqAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhDrgICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ/ICAgAAPCyAAQgA3AwAgAEICNwMICxoAIACtQiCGQgSEIAGtQiCGQgSEEIuAgIAAC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCigICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQo4CAgAALEKWAgIAAAkAQoYCAgABFDQBCg4CAgOD/ABCsgICAAAALQQAQpICAgABCAUICEIKAgIAAGkGIhcCAAEESEM+AgIAAENCAgIAAQQRBACAAQRhqQQAQtICAgAAQiICAgAAaIABBIGokgICAgABCAgsJABChgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQo4CAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKiAgIAAIAApAwAgACkDCBC3gICAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKuAgIAAIAApAwAgACkDCBC3gICAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQooCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKOAgIAACxCngICAACECEKqAgIAAIAAQwICAgAAgAiAAEPKAgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEGhg8CAAEEVEM+AgIAAENCAgIAAIQMgAiAANwMIIAIgATcDACADQciDwIAAQQIgAkECELSAgIAAEIiAgIAAGiACQRBqJICAgIAAC9wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQooCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEKOAgIAACxCngICAACEDAkACQCABQv////8PVg0AIAJBCGoQq4CAgAAgAikDECEBIAIpAwhBiAgQqYCAgAAgASAAEOKAgIAARQ0DEPSAgIAADAELEOaAgIAAIAFCIIinSQ0DQQEgAEIAEPWAgIAAQQEQrYCAgABCACABQoSAgIBwgyIBIAEQgICAgAAaQdiDwIAAQRYQz4CAgAAQ0ICAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQfSDwIAAQQMgAkEIakEDELSAgIAAEIiAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABEKyAgIAAAAtCg4CAgPCAARCsgICAAAALEwBBARCtgICAAEIAEIeAgIAAGgsVACAAEK2AgIAAIAEgAhCCgICAABoLpwECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQooCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKOAgIAACyAAEKuAgIAAIAApAwghASAAKQMAQYgIEKmAgIAAIAEQg4CAgAAaIAAQroCAgAACQCAAKAIADQAQ94CAgAAACyAAKQMIIQIQ9ICAgAAgARDAgICAACACIAEQ8oCAgAAgAEEQaiSAgICAAEICCwkAEMeAgIAAAAugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABCigICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQo4CAgAALEKeAgIAAIQEQqoCAgABBABCtgICAAEICEIeAgIAAGkGMhMCAAEETEM+AgIAAENCAgIAAIQIgACABNwMAIAJBoITAgABBASAAQQEQtICAgAAQiICAgAAaIABBEGokgICAgABCAgsDAAAL2wECAX4EfwJAAkAgAkEJSw0AQgAhAyACIQQgASEFA0ACQCAEDQAgA0IIhkIOhCEDDAMLQQEhBgJAIAUtAAAiB0HfAEYNAAJAIAdBUGpB/wFxQQpJDQACQCAHQb9/akH/AXFBGkkNACAHQZ9/akH/AXFBGUsNBCAHQUVqIQYMAgsgB0FLaiEGDAELIAdBUmohBgsgA0IGhiAGrUL/AYOEIQMgBEF/aiEEIAVBAWohBQwACwsgAa1CIIZCBIQgAq1CIIZCBIQQjICAgAAhAwsgAEIANwMAIAAgAzcDCAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUHEhMCAAEECIAJBAhDUgICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQcSEwIAAQQIgA0ECELSAgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC3cCAn8BfiOAgICAAEEQayICJICAgIAAQQAhAwJAAkAgARCkgICAACIEQgIQnYCAgABFDQAgAkEEaiAEQgIQgYCAgAAQ+4CAgABBASEDIAIoAgRBAUYNASAAIAIpAgg3AgQLIAAgAzYCACACQRBqJICAgIAADwsAC1cBAX4CQAJAIANBwABxDQAgA0UNASACQQAgA2tBP3GthiABIANBP3GtIgSIhCEBIAIgBIghAgwBCyACIANBP3GtiCEBQgAhAgsgACABNwMAIAAgAjcDCAtXAQF+AkACQCADQcAAcQ0AIANFDQEgAiADQT9xrSIEhiABQQAgA2tBP3GtiIQhAiABIASGIQEMAQsgASADQT9xrYYhAkIAIQELIAAgATcDACAAIAI3AwgL0QgEAX8BfgN/BH4jgICAgABBsAFrIgUkgICAgABCACEGAkACQAJAAkACQCAEeSADeULAAHwgBEIAUhunIgcgAnkgAXlCwAB8IAJCAFIbpyIITQ0AIAhBP0sNASAHQd8ASw0CIAcgCGtBIEkNAyAFQaABaiADIARB4AAgB2siCRD+gICAACAFNQKgAUIBfCEKQgAhC0IAIQYCQAJAAkACQANAIAVBkAFqIAEgAkHAACAIayIIEP6AgIAAIAUpA5ABIQwCQCAIIAlPDQAgBUHQAGogAyAEIAgQ/oCAgAACQAJAIAUpA1AiClBFDQAMAQsgDCAKgCEMCyAFQcAAaiADIAQgDEIAEIKBgIAAAkAgASAFKQNAIg1UIgggAiAFKQNIIgpUIAIgClEbDQAgAiAKfSAIrX0hAiABIA19IQEgBiALIAx8IgwgC1StfCEGDAsLIAIgBHwgASADfCIEIAFUrXwgCn0gBCANVK19IQIgBCANfSEBIAYgDCALfEJ/fCIMIAtUrXwhBgwKCyAFQYABaiAMIAqAIgxCACAIIAlrIggQ/4CAgAAgBUHwAGogAyAEIAxCABCCgYCAACAFQeAAaiAFKQNwIAUpA3ggCBD/gICAACAFKQOIASAGfCAFKQOAASIGIAt8IgsgBlStfCEGIAcgAiAFKQNofSABIAUpA2AiDFStfSICeSABIAx9IgF5QsAAfCACQgBSG6ciCE0NASAIQT9NDQALIANQRQ0BDAILIAEgA1QiCCACIARUIAIgBFEbRQ0CIAshDAwHCyABIAOAIQILIAEgA4IhASAGIAsgAnwiDCALVK18IQZCACECDAULIAIgBH0gCK19IQIgASADfSEBIAYgC0IBfCIMUK18IQYMBAsgAiAEQgAgASADWiACIARaIAIgBFEbIggbfSABIANCACAIGyIEVK19IQIgASAEfSEBIAitIQwMAwsgASABIAOAIgwgA359IQFCACEGQgAhAgwCCyACIAIgA0L/////D4MiBIAiBiADfn1CIIYgAUIgiCIMhCAEgCICQiCGIAwgAiADfn1CIIYgAUL/////D4OEIgEgBIAiA4QhDCABIAMgBH59IQEgAkIgiCAGhCEGQgAhAgwBCyAFQTBqIAMgBEHAACAIayIIEP6AgIAAIAVBIGogASACIAgQ/oCAgABCACEGIAVBEGogA0IAIAUpAyAgBSkDMIAiDEIAEIKBgIAAIAUgBEIAIAxCABCCgYCAACAFKQMQIQoCQAJAIAUpAwggBSkDGCINIAUpAwB8IgsgDVStfEIAUg0AIAEgClQiCCACIAtUIAIgC1EbRQ0BCyAEIAJ8IAMgAXwiASADVK18IAt9IAEgClStfSECIAxCf3whDCABIAp9IQEMAQsgAiALfSAIrX0hAiABIAp9IQFCACEGCyAAIAE3AxAgACAMNwMAIAAgAjcDGCAAIAY3AwggBUGwAWokgICAgAALSAEBfyOAgICAAEEgayIFJICAgIAAIAUgASACIAMgBBCAgYCAACAFKQMAIQQgACAFKQMINwMIIAAgBDcDACAFQSBqJICAgIAAC24BBn4gACADQv////8PgyIFIAFC/////w+DIgZ+IgcgA0IgiCIIIAZ+IgYgBSABQiCIIgl+fCIFQiCGfCIKNwMAIAAgCCAJfiAFIAZUrUIghiAFQiCIhHwgCiAHVK18IAQgAX4gAyACfnx8NwMICwvaBgEAQYCAwAAL0AZQcmljZVJhdGlvRGVub21pbmF0b3JQcmljZVVwZGF0ZXJEZWZhdWx0TW9kZWxQcmljZUFyYml0cnVtUHJpY2VFeHROYXRpdmVQcmljZVVTREFyYml0cnVtQ29tcHJlc3Npb25QZXJjZW50RWlkVG9Nb2RlbFR5cGVwcmljZV91cGRhdGVyX3NldGFjdGl2ZXVwZGF0ZXIAAIkAEAAGAAAAjwAQAAcAAABwcmljZV91cGRhdGVkZHN0X2VpZHByaWNlAAAAtQAQAAcAAAC8ABAABQAAAGFyYml0cnVtX3ByaWNlX2V4dF91cGRhdGVkYXJiaXRydW1fcHJpY2VfZXh07gAQABIAAAC1ABAABwAAAGdhc19wZXJfbDFfY2FsbGRhdGFfYnl0ZWdhc19wZXJfbDJfdHgAAAAQARAAGAAAACgBEAANAAAAZWlkAEgBEAADAAAAvAAQAAUAAABleHRlbmQAAEgBEAADAAAAXAEQAAYAAAC8ABAABQAAAG1vZGVsX3R5cGUAALUAEAAHAAAAfAEQAAoAAAB0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXK2ARAACQAAAL8BEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAALYBEAAJAAAAvwEQAAkAAADuARAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAvwEQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAOQIQAAkAAACYARAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAGMCEAAIAAAAawIQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmdnYXNfcGVyX2J5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dXMgKG93bmVyIG9ubHkpAAAAAAAAEXNldF9wcmljZV91cGRhdGVyAAAAAAAAAgAAAAAAAAAHdXBkYXRlcgAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAACxTZXQgdGhlIHByaWNlIHJhdGlvIGRlbm9taW5hdG9yIChvd25lciBvbmx5KQAAABtzZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAAAQAAAAAAAAALZGVub21pbmF0b3IAAAAACgAAAAAAAAAAAAAANFNldCB0aGUgQXJiaXRydW0gY29tcHJlc3Npb24gcGVyY2VudGFnZSAob3duZXIgb25seSkAAAAgc2V0X2FyYml0cnVtX2NvbXByZXNzaW9uX3BlcmNlbnQAAAABAAAAAAAAABNjb21wcmVzc2lvbl9wZXJjZW50AAAAAAoAAAAAAAAAAAAAADhTZXQgdGhlIGZlZSBtb2RlbCB0eXBlIGZvciBkZXN0aW5hdGlvbiBFSURzIChvd25lciBvbmx5KQAAABVzZXRfZWlkX3RvX21vZGVsX3R5cGUAAAAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAFlNldEVpZFRvTW9kZWxUeXBlUGFyYW0AAAAAAAAAAAAAAAAAPVNldCBwcmljZXMgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAocHJpY2UgdXBkYXRlciBvciBvd25lcikAAAAAAAAJc2V0X3ByaWNlAAAAAAAAAgAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAALVXBkYXRlUHJpY2UAAAAAAAAAAAAAAAByU2V0IHByaWNlIGZvciBBcmJpdHJ1bSB3aXRoIGV4dGVuc2lvbiAocHJpY2UgdXBkYXRlciBvciBvd25lcikKQ29ycmVzcG9uZHMgdG8gc2V0UHJpY2VGb3JBcmJpdHJ1bSBpbiBQcmljZUZlZWQuc29sAAAAAAAWc2V0X3ByaWNlX2Zvcl9hcmJpdHJ1bQAAAAAAAgAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAABnVwZGF0ZQAAAAAH0AAAAA5VcGRhdGVQcmljZUV4dAAAAAAAAAAAAAAAAACoU2V0IHRoZSBuYXRpdmUgdG9rZW4gcHJpY2UgaW4gVVNEIChwcmljZSB1cGRhdGVyIG9yIG93bmVyKS4KCktlcHQgYXMgYSBzdGFuZGFsb25lIGNvbnRyYWN0IGZ1bmN0aW9uIChub3QgcGFydCBvZiB0aGUgY2Fub25pY2FsIGB3b3JrZXI6OklMYXllclplcm9QcmljZUZlZWRgIGludGVyZmFjZSkuAAAAGnNldF9uYXRpdmVfdG9rZW5fcHJpY2VfdXNkAAAAAAACAAAAAAAAAA1wcmljZV91cGRhdGVyAAAAAAAAEwAAAAAAAAAWbmF0aXZlX3Rva2VuX3ByaWNlX3VzZAAAAAAACgAAAAAAAAAAAAAALkNoZWNrIGlmIGFuIGFkZHJlc3MgaXMgYW4gYWN0aXZlIHByaWNlIHVwZGF0ZXIAAAAAABBpc19wcmljZV91cGRhdGVyAAAAAQAAAAAAAAAHdXBkYXRlcgAAAAATAAAAAQAAAAEAAAAAAAAAJEdldCB0aGUgQXJiaXRydW0gY29tcHJlc3Npb24gcGVyY2VudAAAABxhcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AAAAAAAAAAEAAAAKAAAAAAAAACBHZXQgdGhlIEFyYml0cnVtIHByaWNlIGV4dGVuc2lvbgAAABJhcmJpdHJ1bV9wcmljZV9leHQAAAAAAAAAAAABAAAH0AAAABBBcmJpdHJ1bVByaWNlRXh0AAAAAAAAAChHZXQgdGhlIG1vZGVsIHR5cGUgZm9yIGEgZGVzdGluYXRpb24gRUlEAAAAEWVpZF90b19tb2RlbF90eXBlAAAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAJTW9kZWxUeXBlAAAAAAAAAQAAACFBcmJpdHJ1bS1zcGVjaWZpYyBwcmljZSBleHRlbnNpb24AAAAAAAAAAAAAEEFyYml0cnVtUHJpY2VFeHQAAAACAAAAQUdhcyBjb3N0IHBlciBieXRlIG9mIEwxIGNhbGxkYXRhIChmb3IgQXJiaXRydW0ncyBMMSBkYXRhIHBvc3RpbmcpAAAAAAAAGGdhc19wZXJfbDFfY2FsbGRhdGFfYnl0ZQAAAAQAAAAfR2FzIG92ZXJoZWFkIHBlciBMMiB0cmFuc2FjdGlvbgAAAAANZ2FzX3Blcl9sMl90eAAAAAAAAAYAAAABAAAAJVBhcmFtZXRlciBmb3IgdXBkYXRpbmcgYSBzaW5nbGUgcHJpY2UAAAAAAAAAAAAAC1VwZGF0ZVByaWNlAAAAAAIAAAAXRGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAA2VpZAAAAAAEAAAAJVByaWNlIGluZm9ybWF0aW9uIGZvciB0aGUgZGVzdGluYXRpb24AAAAAAAAFcHJpY2UAAAAAAAfQAAAABVByaWNlAAAAAAAAAQAAADRQYXJhbWV0ZXIgZm9yIHVwZGF0aW5nIEFyYml0cnVtIHByaWNlIHdpdGggZXh0ZW5zaW9uAAAAAAAAAA5VcGRhdGVQcmljZUV4dAAAAAAAAwAAADhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoc2hvdWxkIGJlIGFuIEFyYml0cnVtIGVuZHBvaW50KQAAAANlaWQAAAAABAAAACNBcmJpdHJ1bS1zcGVjaWZpYyBwcmljaW5nIGV4dGVuc2lvbgAAAAAGZXh0ZW5kAAAAAAfQAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAlUHJpY2UgaW5mb3JtYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbgAAAAAAAAVwcmljZQAAAAAAB9AAAAAFUHJpY2UAAAAAAAADAAAAMEZlZSBtb2RlbCB0eXBlIGZvciBkaWZmZXJlbnQgY2hhaW4gYXJjaGl0ZWN0dXJlcwAAAAAAAAAJTW9kZWxUeXBlAAAAAAAAAwAAAAAAAAAHRGVmYXVsdAAAAAAAAAAAAAAAAAhBcmJTdGFjawAAAAEAAAAAAAAAB09wU3RhY2sAAAAAAgAAAAEAAAAvUGFyYW1ldGVyIGZvciBzZXR0aW5nIEVJRCB0byBtb2RlbCB0eXBlIG1hcHBpbmcAAAAAAAAAABZTZXRFaWRUb01vZGVsVHlwZVBhcmFtAAAAAAACAAAAF0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEAAAAAAdkc3RfZWlkAAAAAAQAAAAjRmVlIG1vZGVsIHR5cGUgZm9yIHRoaXMgZGVzdGluYXRpb24AAAAACm1vZGVsX3R5cGUAAAAAB9AAAAAJTW9kZWxUeXBlAAAAAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgb3duZXIgYWRkcmVzcywgb3IgTm9uZSBpZiBubyBvd25lciBpcyBzZXQuAAAAAAAFb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAABAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBoAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAAAABAAAABZXb3JrZXJFcnJvcjogMTIwMC0xMjk5AAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABMAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABtBdHRlbXB0aW5nVG9SZW1vdmVPbmx5QWRtaW4AAAAEtAAAAAAAAAAURGVwb3NpdEFkZHJlc3NOb3RTZXQAAAS1AAAAAAAAABpNZXNzYWdlTGliQWxyZWFkeVN1cHBvcnRlZAAAAAAEtgAAAAAAAAAWTWVzc2FnZUxpYk5vdFN1cHBvcnRlZAAAAAAEtwAAAAAAAAAQTm9BZG1pbnNQcm92aWRlZAAABLgAAAAAAAAACk5vdEFsbG93ZWQAAAAABLkAAAAAAAAADk5vdE9uQWxsb3dsaXN0AAAAAAS6AAAAAAAAAA1Ob3RPbkRlbnlsaXN0AAAAAAAEuwAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAS8AAAAAAAAAA9QcmljZUZlZWROb3RTZXQAAAAEvQAAAAAAAAAMUmVJbml0aWFsaXplAAAEvgAAAAAAAAAMVW5hdXRob3JpemVkAAAEvwAAAAAAAAAVVW5zdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAAEwAAAAAAAAAASV29ya2VyRmVlTGliTm90U2V0AAAAAATBAAAAAAAAAA5Xb3JrZXJJc1BhdXNlZAAAAAAEwgAAAAUAAAAAAAAAAAAAAAhTZXRBZG1pbgAAAAEAAAAJc2V0X2FkbWluAAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAWU2V0U3VwcG9ydGVkTWVzc2FnZUxpYgAAAAAAAQAAABlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAAAAAAAAAgAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAAAAAAAAAAACXN1cHBvcnRlZAAAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAxTZXRBbGxvd2xpc3QAAAABAAAADXNldF9hbGxvd2xpc3QAAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAAB2FsbG93ZWQAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAAC1NldERlbnlsaXN0AAAAAAEAAAAMc2V0X2RlbnlsaXN0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAZQYXVzZWQAAAAAAAEAAAAGcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZXIAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAhVbnBhdXNlZAAAAAEAAAAIdW5wYXVzZWQAAAABAAAAAAAAAAh1bnBhdXNlcgAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXREZWZhdWx0TXVsdGlwbGllckJwcwAAAAABAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAABAAAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEVNldERlcG9zaXRBZGRyZXNzAAAAAAAAAQAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAEAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAMU2V0UHJpY2VGZWVkAAAAAQAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAQAAAAAAAAAKcHJpY2VfZmVlZAAAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAF1NldFN1cHBvcnRlZE9wdGlvblR5cGVzAAAAAAEAAAAac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAADG9wdGlvbl90eXBlcwAAAA4AAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9TZXRXb3JrZXJGZWVMaWIAAAAAAQAAABJzZXRfd29ya2VyX2ZlZV9saWIAAAAAAAEAAAAAAAAAB2ZlZV9saWIAAAAAEwAAAAAAAAACAAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAORGVwb3NpdEFkZHJlc3MAAAAAAAAAAAAAAAAACVByaWNlRmVlZAAAAAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAAFERlZmF1bHRNdWx0aXBsaWVyQnBzAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAAC01lc3NhZ2VMaWJzAAAAAAEAAAAAAAAACUFsbG93bGlzdAAAAAAAAAEAAAATAAAAAQAAAAAAAAAIRGVueWxpc3QAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAAAAAAAAAAAAAZBZG1pbnMAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yMy40LjAjNjczZDZjNGYyMzY4ZDI4MmQyNWRhMjliZGE1NWMyMWI4YmU2OWNhNgAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAA==";
|
|
13
|
+
/**
|
|
14
|
+
* Pre-computed WASM hash (SHA-256)
|
|
15
|
+
* Use this when the WASM is already uploaded on-chain
|
|
16
|
+
*/
|
|
17
|
+
export declare const WASM_HASH = "cfc1615712a9510f7edc8a62ea2a39bf33e6f9d6717342400e93a23775b55abe";
|
|
18
|
+
/**
|
|
19
|
+
* Get the WASM bytecode as a Buffer
|
|
20
|
+
* Use this to upload the WASM to the network
|
|
21
|
+
*/
|
|
22
|
+
export declare function getWasmBuffer(): Buffer;
|
|
8
23
|
export type PriceFeedStorage = {
|
|
9
24
|
tag: "PriceRatioDenominator";
|
|
10
25
|
values: void;
|
|
@@ -108,6 +123,9 @@ export interface SetEidToModelTypeParam {
|
|
|
108
123
|
*/
|
|
109
124
|
model_type: ModelType;
|
|
110
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* BufferReaderError: 1000-1009
|
|
128
|
+
*/
|
|
111
129
|
export declare const BufferReaderError: {
|
|
112
130
|
1000: {
|
|
113
131
|
message: string;
|
|
@@ -116,43 +134,109 @@ export declare const BufferReaderError: {
|
|
|
116
134
|
message: string;
|
|
117
135
|
};
|
|
118
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* BufferWriterError: 1010-1019
|
|
139
|
+
*/
|
|
119
140
|
export declare const BufferWriterError: {
|
|
120
|
-
|
|
141
|
+
1010: {
|
|
121
142
|
message: string;
|
|
122
143
|
};
|
|
123
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* TtlConfigurableError: 1020-1029
|
|
147
|
+
*/
|
|
124
148
|
export declare const TtlConfigurableError: {
|
|
125
|
-
|
|
149
|
+
1020: {
|
|
126
150
|
message: string;
|
|
127
151
|
};
|
|
128
|
-
|
|
152
|
+
1021: {
|
|
129
153
|
message: string;
|
|
130
154
|
};
|
|
131
|
-
|
|
155
|
+
1022: {
|
|
132
156
|
message: string;
|
|
133
157
|
};
|
|
134
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* OwnableError: 1030-1039
|
|
161
|
+
*/
|
|
135
162
|
export declare const OwnableError: {
|
|
136
|
-
|
|
163
|
+
1030: {
|
|
164
|
+
message: string;
|
|
165
|
+
};
|
|
166
|
+
1031: {
|
|
167
|
+
message: string;
|
|
168
|
+
};
|
|
169
|
+
1032: {
|
|
170
|
+
message: string;
|
|
171
|
+
};
|
|
172
|
+
1033: {
|
|
137
173
|
message: string;
|
|
138
174
|
};
|
|
139
|
-
|
|
175
|
+
1034: {
|
|
176
|
+
message: string;
|
|
177
|
+
};
|
|
178
|
+
1035: {
|
|
140
179
|
message: string;
|
|
141
180
|
};
|
|
142
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* BytesExtError: 1040-1049
|
|
184
|
+
*/
|
|
143
185
|
export declare const BytesExtError: {
|
|
144
|
-
|
|
186
|
+
1040: {
|
|
145
187
|
message: string;
|
|
146
188
|
};
|
|
147
189
|
};
|
|
190
|
+
/**
|
|
191
|
+
* UpgradeableError: 1050-1059
|
|
192
|
+
*/
|
|
148
193
|
export declare const UpgradeableError: {
|
|
149
|
-
|
|
194
|
+
1050: {
|
|
150
195
|
message: string;
|
|
151
196
|
};
|
|
152
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* MultisigError: 1060-1069
|
|
200
|
+
*/
|
|
201
|
+
export declare const MultisigError: {
|
|
202
|
+
1060: {
|
|
203
|
+
message: string;
|
|
204
|
+
};
|
|
205
|
+
1061: {
|
|
206
|
+
message: string;
|
|
207
|
+
};
|
|
208
|
+
1062: {
|
|
209
|
+
message: string;
|
|
210
|
+
};
|
|
211
|
+
1063: {
|
|
212
|
+
message: string;
|
|
213
|
+
};
|
|
214
|
+
1064: {
|
|
215
|
+
message: string;
|
|
216
|
+
};
|
|
217
|
+
1065: {
|
|
218
|
+
message: string;
|
|
219
|
+
};
|
|
220
|
+
1066: {
|
|
221
|
+
message: string;
|
|
222
|
+
};
|
|
223
|
+
1067: {
|
|
224
|
+
message: string;
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
export type MultisigStorage = {
|
|
228
|
+
tag: "Signers";
|
|
229
|
+
values: void;
|
|
230
|
+
} | {
|
|
231
|
+
tag: "Threshold";
|
|
232
|
+
values: void;
|
|
233
|
+
};
|
|
153
234
|
export type OwnableStorage = {
|
|
154
235
|
tag: "Owner";
|
|
155
236
|
values: void;
|
|
237
|
+
} | {
|
|
238
|
+
tag: "PendingOwner";
|
|
239
|
+
values: void;
|
|
156
240
|
};
|
|
157
241
|
/**
|
|
158
242
|
* TTL configuration: threshold (when to extend) and extend_to (target TTL).
|
|
@@ -181,6 +265,9 @@ export type UpgradeableStorage = {
|
|
|
181
265
|
tag: "Migrating";
|
|
182
266
|
values: void;
|
|
183
267
|
};
|
|
268
|
+
/**
|
|
269
|
+
* WorkerError: 1200-1299
|
|
270
|
+
*/
|
|
184
271
|
export declare const WorkerError: {
|
|
185
272
|
1200: {
|
|
186
273
|
message: string;
|
|
@@ -477,18 +564,9 @@ export interface Client {
|
|
|
477
564
|
simulate?: boolean;
|
|
478
565
|
}) => Promise<AssembledTransaction<null>>;
|
|
479
566
|
/**
|
|
480
|
-
* Construct and simulate a
|
|
481
|
-
* Extends the instance TTL.
|
|
482
|
-
*
|
|
483
|
-
* # Arguments
|
|
484
|
-
*
|
|
485
|
-
* * `threshold` - The threshold to extend the TTL.
|
|
486
|
-
* * `extend_to` - The TTL to extend to.
|
|
567
|
+
* Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
487
568
|
*/
|
|
488
|
-
|
|
489
|
-
threshold: u32;
|
|
490
|
-
extend_to: u32;
|
|
491
|
-
}, txnOptions?: {
|
|
569
|
+
authorizer: (txnOptions?: {
|
|
492
570
|
/**
|
|
493
571
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
494
572
|
*/
|
|
@@ -501,7 +579,7 @@ export interface Client {
|
|
|
501
579
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
502
580
|
*/
|
|
503
581
|
simulate?: boolean;
|
|
504
|
-
}) => Promise<AssembledTransaction<
|
|
582
|
+
}) => Promise<AssembledTransaction<string>>;
|
|
505
583
|
/**
|
|
506
584
|
* Construct and simulate a estimate_fee_by_eid transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
507
585
|
* Estimate fee with detailed breakdown by endpoint ID
|
|
@@ -806,10 +884,24 @@ export interface Client {
|
|
|
806
884
|
simulate?: boolean;
|
|
807
885
|
}) => Promise<AssembledTransaction<ModelType>>;
|
|
808
886
|
/**
|
|
809
|
-
* Construct and simulate a
|
|
810
|
-
*
|
|
887
|
+
* Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
888
|
+
* Sets TTL configs for instance and persistent storage.
|
|
889
|
+
*
|
|
890
|
+
* - `None` values remove the corresponding config (disables auto-extension for that type)
|
|
891
|
+
* - Validates that `threshold <= extend_to <= MAX_TTL`
|
|
892
|
+
*
|
|
893
|
+
* # Arguments
|
|
894
|
+
* - `instance` - TTL config for instance storage
|
|
895
|
+
* - `persistent` - TTL config for persistent storage
|
|
896
|
+
*
|
|
897
|
+
* # Panics
|
|
898
|
+
* - `TtlConfigFrozen` if configs are frozen
|
|
899
|
+
* - `InvalidTtlConfig` if validation fails
|
|
811
900
|
*/
|
|
812
|
-
|
|
901
|
+
set_ttl_configs: ({ instance, persistent }: {
|
|
902
|
+
instance: Option<TtlConfig>;
|
|
903
|
+
persistent: Option<TtlConfig>;
|
|
904
|
+
}, txnOptions?: {
|
|
813
905
|
/**
|
|
814
906
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
815
907
|
*/
|
|
@@ -822,14 +914,12 @@ export interface Client {
|
|
|
822
914
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
823
915
|
*/
|
|
824
916
|
simulate?: boolean;
|
|
825
|
-
}) => Promise<AssembledTransaction<
|
|
917
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
826
918
|
/**
|
|
827
|
-
* Construct and simulate a
|
|
828
|
-
*
|
|
919
|
+
* Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
920
|
+
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
829
921
|
*/
|
|
830
|
-
|
|
831
|
-
new_owner: string;
|
|
832
|
-
}, txnOptions?: {
|
|
922
|
+
ttl_configs: (txnOptions?: {
|
|
833
923
|
/**
|
|
834
924
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
835
925
|
*/
|
|
@@ -842,12 +932,18 @@ export interface Client {
|
|
|
842
932
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
843
933
|
*/
|
|
844
934
|
simulate?: boolean;
|
|
845
|
-
}) => Promise<AssembledTransaction<
|
|
935
|
+
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
846
936
|
/**
|
|
847
|
-
* Construct and simulate a
|
|
848
|
-
* Permanently
|
|
937
|
+
* Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
938
|
+
* Permanently freezes TTL configs, preventing any future modifications.
|
|
939
|
+
*
|
|
940
|
+
* This is irreversible and provides immutability guarantees to users.
|
|
941
|
+
* Emits `TtlConfigsFrozen` event.
|
|
942
|
+
*
|
|
943
|
+
* # Panics
|
|
944
|
+
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
849
945
|
*/
|
|
850
|
-
|
|
946
|
+
freeze_ttl_configs: (txnOptions?: {
|
|
851
947
|
/**
|
|
852
948
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
853
949
|
*/
|
|
@@ -862,23 +958,98 @@ export interface Client {
|
|
|
862
958
|
simulate?: boolean;
|
|
863
959
|
}) => Promise<AssembledTransaction<null>>;
|
|
864
960
|
/**
|
|
865
|
-
* Construct and simulate a
|
|
866
|
-
*
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
961
|
+
* Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
962
|
+
* Returns whether TTL configs are frozen.
|
|
963
|
+
*/
|
|
964
|
+
is_ttl_configs_frozen: (txnOptions?: {
|
|
965
|
+
/**
|
|
966
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
967
|
+
*/
|
|
968
|
+
fee?: number;
|
|
969
|
+
/**
|
|
970
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
971
|
+
*/
|
|
972
|
+
timeoutInSeconds?: number;
|
|
973
|
+
/**
|
|
974
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
975
|
+
*/
|
|
976
|
+
simulate?: boolean;
|
|
977
|
+
}) => Promise<AssembledTransaction<boolean>>;
|
|
978
|
+
/**
|
|
979
|
+
* Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
980
|
+
* Extends the instance TTL.
|
|
870
981
|
*
|
|
871
982
|
* # Arguments
|
|
872
|
-
*
|
|
873
|
-
*
|
|
983
|
+
*
|
|
984
|
+
* * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
|
|
985
|
+
* * `extend_to` - The TTL to extend to.
|
|
986
|
+
*/
|
|
987
|
+
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
988
|
+
threshold: u32;
|
|
989
|
+
extend_to: u32;
|
|
990
|
+
}, txnOptions?: {
|
|
991
|
+
/**
|
|
992
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
993
|
+
*/
|
|
994
|
+
fee?: number;
|
|
995
|
+
/**
|
|
996
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
997
|
+
*/
|
|
998
|
+
timeoutInSeconds?: number;
|
|
999
|
+
/**
|
|
1000
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1001
|
+
*/
|
|
1002
|
+
simulate?: boolean;
|
|
1003
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1004
|
+
/**
|
|
1005
|
+
* Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1006
|
+
* Returns the current owner address, or None if no owner is set.
|
|
1007
|
+
*/
|
|
1008
|
+
owner: (txnOptions?: {
|
|
1009
|
+
/**
|
|
1010
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1011
|
+
*/
|
|
1012
|
+
fee?: number;
|
|
1013
|
+
/**
|
|
1014
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1015
|
+
*/
|
|
1016
|
+
timeoutInSeconds?: number;
|
|
1017
|
+
/**
|
|
1018
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1019
|
+
*/
|
|
1020
|
+
simulate?: boolean;
|
|
1021
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1022
|
+
/**
|
|
1023
|
+
* Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1024
|
+
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
1025
|
+
*/
|
|
1026
|
+
pending_owner: (txnOptions?: {
|
|
1027
|
+
/**
|
|
1028
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1029
|
+
*/
|
|
1030
|
+
fee?: number;
|
|
1031
|
+
/**
|
|
1032
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1033
|
+
*/
|
|
1034
|
+
timeoutInSeconds?: number;
|
|
1035
|
+
/**
|
|
1036
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1037
|
+
*/
|
|
1038
|
+
simulate?: boolean;
|
|
1039
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1040
|
+
/**
|
|
1041
|
+
* Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1042
|
+
* Transfers ownership immediately to a new address.
|
|
1043
|
+
*
|
|
1044
|
+
* Use with caution - if you transfer to a wrong address, ownership is lost forever.
|
|
1045
|
+
* Consider using `propose_ownership_transfer` instead.
|
|
874
1046
|
*
|
|
875
1047
|
* # Panics
|
|
876
|
-
* - `
|
|
877
|
-
* - `
|
|
1048
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1049
|
+
* - `TransferInProgress` if a 2-step transfer is in progress
|
|
878
1050
|
*/
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
persistent: Option<TtlConfig>;
|
|
1051
|
+
transfer_ownership: ({ new_owner }: {
|
|
1052
|
+
new_owner: string;
|
|
882
1053
|
}, txnOptions?: {
|
|
883
1054
|
/**
|
|
884
1055
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -894,10 +1065,27 @@ export interface Client {
|
|
|
894
1065
|
simulate?: boolean;
|
|
895
1066
|
}) => Promise<AssembledTransaction<null>>;
|
|
896
1067
|
/**
|
|
897
|
-
* Construct and simulate a
|
|
898
|
-
*
|
|
1068
|
+
* Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1069
|
+
* Proposes an ownership transfer to a new address.
|
|
1070
|
+
*
|
|
1071
|
+
* The new owner must call `accept_ownership()` within `ttl` ledgers
|
|
1072
|
+
* to complete the transfer. The pending transfer will automatically expire after.
|
|
1073
|
+
*
|
|
1074
|
+
* # Arguments
|
|
1075
|
+
* - `new_owner` - The proposed new owner
|
|
1076
|
+
* - `ttl` - Number of ledgers the new owner has to accept.
|
|
1077
|
+
* Use `0` to cancel a pending transfer (new_owner must match pending).
|
|
1078
|
+
*
|
|
1079
|
+
* # Panics
|
|
1080
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1081
|
+
* - `NoPendingTransfer` when cancelling and no pending transfer exists
|
|
1082
|
+
* - `InvalidTtl` if ttl exceeds max TTL
|
|
1083
|
+
* - `InvalidPendingOwner` when cancelling with wrong new_owner address
|
|
899
1084
|
*/
|
|
900
|
-
|
|
1085
|
+
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
1086
|
+
new_owner: string;
|
|
1087
|
+
ttl: u32;
|
|
1088
|
+
}, txnOptions?: {
|
|
901
1089
|
/**
|
|
902
1090
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
903
1091
|
*/
|
|
@@ -910,18 +1098,17 @@ export interface Client {
|
|
|
910
1098
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
911
1099
|
*/
|
|
912
1100
|
simulate?: boolean;
|
|
913
|
-
}) => Promise<AssembledTransaction<
|
|
1101
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
914
1102
|
/**
|
|
915
|
-
* Construct and simulate a
|
|
916
|
-
*
|
|
1103
|
+
* Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1104
|
+
* Accepts a pending 2-step ownership transfer.
|
|
917
1105
|
*
|
|
918
|
-
*
|
|
919
|
-
* Emits `TtlConfigsFrozen` event.
|
|
1106
|
+
* Must be called by the pending owner before the TTL expires.
|
|
920
1107
|
*
|
|
921
1108
|
* # Panics
|
|
922
|
-
* - `
|
|
1109
|
+
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
923
1110
|
*/
|
|
924
|
-
|
|
1111
|
+
accept_ownership: (txnOptions?: {
|
|
925
1112
|
/**
|
|
926
1113
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
927
1114
|
*/
|
|
@@ -936,10 +1123,14 @@ export interface Client {
|
|
|
936
1123
|
simulate?: boolean;
|
|
937
1124
|
}) => Promise<AssembledTransaction<null>>;
|
|
938
1125
|
/**
|
|
939
|
-
* Construct and simulate a
|
|
940
|
-
*
|
|
1126
|
+
* Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1127
|
+
* Permanently renounces ownership.
|
|
1128
|
+
*
|
|
1129
|
+
* # Panics
|
|
1130
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1131
|
+
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
941
1132
|
*/
|
|
942
|
-
|
|
1133
|
+
renounce_ownership: (txnOptions?: {
|
|
943
1134
|
/**
|
|
944
1135
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
945
1136
|
*/
|
|
@@ -952,7 +1143,7 @@ export interface Client {
|
|
|
952
1143
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
953
1144
|
*/
|
|
954
1145
|
simulate?: boolean;
|
|
955
|
-
}) => Promise<AssembledTransaction<
|
|
1146
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
956
1147
|
}
|
|
957
1148
|
export declare class Client extends ContractClient {
|
|
958
1149
|
readonly options: ContractClientOptions;
|
|
@@ -975,7 +1166,7 @@ export declare class Client extends ContractClient {
|
|
|
975
1166
|
readonly fromJSON: {
|
|
976
1167
|
upgrade: (json: string) => AssembledTransaction<null>;
|
|
977
1168
|
migrate: (json: string) => AssembledTransaction<null>;
|
|
978
|
-
|
|
1169
|
+
authorizer: (json: string) => AssembledTransaction<string>;
|
|
979
1170
|
estimate_fee_by_eid: (json: string) => AssembledTransaction<FeeEstimate>;
|
|
980
1171
|
native_token_price_usd: (json: string) => AssembledTransaction<bigint>;
|
|
981
1172
|
get_price: (json: string) => AssembledTransaction<Option<Price>>;
|
|
@@ -991,12 +1182,16 @@ export declare class Client extends ContractClient {
|
|
|
991
1182
|
arbitrum_compression_percent: (json: string) => AssembledTransaction<bigint>;
|
|
992
1183
|
arbitrum_price_ext: (json: string) => AssembledTransaction<ArbitrumPriceExt>;
|
|
993
1184
|
eid_to_model_type: (json: string) => AssembledTransaction<ModelType>;
|
|
994
|
-
owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
995
|
-
transfer_ownership: (json: string) => AssembledTransaction<null>;
|
|
996
|
-
renounce_ownership: (json: string) => AssembledTransaction<null>;
|
|
997
1185
|
set_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
998
1186
|
ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
|
|
999
1187
|
freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
1000
1188
|
is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
|
|
1189
|
+
extend_instance_ttl: (json: string) => AssembledTransaction<null>;
|
|
1190
|
+
owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
1191
|
+
pending_owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
1192
|
+
transfer_ownership: (json: string) => AssembledTransaction<null>;
|
|
1193
|
+
propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
|
|
1194
|
+
accept_ownership: (json: string) => AssembledTransaction<null>;
|
|
1195
|
+
renounce_ownership: (json: string) => AssembledTransaction<null>;
|
|
1001
1196
|
};
|
|
1002
1197
|
}
|