@layerzerolabs/protocol-stellar-v2 0.2.22 → 0.2.23
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 +347 -271
- package/.turbo/turbo-lint.log +277 -208
- package/.turbo/turbo-test.log +1700 -1370
- package/Cargo.lock +22 -51
- package/Cargo.toml +6 -1
- package/contracts/common-macros/src/auth.rs +10 -9
- package/contracts/common-macros/src/contract_ttl.rs +1 -4
- package/contracts/common-macros/src/error.rs +1 -3
- package/contracts/common-macros/src/lib.rs +65 -61
- package/contracts/common-macros/src/storage.rs +212 -65
- package/contracts/common-macros/src/tests/auth.rs +75 -6
- package/contracts/common-macros/src/tests/contract_ttl.rs +383 -350
- package/contracts/common-macros/src/tests/error.rs +9 -21
- package/contracts/common-macros/src/tests/lz_contract.rs +80 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +28 -1
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +8 -43
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +6 -29
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +31 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +8 -0
- package/contracts/common-macros/src/tests/storage/extract_fields.rs +87 -0
- package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +223 -0
- package/contracts/common-macros/src/tests/storage/gen_args.rs +65 -0
- package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +78 -0
- package/contracts/common-macros/src/tests/storage/gen_key.rs +108 -0
- package/contracts/common-macros/src/tests/storage/gen_params.rs +105 -0
- package/contracts/common-macros/src/tests/{storage.rs → storage/generate_storage.rs} +54 -129
- package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +48 -0
- package/contracts/common-macros/src/tests/storage/mod.rs +16 -0
- package/contracts/common-macros/src/tests/storage/parse_default.rs +164 -0
- package/contracts/common-macros/src/tests/storage/parse_name.rs +159 -0
- package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +124 -0
- package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +174 -0
- package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +412 -0
- package/contracts/common-macros/src/tests/storage/storage_kind.rs +39 -0
- package/contracts/common-macros/src/tests/storage/test_setup.rs +25 -0
- package/contracts/common-macros/src/tests/storage/validate_attrs.rs +138 -0
- package/contracts/common-macros/src/tests/storage/variant_config.rs +226 -0
- package/contracts/common-macros/src/tests/test_helpers.rs +4 -10
- package/contracts/common-macros/src/tests/ttl_configurable.rs +2 -2
- package/contracts/common-macros/src/tests/ttl_extendable.rs +32 -0
- package/contracts/common-macros/src/tests/upgradeable.rs +118 -2
- package/contracts/common-macros/src/ttl_configurable.rs +1 -4
- package/contracts/common-macros/src/upgradeable.rs +21 -3
- package/contracts/endpoint-v2/Cargo.toml +0 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +37 -17
- package/contracts/endpoint-v2/src/errors.rs +26 -1
- package/contracts/endpoint-v2/src/interfaces/layerzero_endpoint_v2.rs +1 -1
- package/contracts/endpoint-v2/src/interfaces/message_lib_manager.rs +4 -4
- package/contracts/endpoint-v2/src/interfaces/messaging_composer.rs +2 -2
- package/contracts/endpoint-v2/src/lib.rs +0 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +39 -8
- package/contracts/endpoint-v2/src/messaging_channel.rs +36 -4
- package/contracts/endpoint-v2/src/messaging_composer.rs +18 -4
- package/contracts/endpoint-v2/src/storage.rs +9 -1
- package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +4 -3
- package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +7 -2
- package/contracts/endpoint-v2/src/tests/messaging_composer/mod.rs +4 -0
- package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +7 -2
- package/contracts/layerzero-views/src/layerzero_view.rs +0 -1
- package/contracts/layerzero-views/src/tests/mod.rs +1 -0
- package/contracts/layerzero-views/src/tests/types_tests.rs +31 -0
- package/contracts/layerzero-views/src/types.rs +2 -3
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +61 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +97 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +99 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +5 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +86 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +47 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +77 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +114 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +105 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +242 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +9 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +54 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +13 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +70 -1
- package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +219 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +41 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +48 -16
- package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +10 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +96 -3
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +4 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +64 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +16 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +305 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +59 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +88 -0
- package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +83 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +22 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +86 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +45 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +34 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +49 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +19 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +1 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -8
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +7 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +13 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +38 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +14 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/{minimal_contract.rs → basic.rs} +2 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +32 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +23 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +21 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +29 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +79 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +35 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +29 -0
- package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_multisig.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +11 -0
- package/contracts/message-libs/blocked-message-lib/Cargo.toml +1 -1
- package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -1
- package/contracts/message-libs/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +108 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/mod.rs +4 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/setup.rs +40 -0
- package/contracts/message-libs/simple-message-lib/src/lib.rs +1 -1
- package/contracts/message-libs/simple-message-lib/src/tests/mod.rs +2 -0
- package/contracts/message-libs/simple-message-lib/src/tests/setup.rs +124 -0
- package/contracts/message-libs/simple-message-lib/src/tests/simple_message_lib_tests.rs +309 -0
- package/contracts/message-libs/uln-302/src/errors.rs +21 -0
- package/contracts/message-libs/uln-302/src/interfaces/receive_uln.rs +1 -1
- package/contracts/message-libs/uln-302/src/receive_uln.rs +6 -4
- package/contracts/message-libs/uln-302/src/send_uln.rs +15 -6
- package/contracts/message-libs/uln-302/src/storage.rs +5 -5
- package/contracts/message-libs/uln-302/src/tests/uln302/get_config.rs +71 -0
- package/contracts/message-libs/uln-302/src/tests/uln302/mod.rs +1 -0
- package/contracts/message-libs/uln-302/src/uln302.rs +3 -0
- package/contracts/oapps/counter/Cargo.toml +2 -0
- package/contracts/oapps/counter/integration_tests/mod.rs +1 -0
- package/contracts/oapps/counter/integration_tests/setup_sml.rs +6 -4
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +12 -5
- package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +67 -0
- package/contracts/oapps/counter/src/tests/mod.rs +1 -0
- package/contracts/oapps/counter/src/tests/test_u256_ext.rs +48 -0
- package/contracts/oapps/oapp/src/lib.rs +0 -3
- package/contracts/oapps/oapp/src/tests/mod.rs +1 -0
- package/contracts/oapps/oft/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft/src/lib.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +240 -0
- package/contracts/oapps/oft/src/tests/extensions/pausable.rs +141 -0
- package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +447 -0
- package/contracts/oapps/oft/src/tests/mod.rs +2 -0
- package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +180 -0
- package/contracts/oapps/oft/src/tests/oft_types/mod.rs +1 -0
- package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft-core/src/lib.rs +2 -2
- package/contracts/oapps/oft-core/src/tests/mod.rs +1 -1
- package/contracts/oapps/oft-core/src/tests/{test_oft_version.rs → test_oft_version_and_approval.rs} +9 -0
- package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -43
- package/contracts/upgrader/src/tests/test_upgrader.rs +18 -0
- package/contracts/utils/src/auth.rs +2 -2
- package/contracts/utils/src/buffer_reader.rs +61 -10
- package/contracts/utils/src/buffer_writer.rs +35 -20
- package/contracts/utils/src/bytes_ext.rs +1 -2
- package/contracts/utils/src/errors.rs +5 -3
- package/contracts/utils/src/multisig.rs +59 -36
- package/contracts/utils/src/option_ext.rs +3 -3
- package/contracts/utils/src/ownable.rs +12 -6
- package/contracts/utils/src/tests/auth.rs +179 -0
- package/contracts/utils/src/tests/buffer_reader.rs +203 -1
- package/contracts/utils/src/tests/buffer_writer.rs +176 -5
- package/contracts/utils/src/tests/mod.rs +2 -0
- package/contracts/utils/src/tests/multisig.rs +170 -141
- package/contracts/utils/src/tests/option_ext.rs +1 -1
- package/contracts/utils/src/tests/ownable.rs +156 -161
- package/contracts/utils/src/tests/test_helper.rs +21 -1
- package/contracts/utils/src/tests/testing_utils.rs +84 -2
- package/contracts/utils/src/tests/ttl_configurable.rs +66 -86
- package/contracts/utils/src/tests/ttl_extendable.rs +64 -0
- package/contracts/utils/src/tests/upgradeable.rs +115 -6
- package/contracts/utils/src/ttl_configurable.rs +22 -12
- package/contracts/utils/src/ttl_extendable.rs +1 -3
- package/contracts/utils/src/upgradeable.rs +21 -24
- package/contracts/workers/dvn/src/auth.rs +1 -1
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/storage.rs +1 -1
- package/contracts/workers/dvn/src/tests/auth.rs +136 -3
- package/contracts/workers/dvn/src/tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/setup.rs +4 -10
- package/contracts/workers/executor-helper/src/tests/executor_helper.rs +279 -0
- package/contracts/workers/executor-helper/src/tests/setup.rs +106 -1
- package/contracts/workers/worker/src/worker.rs +1 -1
- package/docs/oft-guide.md +5 -5
- package/package.json +5 -7
- package/sdk/.turbo/turbo-test.log +662 -466
- package/sdk/LICENSE +23 -0
- package/sdk/dist/generated/bml.d.ts +101 -106
- package/sdk/dist/generated/bml.js +108 -26
- package/sdk/dist/generated/counter.d.ts +123 -484
- package/sdk/dist/generated/counter.js +103 -25
- package/sdk/dist/generated/dvn.d.ts +141 -699
- package/sdk/dist/generated/dvn.js +106 -28
- package/sdk/dist/generated/dvn_fee_lib.d.ts +31 -248
- package/sdk/dist/generated/dvn_fee_lib.js +27 -24
- package/sdk/dist/generated/endpoint.d.ts +158 -836
- package/sdk/dist/generated/endpoint.js +107 -29
- package/sdk/dist/generated/executor.d.ts +139 -671
- package/sdk/dist/generated/executor.js +106 -28
- package/sdk/dist/generated/executor_fee_lib.d.ts +109 -264
- package/sdk/dist/generated/executor_fee_lib.js +106 -28
- package/sdk/dist/generated/executor_helper.d.ts +95 -92
- package/sdk/dist/generated/executor_helper.js +103 -25
- package/sdk/dist/generated/layerzero_view.d.ts +178 -335
- package/sdk/dist/generated/layerzero_view.js +172 -33
- package/sdk/dist/generated/oft.d.ts +137 -680
- package/sdk/dist/generated/oft.js +103 -25
- package/sdk/dist/generated/price_feed.d.ts +45 -444
- package/sdk/dist/generated/price_feed.js +27 -24
- package/sdk/dist/generated/sml.d.ts +119 -428
- package/sdk/dist/generated/sml.js +103 -25
- package/sdk/dist/generated/treasury.d.ts +109 -288
- package/sdk/dist/generated/treasury.js +103 -25
- package/sdk/dist/generated/uln302.d.ts +190 -527
- package/sdk/dist/generated/uln302.js +170 -31
- package/sdk/dist/generated/upgrader.d.ts +14 -34
- package/sdk/dist/generated/upgrader.js +24 -21
- package/sdk/package.json +3 -4
- package/sdk/test/counter-sml.test.ts +218 -142
- package/sdk/test/counter-uln.test.ts +189 -145
- package/sdk/test/oft-sml.test.ts +173 -156
- package/sdk/test/suites/constants.ts +7 -1
- package/sdk/test/suites/globalSetup.ts +140 -74
- package/sdk/turbo.json +1 -1
- package/tools/ts-bindings-gen/Cargo.toml +4 -4
- package/tools/ts-bindings-gen/src/main.rs +4 -0
- package/turbo.json +3 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +0 -1072
- package/contracts/endpoint-v2/src/constants.rs +0 -52
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +0 -26
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +0 -21
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +0 -19
- package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +0 -15
- package/contracts/message-libs/simple-message-lib/src/test.rs +0 -280
- package/contracts/oapps/oapp/src/macro_tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/multisig/mod.rs +0 -3
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +0 -132
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +0 -109
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +0 -106
- /package/contracts/oapps/oapp/src/{macro_tests → tests}/test_macros.rs +0 -0
|
@@ -6,14 +6,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
|
|
|
6
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
7
7
|
/**
|
|
8
8
|
* Embedded WASM bytecode (base64-encoded)
|
|
9
|
-
* Size:
|
|
9
|
+
* Size: 36129 bytes (35.28 KB)
|
|
10
10
|
*/
|
|
11
|
-
export declare const WASM_BASE64 = "AGFzbQEAAAABmQEaYAJ+fgF+YAN+fn4BfmABfgF+YAR+fn5+AX5gAAF+YAJ/fwBgAX8BfmACfn4Bf2ACf34AYAABf2ABfwBgAX8Bf2AAAGACfn8AYAF+AGADf39/AGACfn4AYAN/fn4AYAJ/fwF+YAR/f39/AX5gA35/fgF/YAR/fn5+AX9gBn9+fn9+fgBgA35/fwBgA35+fgF/YAV+f39/fwACowEbAWwBMQAAAWwBXwABAWEBMAACAXgBMAAAAWwBNgACAWIBMAACAWwBNwADAXgBMQAAAWwBMgAAAXYBXwAEAWQBXwABAWIBOAACAWIBZQAAAWkBXwACAWkBMAACAWIBMwAAAWIBagAAAWIBMQADAW0BOQABAW0BYQADAXYBZwAAAXgBMwAEAXgBOAAEAWwBMAAAAWwBOAAAAXgBNQACAWIBZgABA2FgBQYHCAcHCQoFCwkGDAQECg0MCg4GCg8IBAYCCAoCBAUEBAQABAIOEAAMCRESAhMEDAQAAAgFBQYEBQUSBAQBDAQEBAQECQAIFAMVABYBABIXCwYSGAwGDAgIGQ8IDwYPBQMBABEGIQR/AUGAgMAAC38AQbyCwAALfwBB84TAAAt/AEGAhcAACwefAxwGbWVtb3J5AgAHdXBncmFkZQA1B21pZ3JhdGUAOAZmcmVlemUAOQlpc19mcm96ZW4AOwphdXRob3JpemVyADwFb3duZXIAPQ1wZW5kaW5nX293bmVyAD8SdHJhbnNmZXJfb3duZXJzaGlwAEAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAQxBhY2NlcHRfb3duZXJzaGlwAEoScmVub3VuY2Vfb3duZXJzaGlwAEwTZXh0ZW5kX2luc3RhbmNlX3R0bABND3NldF90dGxfY29uZmlncwBOC3R0bF9jb25maWdzAFMSZnJlZXplX3R0bF9jb25maWdzAFcVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAFgNX19jb25zdHJ1Y3RvcgBZCGVuZHBvaW50AFsGdWxuMzAyAF0JbG9jYWxfZWlkAF8NaW5pdGlhbGl6YWJsZQBhCnZlcmlmaWFibGUAZApleGVjdXRhYmxlAGYOdWxuX3ZlcmlmaWFibGUAaQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKoFZgTQECfkIAIQICQAJAIAEQnICAgAAiA0ICEJ2AgIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQcCAwIAAQQgQsYCAgAAgASgCAA0DIAEgASkDCBCygICAAAwCCyABQciAwIAAQQYQsYCAgAAgASgCAA0CIAEgASkDCBCygICAAAwBCyABQc6AwIAAQQgQsYCAgAAgASgCAA0BIAEgASkDCBCygICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AIAAgARCXgICAAEIBUQsVACAAEJyAgIAAIAFCAhCBgICAABoLDwAgACABEKCAgIAAQQFzCw0AIAAgARCDgICAAFALWAECfyOAgICAAEEQayIAJICAgIAAIABBBGoQooCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEKOAgIAAC0EAEKSAgIAAIQEgAEEQaiSAgICAACABQf0BcQsMACAAQQEQ1ICAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQmICAgAAaC0cCAX8BfkECIQECQCAAEPmAgIAAIgJCAhCdgICAAEUNAEEBIQECQAJAIAJCAhCAgICAAKdB/wFxDgIBAgALAAtBACEBCyABC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqEKKAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBCjgICAAAtBACEBAkBBABCmgICAACICQgIQnYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHShMCAAEEGELGAgIAAIAEoAgANAyABIAEpAwgQsoCAgAAMAgsgAUHYhMCAAEEIELGAgIAAIAEoAgANAiABIAEpAwgQsoCAgAAMAQsgAUHghMCAAEEKELGAgIAAIAEoAgANASABIAEpAwgQsoCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABCogICAABCCgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCigICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQo4CAgAALIAAQqoCAgAAgACkDCCEBIAApAwBBiggQq4CAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqoCAgAAgACkDCCEBIAApAwBBiggQq4CAgAAgARCCgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqEKKAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCjgICAAAsgABCwgICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQroCAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEK2AgIAAAkAgACkDAFANAEKDgICAsIEBEK6AgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahCigICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQo4CAgAALQgAhAgJAAkBBARCvgICAACIDQgAQnYCAgABFDQAgA0IAEICAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsACwsAIAAQmYCAgAAaC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUHlg8CAAEEMELGAgIAAIAEoAgANAiABIAEpAwgQsoCAgAAMAQsgAUHgg8CAAEEFELGAgIAAIAEoAgANASABIAEpAwgQsoCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABCvgICAACICQgIQnYCAgABFDQAgAkICEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhD2gICAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQ1oCAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALDgBBgIDAgAAQtICAgAALDAAgAEEgEO6AgIAAC5gBAQF/I4CAgIAAQRBrIgEkgICAgAAgASAAELaAgIAAAkACQCABKAIAQQFGDQAgASkDCCEAIAEQooCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEKOAgIAACxCngICAABChgICAAA0BQQEQt4CAgAAgABCEgICAABogAUEQaiSAgICAAEICDwsAC0KDgICAwIMBEK6AgIAAAAtCAQF+QgEhAgJAIAFC/wGDQsgAUg0AIAEQi4CAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALDABBASAAELqAgIAAC60BAQF/I4CAgIAAQRBrIgEkgICAgAACQAJAAkAgAEL/AYNCyABSDQAgAUEEahCigICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQo4CAgAALEKeAgIAAQQEQpICAgABB/QFxRQ0BIAAQhYCAgABC/wGDQgJSDQJBABC3gICAACABQRBqJICAgIAAQgIPCwALQoOAgICwgwEQroCAgAAAC0KDgICAoIMBEK6AgIAAAAtaAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCigICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQo4CAgAALEKeAgIAAQQBBARC6gICAACAAQRBqJICAgIAAQgILGgAgABD5gICAACABrUL/AYNCAhCBgICAABoLCQAQoYCAgACtCwgAEKiAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqoCAgAAgACkDACAAKQMIEL6AgIAAIQEgAEEQaiSAgICAACABCw0AIAFCAiAAp0EBcRsLPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCtgICAACAAKQMAIAApAwgQvoCAgAAhASAAQRBqJICAgIAAIAELfQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFINACABQQRqEKKAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCjgICAAAsQqYCAgAAhAhCsgICAACAAEMGAgIAAIAIgABDCgICAACABQRBqJICAgIAAQgIPCwALDgBBACAAQgIQxoCAgAALYQIBfwF+I4CAgIAAQRBrIgIkgICAgABB14LAgABBFRDHgICAABDIgICAACEDIAIgADcDCCACIAE3AwAgA0GAg8CAAEECIAJBAhDJgICAABCHgICAABogAkEQaiSAgICAAAvdAgIBfwJ+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQhqEKKAgIAAAkAgAigCCEEBRw0AIAIoAgwgAigCEBCjgICAAAsQqYCAgAAhAwJAAkAgAUL/////D1YNACACQQhqEK2AgIAAIAIpAxAhASACKQMIQYgIEKuAgIAAIAEgABCDgICAAFBFDQMQxICAgAAMAQsQxYCAgAAgAUIgiKdJDQNBASAAQgAQxoCAgABBARCvgICAAEIAIAFChICAgHCDIgEgARCGgICAABpBkIPAgABBFhDHgICAABDIgICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARBrIPAgABBAyACQQhqQQMQyYCAgAAQh4CAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDggAEQroCAgAAAC0KDgICA8IABEK6AgIAAAAsTAEEBEK+AgIAAQgAQiICAgAAaCzMBAn4QlYCAgAAhAAJAEJaAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LENqAgIAAAAsVACAAEK+AgIAAIAEgAhCBgICAABoLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ9oCAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARDWgICAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJKAgIAAC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAEKKAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBCjgICAAAsgABCtgICAACAAKQMIIQEgACkDAEGICBCrgICAACABEIKAgIAAGiAAELCAgIAAAkAgACgCAA0AEMuAgIAAAAsgACkDCCECEMSAgIAAIAEQwYCAgAAgAiABEMKAgIAAIABBEGokgICAgABCAgsJABDagICAAAALoAECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQooCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKOAgIAACxCpgICAACEBEKyAgIAAQQAQr4CAgABCAhCIgICAABpBxIPAgABBExDHgICAABDIgICAACECIAAgATcDACACQdiDwIAAQQEgAEEBEMmAgIAAEIeAgIAAGiAAQRBqJICAgIAAQgILMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQo4CAgABCAg8LAAveBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQz4CAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDPgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqEKKAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBCjgICAAAsQp4CAgAACQAJAAkAQpYCAgAANABDFgICAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABCugICAAAALQoOAgIDA/wAQroCAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBDQgICAAAwBC0EBEKaAgIAAQgIQiICAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBDRgICAAAwBC0ECEKaAgIAAQgIQiICAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRBjITAgABBDxDHgICAABDIgICAACEAIAJBKGoQ0oCAgAAhASACIAJBNGoQ0oCAgAA3A0ggAiABNwNAIABBsITAgABBAiACQcAAakECEMmAgIAAEIeAgIAAGiACQdAAaiSAgICAAEICDwsAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARD3gICAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAACw4AQQEgACABEPqAgIAACw4AQQIgACABEPqAgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDVgICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILxAECAn8BfiOAgICAAEHAAGsiACSAgICAACAAQQhqEKKAgIAAAkAgACgCCEEBRw0AIAAoAgwgACgCEBCjgICAAAsgAEEIahCigICAACAAQRRqIgFBAhDUgICAACAAQTBqIABBCGoQ1YCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABENWAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhDWgICAACECIABBwABqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEKaAgIAAIgRCAhCdgICAAEUNACACQQRqIARCAhCAgICAABD3gICAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ+ICAgAAPCyAAQgA3AwAgAEICNwMICxoAIACtQiCGQgSEIAGtQiCGQgSEEJSAgIAAC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCigICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQo4CAgAALEKeAgIAAAkAQpYCAgABFDQBCg4CAgOD/ABCugICAAAALQQAQpoCAgABCAUICEIGAgIAAGkHAhMCAAEESEMeAgIAAEMiAgIAAQQRBACAAQRhqQQAQyYCAgAAQh4CAgAAaIABBIGokgICAgABCAgsJABClgICAAK0LywEAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJC/wGDQs0AUg0AQYDLHkGA0h8Q0ICAgABBgMseQYDSHxDRgICAAEEAEK+AgIAAQgIQnYCAgAANASAAEMGAgIAAQQAgARCegICAAEEBIAIQnoCAgAAgAUKO0q4VEImAgIAAEIqAgIAAIgFC/wGDQgRSDQJBAhCcgICAACABQoSAgIBwg0ICEIGAgIAAGkICDwsAC0KDgICAkIEBEK6AgIAAAAsQ2oCAgAAACwkAEPKAgIAAAAsIABDcgICAAAtrAgF/AX4jgICAgABBEGsiACSAgICAACAAEKKAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBCjgICAAAsgAEEAEJuAgIAAAkAgACgCAA0AEMuAgIAAAAsgACkDCCEBIABBEGokgICAgAAgAQsIABDegICAAAtrAgF/AX4jgICAgABBEGsiACSAgICAACAAEKKAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBCjgICAAAsgAEEBEJuAgIAAAkAgACgCAA0AEMuAgIAAAAsgACkDCCEBIABBEGokgICAgAAgAQsPABDggICAAK1CIIZCBIQLiAECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQooCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEKOAgIAACwJAAkBBAhCcgICAACIBQgIQnYCAgABFDQAgAUICEICAgIAAIgFC/wGDQgRRDQEACxDLgICAAAALIABBEGokgICAgAAgAUIgiKcLugEBAn8jgICAgABBwABrIgIkgICAgAAgAkEgaiAAEOKAgIAAAkAgAigCIEEBRg0AIAJBCGpBEGogAkE4aikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAiACKQMoNwMIIAFC/wGDQs0AUg0AIAJBIGoQooCAgAACQCACKAIgQQFHDQAgAigCJCACKAIoEKOAgIAACxDcgICAACACQQhqIAEQ44CAgAAhAyACQcAAaiSAgICAACADrQ8LAAviAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMgcCAAEEDIAJBCGpBAxD1gICAACACQSBqIAIpAwgQ9ICAgAAgAigCIA0AIAIpAyghASACQSBqIAIpAxAQtoCAgAAgAigCIA0AIAIpAxgiBUL/AYNCBFINACACKQMoIQQgACABNwMQIAAgBDcDCCAAIAVCIIg+AhhCACEECyAAIAQ3AwAgAkEwaiSAgICAAAu6AQIBfwJ+I4CAgIAAQSBrIgMkgICAgABB5IHAgABBDRDHgICAACEEIAEQ8YCAgAAhBSADIAI3AwggAyAFNwMAQQAhAQN/AkAgAUEQRw0AQQAhAQJAA0AgAUEQRg0BIANBEGogAWogAyABaikDADcDACABQQhqIQEMAAsLIAAgBCADQRBqQQIQ1oCAgAAQ74CAgAAhASADQSBqJICAgIAAIAEPCyADQRBqIAFqQgI3AwAgAUEIaiEBDAALC7YBAQJ/I4CAgIAAQcAAayIEJICAgIAAIARBIGogABDigICAAAJAIAQoAiBBAUYNACAEQQhqQRBqIARBOGopAwA3AwAgBEEQaiAEQSBqQRBqKQMANwMAIAQgBCkDKDcDCCABQv8Bg0LNAFINACACQv8Bg0LNAFINACAEQSBqIAMQtoCAgAAgBCgCIEEBRg0AIARBCGogASACIAQpAygQ5YCAgAAhBSAEQcAAaiSAgICAACAFrQ8LAAurAwMBfwN+AX8jgICAgABBMGsiBCSAgICAACAEQRhqEKKAgIAAAkAgBCgCGEEBRw0AIAQoAhwgBCgCIBCjgICAAAsQ3ICAgAAhBSAANQIQIQZB8YHAgABBGBDHgICAACEHIAQgAjcDECAEIAZCIIZCBIQ3AwggBCABNwMAQQAhCAJAAkADQAJAIAhBGEcNAEEAIQgCQANAIAhBGEYNASAEQRhqIAhqIAQgCGopAwA3AwAgCEEIaiEIDAALCyAFIAcgBEEYakEDENaAgIAAEO+AgIAARQ0CQcSCwIAAQQoQx4CAgAAhAiAAEPGAgIAAIQYgBCABNwMIIAQgBjcDAEEAIQgDQAJAIAhBEEcNAEEAIQgCQANAIAhBEEYNASAEQRhqIAhqIAQgCGopAwA3AwAgCEEIaiEIDAALCyAFIAIgBEEYakECENaAgIAAEO+AgIAARQ0EIAMQs4CAgAAQoICAgABBAXMhCAwFCyAEQRhqIAhqQgI3AwAgCEEIaiEIDAALCyAEQRhqIAhqQgI3AwAgCEEIaiEIDAALC0EAIQgLIARBMGokgICAgAAgCAv6BQICfwZ+I4CAgIAAQdAAayICJICAgIAAIAJBCGogABDigICAAAJAAkAgAigCCEEBRg0AIAFC/wGDQs0AUg0AIAIoAiAhAyACKQMYIQAgAikDECEEIAJBCGoQooCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEKOAgIAACyACQShqENyAgIAAIgUgASADIAQgABDngICAABCzgICAACEGQaCAwIAAELSAgIAAIQcCQAJAAkACQCACKAIoDQBBloLAgABBEhDHgICAACEHIAIgBDcDSCACIAE3AzggAiADrUIghkIEhDcDQEEAIQMDQAJAIANBGEcNAEEAIQMCQANAIANBGEYNASACQQhqIANqIAJBOGogA2opAwA3AwAgA0EIaiEDDAALCyAAIAUgByACQQhqQQMQ1oCAgAAQ6ICAgABWDQMgAkEIakGFgcCAAEEIELGAgIAAIAIoAggNBiACQQhqIAIpAxAQsoCAgAAMBQsgAkEIaiADakICNwMAIANBCGohAwwACwsCQCACKQMwIgggBxCfgICAAEUNAEGJgsCAAEENEMeAgIAAIQkgAiAENwNIIAIgATcDOCACIAOtQiCGQgSENwNAQQAhAwNAAkAgA0EYRw0AQQAhAwJAA0AgA0EYRg0BIAJBCGogA2ogAkE4aiADaikDADcDACADQQhqIQMMAAsLIAAgBSAJIAJBCGpBAxDWgICAABDogICAAFYNAiACQQhqQfuAwIAAQQoQsYCAgAAgAigCCA0GIAJBCGogAikDEBCygICAAAwFCyACQQhqIANqQgI3AwAgA0EIaiEDDAALCyAIIAYQn4CAgABFDQAgCCAHEJ+AgIAADQELIAJBCGpB1oDAgABBDRCxgICAACACKAIIDQIgAkEIaiACKQMQELKAgIAADAELIAJBCGpB44DAgABBGBCxgICAACACKAIIDQEgAkEIaiACKQMQELKAgIAACyACKQMQIQEgAikDCFANAQsACyACQdAAaiSAgICAACABC64CAgF/AX4jgICAgABBwABrIgYkgICAgABBqILAgABBFBDHgICAACEHIAZBIGogBRDzgICAAAJAIAYoAiBBAUYNACAGIAYpAyg3AxggBiAENwMQIAYgAjcDACAGIAOtQiCGQgSENwMIQQAhAwJAA0ACQCADQSBHDQBBACEDAkADQCADQSBGDQEgBkEgaiADaiAGIANqKQMANwMAIANBCGohAwwACwsCQAJAIAEgByAGQSBqQQQQ1oCAgAAQioCAgAAiBUICUg0AQgAhBQwBCyAGQSBqIAUQtoCAgAAgBigCIEEBRg0DIAYpAyghBEIBIQULIAAgBDcDCCAAIAU3AwAgBkHAAGokgICAgAAPCyAGQSBqIANqQgI3AwAgA0EIaiEDDAALCxDagICAAAALAAtRAQF/I4CAgIAAQRBrIgMkgICAgAAgAyAAIAEgAhCKgICAABD0gICAAAJAIAMoAgBBAUcNABDagICAAAALIAMpAwghAiADQRBqJICAgIAAIAIL5QgGAX8BfgF/AX4BfwF+I4CAgIAAQcAAayICJICAgIAAAkACQCAAQv8Bg0LIAFINACACIAA3AwAgAkEIaiABELaAgIAAIAIoAghBAUYNACACKQMQIQMgAkEIahCigICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQo4CAgAALAkACQCACKQMAEIuAgIAAQoCAgIBwg0KAgICAkApSDQAgAkEANgI0IAIgAjYCMAJAIAJBMGpBARDqgICAACIAEIuAgIAAQoCAgIBwg0KAgICAEFINACACQQA6AAgCQCAAEIuAgIAAQoCAgIBwg0KAgICAEFINACAAIAJBCGpBARDrgICAAAJAIAItAAhBAUcNAAJAIAJBMGpBCBDqgICAACIAEIuAgIAAQoCAgIBwg0KAgICAgAFSDQAgAkIANwMIIAAQi4CAgABCgICAgHCDQoCAgICAAVINAiAAIAJBCGpBCBDrgICAACACKQMIIQAgAkEwahDsgICAACEEIAJBMGoQ7YCAgAAhBSACQTBqEOyAgIAAIQYgAkEwahDtgICAACEBAkAgBhDggICAAEcNAEG8gsCAAEEIEO6AgIAAIAEQjICAgAAQhYCAgAAiAUL/AYNCzQBSDQcgAiAAQjiGIABCgP4Dg0IohoQgAEKAgPwHg0IYhiAAQoCAgPgPg0IIhoSEIABCCIhCgICA+A+DIABCGIhCgID8B4OEIABCKIhCgP4DgyAAQjiIhISEIgA3AxAgAiAFNwMIIAIgBDYCGAJAENyAgIAAIAJBCGogARDjgICAAA0AIAJBCGpBqIHAgABBEBCxgICAACACKAIIDQggAkEIaiACKQMQELKAgIAADAcLAkACQCACQQhqIAEQ3oCAgAAiByADEOWAgIAARQ0AIAJBMGoQ3ICAgAAgASAEIAUgABDngICAACACKAIwRQ0BIAIpAzggAxCggICAAEUNAQsgAkEIakGggcCAAEEIELGAgIAAIAIoAggNCCACQQhqIAIpAxAQsoCAgAAMBwsgAikDACEAQcSCwIAAQQoQx4CAgAAhASACIAM3AyggAiAANwMgQQAhBANAAkAgBEEQRw0AQQAhBAJAA0AgBEEQRg0BIAJBMGogBGogAkEgaiAEaikDADcDACAEQQhqIQQMAAsLAkAgByABIAJBMGpBAhDWgICAABDvgICAAA0AIAJBCGpBjYHAgABBCRCxgICAACACKAIIDQogAkEIaiACKQMQELKAgIAADAkLIAJBCGpBloHAgABBChCxgICAACACKAIIDQkgAkEIaiACKQMQELKAgIAADAgLIAJBMGogBGpCAjcDACAEQQhqIQQMAAsLQoOAgIAQEK6AgIAAAAtCg4CAgICCARCugICAAAALQoOAgIDQiQEQroCAgAAACxDwgICAAAALQoOAgICAggEQroCAgAAAC0KDgICAwIkBEK6AgIAAAAsgAikDECEAIAIpAwhQDQELAAsgAkHAAGokgICAgAAgAAt1AgJ/AX4CQAJAIAAoAgQiAiABaiIBIAJJDQAgASAAKAIAIgMpAwAQi4CAgABCIIinSw0BIAMpAwAgAq1CIIZCBIQgAa1CIIZCBIQQmoCAgAAhBCAAIAE2AgQgBA8LENqAgIAAAAtCg4CAgID9ABCugICAAAALHwAgAEIEIAGtQiCGQgSEIAKtQiCGQgSEEJGAgIAAGgu5AQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABBBBDqgICAACICEIuAgIAAQoCAgIBwg0KAgICAwABSDQAgAUEANgIMIAIQi4CAgABCgICAgHCDQoCAgIDAAFINASACIAFBDGpBBBDrgICAACABKAIMIQAgAUEQaiSAgICAACAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZycg8LQoOAgICAggEQroCAgAAACxDwgICAAAAL/wEDAX8BfgJ/I4CAgIAAQcAAayIBJICAgIAAAkACQCAAQSAQ6oCAgAAiAhCLgICAAEKAgICAcINCgICAgIAEUg0AIAFBIGpBGGoiAEIANwMAIAFBIGpBEGoiA0IANwMAIAFBIGpBCGoiBEIANwMAIAFCADcDICACEIuAgIAAQoCAgIBwg0KAgICAgARSDQEgAiABQSBqQSAQ64CAgAAgAUEYaiAAKQMANwMAIAFBEGogAykDADcDACABQQhqIAQpAwA3AwAgASABKQMgNwMAIAEQtICAgAAhAiABQcAAaiSAgICAACACDwtCg4CAgICCARCugICAAAALEPCAgIAAAAsaACAArUIghkIEhCABrUIghkIEhBCPgICAAAs0AQF/QQEhAwJAAkACQCAAIAEgAhCKgICAAKdB/wFxDgIBAgALENqAgIAAAAtBACEDCyADCwkAENqAgIAAAAt9AgF/AX4jgICAgABBMGsiASSAgICAACABQSBqIAApAwgQ84CAgAACQCABKAIgQQFHDQAACyABIAEpAyg3AwggASAAKQMANwMQIAEgADUCEEIghkIEhDcDGEHMgcCAAEEDIAFBCGpBAxDJgICAACECIAFBMGokgICAgAAgAgsDAAALOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEI2AgIAAIQELIABCADcDACAAIAE3AwgLXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCOgICAACEBCyAAIAM3AwAgACABNwMICzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCTgICAABoL2wECAX4EfwJAAkAgAkEJSw0AQgAhAyACIQQgASEFA0ACQCAEDQAgA0IIhkIOhCEDDAMLQQEhBgJAIAUtAAAiB0HfAEYNAAJAIAdBUGpB/wFxQQpJDQACQCAHQb9/akH/AXFBGkkNACAHQZ9/akH/AXFBGUsNBCAHQUVqIQYMAgsgB0FLaiEGDAELIAdBUmohBgsgA0IGhiAGrUL/AYOEIQMgBEF/aiEEIAVBAWohBQwACwsgAa1CIIZCBIQgAq1CIIZCBIQQkICAgAAhAwsgAEIANwMAIAAgAzcDCAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUH8g8CAAEECIAJBAhD1gICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQfyDwIAAQQIgA0ECEMmAgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUHqhMCAAEEJELGAgIAAIAEoAgANAiABIAEpAwgQsoCAgAAMAQsgAUHShMCAAEEGELGAgIAAIAEoAgANASABIAEpAwgQsoCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtWAgF/AX4jgICAgABBEGsiAySAgICAACAAEKaAgIAAIQQgAyABIAIQ+ICAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCBgICAABogA0EQaiSAgICAAAsL/QQBAEGAgMAAC/MEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////0VuZHBvaW50VWxuMzAyTG9jYWxFaWROb3RFeGVjdXRhYmxlVmVyaWZpZWRCdXROb3RFeGVjdXRhYmxlRXhlY3V0YWJsZUV4ZWN1dGVkVmVyaWZ5aW5nVmVyaWZpYWJsZVZlcmlmaWVkTm90SW5pdGlhbGl6YWJsZW5vbmNlc2VuZGVyc3JjX2VpZAAAuAAQAAUAAAC9ABAABgAAAMMAEAAHAAAAaW5pdGlhbGl6YWJsZWlzX3ZhbGlkX3JlY2VpdmVfbGlicmFyeWluYm91bmRfbm9uY2VsYXp5X2luYm91bmRfbm9uY2VpbmJvdW5kX3BheWxvYWRfaGFzaAAAABIAAAABdmVyaWZpYWJsZXRocmVzaG9sZG93bmVyc2hpcF90cmFuc2ZlcnJlZG5ld19vd25lcm9sZF9vd25lcgAAbAEQAAkAAAB1ARAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAABsARAACQAAAHUBEAAJAAAApgEQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAHUBEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AAPEBEAAJAAAATgEQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAAbAhAACAAAACMCEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nAKOmAQ5jb250cmFjdHNwZWN2MAAAAAQAAAAiRXJyb3JzIGZvciBMYXllclplcm9WaWV3IGNvbnRyYWN0LgAAAAAAAAAAABJMYXllclplcm9WaWV3RXJyb3IAAAAAAAEAAAApSW52YWxpZCBwYWNrZXQgaGVhZGVyIChkc3RfZWlkIG1pc21hdGNoKS4AAAAAAAAKSW52YWxpZEVJRAAAAAAAAQAAAAAAAACVVGhlIHR5cGUgb2YgZGF0YSByZXF1aXJlZCBmb3IgbWlncmF0aW9uLgpVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAHZSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpDYW4gb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgbWlncmF0aW9uIGZsYWcgaXMgc2V0IGJ5IGEgcHJldmlvdXMgYHVwZ3JhZGVgIGNhbGwuAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAAAAAAAAAAAXlBlcm1hbmVudGx5IGZyZWV6ZXMgdGhlIGNvbnRyYWN0LCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgdXBncmFkZXMuClRoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4AAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAZ1bG4zMDIAAAAAABMAAAAAAAAAAAAAAB1SZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzLgAAAAAAAAhlbmRwb2ludAAAAAAAAAABAAAAEwAAAAAAAAAbUmV0dXJucyB0aGUgVWxuMzAyIGFkZHJlc3MuAAAAAAZ1bG4zMDIAAAAAAAAAAAABAAAAEwAAAAAAAAAeUmV0dXJucyB0aGUgbG9jYWwgZW5kcG9pbnQgSUQuAAAAAAAJbG9jYWxfZWlkAAAAAAAAAAAAAAEAAAAEAAAAAAAAAFBDaGVja3MgaWYgYSBtZXNzYWdpbmcgcGF0aCBjYW4gYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4gYW5kIHJlY2VpdmVyLgAAAA1pbml0aWFsaXphYmxlAAAAAAAAAgAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAQAAAAAAAAC0Q2hlY2tzIGlmIGEgbWVzc2FnZSBjYW4gYmUgdmVyaWZpZWQgYXQgdGhlIGVuZHBvaW50LgoKVmVyaWZpZXM6CjEuIFJlY2VpdmUgbGlicmFyeSBpcyB2YWxpZCBmb3IgdGhpcyByZWNlaXZlciBhbmQgc291cmNlCjIuIEVuZHBvaW50IG5vbmNlIGNoZWNrIHBhc3NlcwozLiBQYXlsb2FkIGhhc2ggaXMgbm90IGVtcHR5AAAACnZlcmlmaWFibGUAAAAAAAQAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAtyZWNlaXZlX2xpYgAAAAATAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAABAAAAAAAAAClSZXR1cm5zIHRoZSBleGVjdXRpb24gc3RhdGUgb2YgYSBtZXNzYWdlLgAAAAAAAApleGVjdXRhYmxlAAAAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAfQAAAADkV4ZWN1dGlvblN0YXRlAAAAAAAAAAAA7lJldHVybnMgdGhlIGNvbWJpbmVkIHZlcmlmaWNhdGlvbiBzdGF0ZSBvZiBhIG1lc3NhZ2UuCgpUaGlzIGZ1bmN0aW9uIGNoZWNrczoKMS4gUGFja2V0IGhlYWRlciB2YWxpZGl0eSAoZHN0X2VpZCBtYXRjaGVzIGxvY2FsX2VpZCkKMi4gRW5kcG9pbnQgaW5pdGlhbGl6YWJsZSBzdGF0dXMKMy4gRW5kcG9pbnQgdmVyaWZpYWJsZSBzdGF0dXMKNC4gVUxOIHZlcmlmaWFibGUgc3RhdHVzIChEVk4gY29uZmlybWF0aW9ucykAAAAAAA51bG5fdmVyaWZpYWJsZQAAAAAAAgAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAQAAB9AAAAARVmVyaWZpY2F0aW9uU3RhdGUAAAAAAAACAAAAAAAAAAAAAAAUTGF5ZXJaZXJvVmlld1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAIRW5kcG9pbnQAAAAAAAAAAAAAAAZVbG4zMDIAAAAAAAAAAAAAAAAACExvY2FsRWlkAAAAAgAAAIFSZXByZXNlbnRzIHRoZSBleGVjdXRpb24gc3RhdGUgb2YgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgoKVXNlZCBieSBleGVjdXRvcnMgdG8gZGV0ZXJtaW5lIHdoZW4gYSBtZXNzYWdlIGlzIHJlYWR5IHRvIGJlIGRlbGl2ZXJlZC4AAAAAAAAAAAAADkV4ZWN1dGlvblN0YXRlAAAAAAAEAAAAAAAAAD5NZXNzYWdlIGlzIG5vdCByZWFkeSBmb3IgZXhlY3V0aW9uIC0gd2FpdGluZyBmb3IgdmVyaWZpY2F0aW9uLgAAAAAADU5vdEV4ZWN1dGFibGUAAAAAAAAAAAAARk1lc3NhZ2UgaXMgdmVyaWZpZWQgYnV0IGNhbm5vdCBiZSBleGVjdXRlZCB5ZXQgKHByaW9yIG5vbmNlcyBwZW5kaW5nKS4AAAAAABhWZXJpZmllZEJ1dE5vdEV4ZWN1dGFibGUAAAAAAAAAIE1lc3NhZ2UgaXMgcmVhZHkgdG8gYmUgZXhlY3V0ZWQuAAAACkV4ZWN1dGFibGUAAAAAAAAAAAAiTWVzc2FnZSBoYXMgYWxyZWFkeSBiZWVuIGV4ZWN1dGVkLgAAAAAACEV4ZWN1dGVkAAAAAgAAAIhSZXByZXNlbnRzIHRoZSB2ZXJpZmljYXRpb24gc3RhdGUgb2YgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGF0IHRoZSBVTE4gbGV2ZWwuCgpVc2VkIGJ5IERWTnMgYW5kIGV4ZWN1dG9ycyB0byB0cmFjayB2ZXJpZmljYXRpb24gcHJvZ3Jlc3MuAAAAAAAAABFWZXJpZmljYXRpb25TdGF0ZQAAAAAAAAQAAAAAAAAAM0RWTnMgYXJlIHN0aWxsIGNvbGxlY3Rpbmcgc2lnbmF0dXJlcy9jb25maXJtYXRpb25zLgAAAAAJVmVyaWZ5aW5nAAAAAAAAAAAAAEBIYXMgZW5vdWdoIERWTiBjb25maXJtYXRpb25zLCByZWFkeSB0byBiZSBjb21taXR0ZWQgdG8gZW5kcG9pbnQuAAAAClZlcmlmaWFibGUAAAAAAAAAAAAhQWxyZWFkeSB2ZXJpZmllZCBhdCB0aGUgZW5kcG9pbnQuAAAAAAAACFZlcmlmaWVkAAAAAAAAACVDYW5ub3QgYmUgaW5pdGlhbGl6ZWQgKHBhdGggYmxvY2tlZCkuAAAAAAAAEE5vdEluaXRpYWxpemFibGUAAAAFAAAAAAAAAAAAAAAKUGFja2V0U2VudAAAAAAAAQAAAAtwYWNrZXRfc2VudAAAAAADAAAAAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAAAAAADHNlbmRfbGlicmFyeQAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA5QYWNrZXRWZXJpZmllZAAAAAAA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Clplcm9acm9GZWUAAAAAABgAAAAAAAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAAAAAAAAAAAAtVbG4zMDJFcnJvcgAAAAATAAAAAAAAAB1EZWZhdWx0RXhlY3V0b3JDb25maWdOb3RGb3VuZAAAAAAAAAEAAAAAAAAAH0RlZmF1bHRSZWNlaXZlVWxuQ29uZmlnTm90Rm91bmQAAAAAAgAAAAAAAAAcRGVmYXVsdFNlbmRVbG5Db25maWdOb3RGb3VuZAAAAAMAAAAAAAAAFUR1cGxpY2F0ZU9wdGlvbmFsRFZOcwAAAAAAAAQAAAAAAAAAFUR1cGxpY2F0ZVJlcXVpcmVkRFZOcwAAAAAAAAUAAAAAAAAADUludmFsaWRDb25maWcAAAAAAAAGAAAAAAAAABFJbnZhbGlkQ29uZmlnVHlwZQAAAAAAAAcAAAAAAAAAFEludmFsaWRDb25maXJtYXRpb25zAAAACAAAAAAAAAAKSW52YWxpZEVJRAAAAAAACQAAAAAAAAASSW52YWxpZE1lc3NhZ2VTaXplAAAAAAAKAAAAAAAAABdJbnZhbGlkT3B0aW9uYWxEVk5Db3VudAAAAAALAAAAAAAAABNJbnZhbGlkT3B0aW9uYWxEVk5zAAAAAAwAAAAAAAAAG0ludmFsaWRPcHRpb25hbERWTlRocmVzaG9sZAAAAAANAAAAAAAAABdJbnZhbGlkUmVxdWlyZWREVk5Db3VudAAAAAAOAAAAAAAAABNJbnZhbGlkUmVxdWlyZWREVk5zAAAAAA8AAAAAAAAAEFVsbkF0TGVhc3RPbmVEVk4AAAAQAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAEQAAAAAAAAAJVmVyaWZ5aW5nAAAAAAAAEgAAAAAAAAAPWmVyb01lc3NhZ2VTaXplAAAAABMAAAAFAAAAAAAAAAAAAAARRXhlY3V0b3JDb25maWdTZXQAAAAAAAABAAAAE2V4ZWN1dG9yX2NvbmZpZ19zZXQAAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAGY29uZmlnAAAAAAfQAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAQU2VuZFVsbkNvbmZpZ1NldAAAAAEAAAATc2VuZF91bG5fY29uZmlnX3NldAAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAE1JlY2VpdmVVbG5Db25maWdTZXQAAAAAAQAAABZyZWNlaXZlX3Vsbl9jb25maWdfc2V0AAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAGURlZmF1bHRFeGVjdXRvckNvbmZpZ3NTZXQAAAAAAAABAAAAHGRlZmF1bHRfZXhlY3V0b3JfY29uZmlnc19zZXQAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYRGVmYXVsdFNlbmRVbG5Db25maWdzU2V0AAAAAQAAABxkZWZhdWx0X3NlbmRfdWxuX2NvbmZpZ3Nfc2V0AAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAgAAAAUAAAAAAAAAAAAAABtEZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ3NTZXQAAAAAAQAAAB9kZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZ3Nfc2V0AAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPRXhlY3V0b3JGZWVQYWlkAAAAAAEAAAARZXhlY3V0b3JfZmVlX3BhaWQAAAAAAAADAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANmZWUAAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAApEVk5GZWVQYWlkAAAAAAABAAAADGR2bl9mZWVfcGFpZAAAAAMAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABGR2bnMAAAPqAAAAEwAAAAAAAAAAAAAABGZlZXMAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9QYXlsb2FkVmVyaWZpZWQAAAAAAQAAABBwYXlsb2FkX3ZlcmlmaWVkAAAABAAAAAAAAAADZHZuAAAAABMAAAABAAAAAAAAAAZoZWFkZXIAAAAAAA4AAAAAAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAAAAAACnByb29mX2hhc2gAAAAAA+4AAAAgAAAAAAAAAAIAAAABAAAAOFVsdHJhIExpZ2h0IE5vZGUgY29uZmlndXJhdGlvbiBmb3IgbWVzc2FnZSB2ZXJpZmljYXRpb24uAAAAAAAAAAlVbG5Db25maWcAAAAAAAAEAAAASk51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIHJlcXVpcmVkIGJlZm9yZSBtZXNzYWdlIHZlcmlmaWNhdGlvbiBiZWdpbnMuAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAAAzTWluaW11bSBudW1iZXIgb2Ygb3B0aW9uYWwgRFZOcyByZXF1aXJlZCB0byB2ZXJpZnkuAAAAABZvcHRpb25hbF9kdm5fdGhyZXNob2xkAAAAAAAEAAAAQExpc3Qgb2YgRFZOIGFkZHJlc3NlcyBmcm9tIHdoaWNoIGEgdGhyZXNob2xkIG51bWJlciBtdXN0IHZlcmlmeS4AAAANb3B0aW9uYWxfZHZucwAAAAAAA+oAAAATAAAARkxpc3Qgb2YgRFZOIGFkZHJlc3NlcyB0aGF0IG11c3QgQUxMIHZlcmlmeSB0aGUgbWVzc2FnZSAobm8gdGhyZXNob2xkKS4AAAAAAA1yZXF1aXJlZF9kdm5zAAAAAAAD6gAAABMAAAABAAAAPE9BcHAtc3BlY2lmaWMgVUxOIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IG92ZXJyaWRlIGZsYWdzLgAAAAAAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAQAAABFT0FwcC1zcGVjaWZpYyBVTE4gY29uZmlndXJhdGlvbiAodXNlZCB3aGVuIGRlZmF1bHRzIGFyZSBub3QgYXBwbGllZCkuAAAAAAAACnVsbl9jb25maWcAAAAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgY29uZmlybWF0aW9ucy4AAAAAAAAZdXNlX2RlZmF1bHRfY29uZmlybWF0aW9ucwAAAAAAAAEAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCBvcHRpb25hbCBEVk5zLgAAAAAAABl1c2VfZGVmYXVsdF9vcHRpb25hbF9kdm5zAAAAAAAAAQAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IHJlcXVpcmVkIERWTnMuAAAAAAAAGXVzZV9kZWZhdWx0X3JlcXVpcmVkX2R2bnMAAAAAAAABAAAAAQAAAFJQYXJhbWV0ZXIgZm9yIHNldHRpbmcgZGVmYXVsdCBVTE4gY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbi9zb3VyY2UgZW5kcG9pbnQuAAAAAAAAAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAIAAAAoVGhlIFVMTiBjb25maWd1cmF0aW9uIHRvIHNldCBhcyBkZWZhdWx0LgAAAAZjb25maWcAAAAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAS1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoZm9yIHNlbmQpIG9yIHNvdXJjZSBlbmRwb2ludCBJRCAoZm9yIHJlY2VpdmUpLgAAAAADZWlkAAAAAAQAAAABAAAALEV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIG1lc3NhZ2UgZGVsaXZlcnkuAAAAAAAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAgAAAENBZGRyZXNzIG9mIHRoZSBleGVjdXRvciBjb250cmFjdCByZXNwb25zaWJsZSBmb3IgbWVzc2FnZSBleGVjdXRpb24uAAAAAAhleGVjdXRvcgAAABMAAAA5TWF4aW11bSBzaXplIG9mIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIChpbiBieXRlcykuAAAAAAAAEG1heF9tZXNzYWdlX3NpemUAAAAEAAAAAQAAAFtPQXBwLXNwZWNpZmljIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uCgpJZiBleGVjdXRvciBpcyBgTm9uZWAsIHRoZSBkZWZhdWx0IGV4ZWN1dG9yIGlzIHVzZWQuAAAAAAAAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAACAAAAaEFkZHJlc3Mgb2YgdGhlIGV4ZWN1dG9yIGNvbnRyYWN0IHRvIGJlIHVzZWQgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uLiBOb25lIG1lYW5zIHVzZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uAAAACGV4ZWN1dG9yAAAD6AAAABMAAABcTWF4aW11bSBzaXplIG9mIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIChpbiBieXRlcykuIDAgbWVhbnMgdXNlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4AAAAQbWF4X21lc3NhZ2Vfc2l6ZQAAAAQAAAABAAAAUFBhcmFtZXRlciBmb3Igc2V0dGluZyBkZWZhdWx0IGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAAAB1TZXREZWZhdWx0RXhlY3V0b3JDb25maWdQYXJhbQAAAAAAAAIAAAAtVGhlIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gdG8gc2V0IGFzIGRlZmF1bHQuAAAAAAAABmNvbmZpZwAAAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAHFRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMC4xIzk0MTQ0ODA3OWVjY2Y5NTYyN2QyZmZlYTEzYmEyNjhlMzA1YTkwNzcAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABmQEaYAJ+fgF+YAN+fn4BfmABfgF+YAR+fn5+AX5gAAF+YAJ/fwBgAX8BfmACfn4Bf2ACf34AYAABf2AAAGABfwF/YAF/AGACfn8AYAF+AGADf39/AGACfn4AYAJ/fwF+YAR/f39/AX5gA39+fgBgA35/fgF/YAR/fn5+AX9gBn9+fn9+fgBgA35/fwBgA35+fgF/YAV+f39/fwACowEbAWwBMQAAAWwBXwABAWEBMAACAWwBNgACAWIBMAACAXgBMQAAAWwBNwADAWwBMgAAAXYBXwAEAWQBXwABAWIBOAACAWIBZQAAAWkBXwACAWkBMAACAWIBMwAAAWIBagAAAWIBMQADAW0BOQABAW0BYQADAXYBZwAAAXgBMAAAAXgBMwAEAXgBOAAEAWwBMAAAAWwBOAAAAXgBNQACAWIBZgABA2JhBQYHCAcHCQoLCQYKBAQMDQ4KDAYMDwgEBgIIDAIEBQQEBAAEAg4QAAoRAhIJEwQKBAAFAAgFBQYEDAUFEQQEAQoEBAQEBAkACBQDFQAWAQARFwsGERgKBgoICBkPCA8GDwUDAQARBiEEfwFBgIDAAAt/AEG8gsAAC38AQbuFwAALfwBBwIXAAAsHnwMcBm1lbW9yeQIAB3VwZ3JhZGUANAdtaWdyYXRlADcGZnJlZXplADgJaXNfZnJvemVuADoKYXV0aG9yaXplcgA7BW93bmVyADwNcGVuZGluZ19vd25lcgA+EnRyYW5zZmVyX293bmVyc2hpcAA/GnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAEIQYWNjZXB0X293bmVyc2hpcABJEnJlbm91bmNlX293bmVyc2hpcABLE2V4dGVuZF9pbnN0YW5jZV90dGwATA9zZXRfdHRsX2NvbmZpZ3MATgt0dGxfY29uZmlncwBTEmZyZWV6ZV90dGxfY29uZmlncwBYFWlzX3R0bF9jb25maWdzX2Zyb3plbgBZDV9fY29uc3RydWN0b3IAWghlbmRwb2ludABcBnVsbjMwMgBeCWxvY2FsX2VpZABgDWluaXRpYWxpemFibGUAYgp2ZXJpZmlhYmxlAGUKZXhlY3V0YWJsZQBnDnVsbl92ZXJpZmlhYmxlAGoBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCphQYU0BAn5CACECAkACQCABEJyAgIAAIgNCAhCdgICAAEUNACADQgIQgICAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHAgMCAAEEIELCAgIAAIAEoAgANAyABIAEpAwgQsYCAgAAMAgsgAUHIgMCAAEEGELCAgIAAIAEoAgANAiABIAEpAwgQsYCAgAAMAQsgAUHOgMCAAEEIELCAgIAAIAEoAgANASABIAEpAwgQsYCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPACAAIAEQl4CAgABCAVELFQAgABCcgICAACABQgIQgYCAgAAaCw8AIAAgARCggICAAEEBcwsNACAAIAEQlICAgABQCxQAEKKAgIAAQQAQo4CAgABB/QFxC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqENSAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDNgICAAAsgAEEQaiSAgICAAAtHAgF/AX5BAiEBAkAgABD6gICAACICQgIQnYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAQtNAgF/AX4QooCAgABBACEAAkBBABClgICAACIBQgIQnYCAgABFDQBBASEAAkACQCABQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAAsgAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFBmoXAgABBBhCwgICAACABKAIADQMgASABKQMIELGAgIAADAILIAFBoIXAgABBCBCwgICAACABKAIADQIgASABKQMIELGAgIAADAELIAFBqIXAgABBChCwgICAACABKAIADQEgASABKQMIELGAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAQp4CAgAAQgoCAgAAaC0cCAX8BfiOAgICAAEEQayIAJICAgIAAEKKAgIAAIAAQqYCAgAAgACkDCCEBIAApAwBBiwgQqoCAgAAgAEEQaiSAgICAACABC2wCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqYCAgAAgACkDCCEBIAApAwBBiwgQqoCAgAACQCABEKeAgIAAEKCAgIAADQBCg4CAgOCAARCrgICAAAALIAEQgoCAgAAaIABBEGokgICAgAAgAQsQABCigICAACAAEK+AgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQq4CAgAAACwsAIAAQmYCAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAEK2AgIAAAkAgACkDAFANAEKDgICAwIEBEKuAgIAAAAsgAEEQaiSAgICAAAtTAQJ+EKKAgIAAQgAhAQJAAkBBARCugICAACICQgAQnYCAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBrYTAgABBDBCwgICAACABKAIADQIgASABKQMIELGAgIAADAELIAFBqITAgABBBRCwgICAACABKAIADQEgASABKQMIELGAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQroCAgAAiAkICEJ2AgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ94CAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBENeAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAACw4AQYCAwIAAELOAgIAACwwAIABBIBDvgICAAAt5AQF/I4CAgIAAQRBrIgEkgICAgAAgASAAELWAgIAAAkACQCABKAIAQQFGDQAgASkDCCEAEKaAgIAAEKKAgIAAEKGAgIAADQFBARC2gICAACAAEIOAgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDAgwEQq4CAgAAAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCKgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAsMAEEBIAAQuYCAgAALbQACQAJAAkAgAEL/AYNCyABSDQAQpoCAgAAQooCAgABBARCjgICAAEH9AXFFDQEgABCEgICAAEL/AYNCAlINAkEAELaAgIAAQgIPCwALQoOAgICwgwEQq4CAgAAAC0KDgICAoIMBEKuAgIAAAAs1ABCmgICAABCigICAAAJAEKGAgIAARQ0AQoOAgIDAgwEQq4CAgAAAC0EAQQEQuYCAgABCAgsaACAAEPqAgIAAIAGtQv8Bg0ICEIGAgIAAGgsJABChgICAAK0LCAAQp4CAgAALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCpgICAACAAKQMAIAApAwgQvYCAgAAhASAAQRBqJICAgIAAIAELDQAgAUICIACnQQFxGws+AgF/AX4jgICAgABBEGsiACSAgICAACAAEK2AgIAAIAApAwAgACkDCBC9gICAACEBIABBEGokgICAgAAgAQs8AQF+AkAgAEL/AYNCzQBRDQAACxCigICAABCogICAACEBEKyAgIAAIAAQwICAgAAgASAAEMGAgIAAQgILDgBBACAAQgIQyICAgAALYQIBfwF+I4CAgIAAQRBrIgIkgICAgABB14LAgABBFRDEgICAABDFgICAACEDIAIgADcDCCACIAE3AwAgA0GAg8CAAEECIAJBAhDGgICAABCFgICAABogAkEQaiSAgICAAAv8AgIBfwJ+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINABCigICAABCogICAACEDAkACQCABQv////8PVg0AIAJBCGoQrYCAgAAgAikDECEBIAIpAwhBiQgQqoCAgAAgASAAEKCAgIAARQ0DEMOAgIAAQcSDwIAAQRwQxICAgAAQxYCAgAAhACACIAM3AxAgAiABNwMIIABB/IPAgABBAiACQQhqQQIQxoCAgAAQhYCAgAAaDAELEMeAgIAAIAFCIIinSQ0DQQEgAEIAEMiAgIAAQQEQroCAgABCACABQoSAgIBwgyIBIAEQhoCAgAAaQZCDwIAAQRYQxICAgAAQxYCAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQayDwIAAQQMgAkEIakEDEMaAgIAAEIWAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA8IABEKuAgIAAAAtCg4CAgICBARCrgICAAAALEwBBARCugICAAEIAEIeAgIAAGgtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARD3gICAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBENeAgIAAIQAgAUEQaiSAgICAACAACy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQkYCAgAALMwECfhCVgICAACEAAkAQloCAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQ24CAgAAACxUAIAAQroCAgAAgASACEIGAgIAAGguIAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAQooCAgAAgABCtgICAACAAKQMIIQEgACkDAEGJCBCqgICAACABEIKAgIAAGiAAEK+AgIAAAkAgACgCAA0AEMqAgIAAAAsgACkDCCECEMOAgIAAIAEQwICAgAAgAiABEMGAgIAAIABBEGokgICAgABCAgsJABDbgICAAAALhAECAX8CfiOAgICAAEEQayIAJICAgIAAEKKAgIAAEKiAgIAAIQEQrICAgABBABCugICAAEICEIeAgIAAGkGMhMCAAEETEMSAgIAAEMWAgIAAIQIgACABNwMIIAJBoITAgABBASAAQQhqQQEQxoCAgAAQhYCAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDNgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJiAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQz4CAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDPgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBCmgICAABCigICAAAJAAkACQBCkgICAAA0AEMeAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEKuAgIAAAAtCg4CAgMD/ABCrgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQENCAgIAADAELQQEQpYCAgABCAhCHgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgENGAgIAADAELQQIQpYCAgABCAhCHgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEHUhMCAAEEPEMSAgIAAEMWAgIAAIQAgAkEoahDSgICAACEBIAIgAkE0ahDSgICAADcDSCACIAE3A0AgAEH4hMCAAEECIAJBwABqQQIQxoCAgAAQhYCAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEPiAgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALDgBBASAAIAEQ+4CAgAALDgBBAiAAIAEQ+4CAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAENaAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAguiAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEKKAgIAAIABBCGoQ1ICAgAAgAEEUaiIBQQIQ1YCAgAAgAEEwaiAAQQhqENaAgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARDWgICAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQ14CAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARDVgICAAAt3AgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQAJAIAEQpYCAgAAiBEICEJ2AgIAARQ0AIAJBBGogBEICEICAgIAAEPiAgIAAQQEhAyACKAIEQQFGDQEgACACKQIINwIECyAAIAM2AgAgAkEQaiSAgICAAA8LAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBD5gICAAA8LIABCADcDACAAQgI3AwgLGgAgAK1CIIZCBIQgAa1CIIZCBIQQk4CAgAALiAEBAX8jgICAgABBEGsiACSAgICAABCmgICAABCigICAAAJAEKSAgIAARQ0AQoOAgIDg/wAQq4CAgAAAC0EAEKWAgIAAQgFCAhCBgICAABpBiIXAgABBEhDEgICAABDFgICAAEEEQQAgAEEIakEAEMaAgIAAEIWAgIAAGiAAQRBqJICAgIAAQgILCQAQpICAgACtC8sBAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0LNAFINAEGAyx5BgNIfENCAgIAAQYDLHkGA0h8Q0YCAgABBABCugICAAEICEJ2AgIAADQEgABDAgICAAEEAIAEQnoCAgABBASACEJ6AgIAAIAFCjtKuFRCIgICAABCJgICAACIBQv8Bg0IEUg0CQQIQnICAgAAgAUKEgICAcINCAhCBgICAABpCAg8LAAtCg4CAgKCBARCrgICAAAALENuAgIAAAAsJABDzgICAAAALCAAQ3YCAgAALTAIBfwF+I4CAgIAAQRBrIgAkgICAgAAQooCAgAAgAEEAEJuAgIAAAkAgACgCAA0AEMqAgIAAAAsgACkDCCEBIABBEGokgICAgAAgAQsIABDfgICAAAtMAgF/AX4jgICAgABBEGsiACSAgICAABCigICAACAAQQEQm4CAgAACQCAAKAIADQAQyoCAgAAACyAAKQMIIQEgAEEQaiSAgICAACABCw8AEOGAgIAArUIghkIEhAtIAQF+EKKAgIAAAkACQEECEJyAgIAAIgBCAhCdgICAAEUNACAAQgIQgICAgAAiAEL/AYNCBFENAQALEMqAgIAAAAsgAEIgiKcLmAEBAn8jgICAgABBwABrIgIkgICAgAAgAkEgaiAAEOOAgIAAAkAgAigCIEEBRg0AIAJBCGpBEGogAkE4aikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAiACKQMoNwMIIAFC/wGDQs0AUg0AEKKAgIAAEN2AgIAAIAJBCGogARDkgICAACEDIAJBwABqJICAgIAAIAOtDwsAC+IBAgJ/An4jgICAgABBMGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IBIQQCQCABQv8Bg0LMAFINACABQcyBwIAAQQMgAkEIakEDEPaAgIAAIAJBIGogAikDCBD1gICAACACKAIgDQAgAikDKCEBIAJBIGogAikDEBC1gICAACACKAIgDQAgAikDGCIFQv8Bg0IEUg0AIAIpAyghBCAAIAE3AxAgACAENwMIIAAgBUIgiD4CGEIAIQQLIAAgBDcDACACQTBqJICAgIAAC7oBAgF/An4jgICAgABBIGsiAySAgICAAEHkgcCAAEENEMSAgIAAIQQgARDygICAACEFIAMgAjcDCCADIAU3AwBBACEBA38CQCABQRBHDQBBACEBAkADQCABQRBGDQEgA0EQaiABaiADIAFqKQMANwMAIAFBCGohAQwACwsgACAEIANBEGpBAhDXgICAABDwgICAACEBIANBIGokgICAgAAgAQ8LIANBEGogAWpCAjcDACABQQhqIQEMAAsLtgEBAn8jgICAgABBwABrIgQkgICAgAAgBEEgaiAAEOOAgIAAAkAgBCgCIEEBRg0AIARBCGpBEGogBEE4aikDADcDACAEQRBqIARBIGpBEGopAwA3AwAgBCAEKQMoNwMIIAFC/wGDQs0AUg0AIAJC/wGDQs0AUg0AIARBIGogAxC1gICAACAEKAIgQQFGDQAgBEEIaiABIAIgBCkDKBDmgICAACEFIARBwABqJICAgIAAIAWtDwsAC4kDAwF/A34BfyOAgICAAEEwayIEJICAgIAAEKKAgIAAEN2AgIAAIQUgADUCECEGQfGBwIAAQRgQxICAgAAhByAEIAI3AxAgBCAGQiCGQgSENwMIIAQgATcDAEEAIQgCQAJAA0ACQCAIQRhHDQBBACEIAkADQCAIQRhGDQEgBEEYaiAIaiAEIAhqKQMANwMAIAhBCGohCAwACwsgBSAHIARBGGpBAxDXgICAABDwgICAAEUNAkHEgsCAAEEKEMSAgIAAIQIgABDygICAACEGIAQgATcDCCAEIAY3AwBBACEIA0ACQCAIQRBHDQBBACEIAkADQCAIQRBGDQEgBEEYaiAIaiAEIAhqKQMANwMAIAhBCGohCAwACwsgBSACIARBGGpBAhDXgICAABDwgICAAEUNBCADELKAgIAAEKCAgIAAQQFzIQgMBQsgBEEYaiAIakICNwMAIAhBCGohCAwACwsgBEEYaiAIakICNwMAIAhBCGohCAwACwtBACEICyAEQTBqJICAgIAAIAgL2AUCAn8GfiOAgICAAEHQAGsiAiSAgICAACACQQhqIAAQ44CAgAACQAJAIAIoAghBAUYNACABQv8Bg0LNAFINACACKAIgIQMgAikDGCEAIAIpAxAhBBCigICAACACQShqEN2AgIAAIgUgASADIAQgABDogICAABCygICAACEGQaCAwIAAELOAgIAAIQcCQAJAAkACQCACKAIoDQBBloLAgABBEhDEgICAACEHIAIgBDcDSCACIAE3AzggAiADrUIghkIEhDcDQEEAIQMDQAJAIANBGEcNAEEAIQMCQANAIANBGEYNASACQQhqIANqIAJBOGogA2opAwA3AwAgA0EIaiEDDAALCyAAIAUgByACQQhqQQMQ14CAgAAQ6YCAgABWDQMgAkEIakGFgcCAAEEIELCAgIAAIAIoAggNBiACQQhqIAIpAxAQsYCAgAAMBQsgAkEIaiADakICNwMAIANBCGohAwwACwsCQCACKQMwIgggBxCfgICAAEUNAEGJgsCAAEENEMSAgIAAIQkgAiAENwNIIAIgATcDOCACIAOtQiCGQgSENwNAQQAhAwNAAkAgA0EYRw0AQQAhAwJAA0AgA0EYRg0BIAJBCGogA2ogAkE4aiADaikDADcDACADQQhqIQMMAAsLIAAgBSAJIAJBCGpBAxDXgICAABDpgICAAFYNAiACQQhqQfuAwIAAQQoQsICAgAAgAigCCA0GIAJBCGogAikDEBCxgICAAAwFCyACQQhqIANqQgI3AwAgA0EIaiEDDAALCyAIIAYQn4CAgABFDQAgCCAHEJ+AgIAADQELIAJBCGpB1oDAgABBDRCwgICAACACKAIIDQIgAkEIaiACKQMQELGAgIAADAELIAJBCGpB44DAgABBGBCwgICAACACKAIIDQEgAkEIaiACKQMQELGAgIAACyACKQMQIQEgAikDCFANAQsACyACQdAAaiSAgICAACABC64CAgF/AX4jgICAgABBwABrIgYkgICAgABBqILAgABBFBDEgICAACEHIAZBIGogBRD0gICAAAJAIAYoAiBBAUYNACAGIAYpAyg3AxggBiAENwMQIAYgAjcDACAGIAOtQiCGQgSENwMIQQAhAwJAA0ACQCADQSBHDQBBACEDAkADQCADQSBGDQEgBkEgaiADaiAGIANqKQMANwMAIANBCGohAwwACwsCQAJAIAEgByAGQSBqQQQQ14CAgAAQiYCAgAAiBUICUg0AQgAhBQwBCyAGQSBqIAUQtYCAgAAgBigCIEEBRg0DIAYpAyghBEIBIQULIAAgBDcDCCAAIAU3AwAgBkHAAGokgICAgAAPCyAGQSBqIANqQgI3AwAgA0EIaiEDDAALCxDbgICAAAALAAtRAQF/I4CAgIAAQRBrIgMkgICAgAAgAyAAIAEgAhCJgICAABD1gICAAAJAIAMoAgBBAUcNABDbgICAAAALIAMpAwghAiADQRBqJICAgIAAIAILwwgGAX8BfgF/AX4BfwF+I4CAgIAAQcAAayICJICAgIAAAkACQCAAQv8Bg0LIAFINACACIAA3AwAgAkEIaiABELWAgIAAIAIoAghBAUYNACACKQMQIQMQooCAgAACQAJAIAIpAwAQioCAgABCgICAgHCDQoCAgICQClINACACQQA2AjQgAiACNgIwAkAgAkEwakEBEOuAgIAAIgAQioCAgABCgICAgHCDQoCAgIAQUg0AIAJBADoACAJAIAAQioCAgABCgICAgHCDQoCAgIAQUg0AIAAgAkEIakEBEOyAgIAAAkAgAi0ACEEBRw0AAkAgAkEwakEIEOuAgIAAIgAQioCAgABCgICAgHCDQoCAgICAAVINACACQgA3AwggABCKgICAAEKAgICAcINCgICAgIABUg0CIAAgAkEIakEIEOyAgIAAIAIpAwghACACQTBqEO2AgIAAIQQgAkEwahDugICAACEFIAJBMGoQ7YCAgAAhBiACQTBqEO6AgIAAIQECQCAGEOGAgIAARw0AQbyCwIAAQQgQ74CAgAAgARCLgICAABCEgICAACIBQv8Bg0LNAFINByACIABCOIYgAEKA/gODQiiGhCAAQoCA/AeDQhiGIABCgICA+A+DQgiGhIQgAEIIiEKAgID4D4MgAEIYiEKAgPwHg4QgAEIoiEKA/gODIABCOIiEhIQiADcDECACIAU3AwggAiAENgIYAkAQ3YCAgAAgAkEIaiABEOSAgIAADQAgAkEIakGogcCAAEEQELCAgIAAIAIoAggNCCACQQhqIAIpAxAQsYCAgAAMBwsCQAJAIAJBCGogARDfgICAACIHIAMQ5oCAgABFDQAgAkEwahDdgICAACABIAQgBSAAEOiAgIAAIAIoAjBFDQEgAikDOCADEKCAgIAARQ0BCyACQQhqQaCBwIAAQQgQsICAgAAgAigCCA0IIAJBCGogAikDEBCxgICAAAwHCyACKQMAIQBBxILAgABBChDEgICAACEBIAIgAzcDKCACIAA3AyBBACEEA0ACQCAEQRBHDQBBACEEAkADQCAEQRBGDQEgAkEwaiAEaiACQSBqIARqKQMANwMAIARBCGohBAwACwsCQCAHIAEgAkEwakECENeAgIAAEPCAgIAADQAgAkEIakGNgcCAAEEJELCAgIAAIAIoAggNCiACQQhqIAIpAxAQsYCAgAAMCQsgAkEIakGWgcCAAEEKELCAgIAAIAIoAggNCSACQQhqIAIpAxAQsYCAgAAMCAsgAkEwaiAEakICNwMAIARBCGohBAwACwtCg4CAgBAQq4CAgAAAC0KDgICAgIIBEKuAgIAAAAtCg4CAgNCJARCrgICAAAALEPGAgIAAAAtCg4CAgICCARCrgICAAAALQoOAgIDAiQEQq4CAgAAACyACKQMQIQAgAikDCFANAQsACyACQcAAaiSAgICAACAAC3UCAn8BfgJAAkAgACgCBCICIAFqIgEgAkkNACABIAAoAgAiAykDABCKgICAAEIgiKdLDQEgAykDACACrUIghkIEhCABrUIghkIEhBCagICAACEEIAAgATYCBCAEDwsQ24CAgAAAC0KDgICAgP0AEKuAgIAAAAsfACAAQgQgAa1CIIZCBIQgAq1CIIZCBIQQkICAgAAaC7kBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkAgAEEEEOuAgIAAIgIQioCAgABCgICAgHCDQoCAgIDAAFINACABQQA2AgwgAhCKgICAAEKAgICAcINCgICAgMAAUg0BIAIgAUEMakEEEOyAgIAAIAEoAgwhACABQRBqJICAgIAAIABBGHQgAEGA/gNxQQh0ciAAQQh2QYD+A3EgAEEYdnJyDwtCg4CAgICCARCrgICAAAALEPGAgIAAAAv/AQMBfwF+An8jgICAgABBwABrIgEkgICAgAACQAJAIABBIBDrgICAACICEIqAgIAAQoCAgIBwg0KAgICAgARSDQAgAUEgakEYaiIAQgA3AwAgAUEgakEQaiIDQgA3AwAgAUEgakEIaiIEQgA3AwAgAUIANwMgIAIQioCAgABCgICAgHCDQoCAgICABFINASACIAFBIGpBIBDsgICAACABQRhqIAApAwA3AwAgAUEQaiADKQMANwMAIAFBCGogBCkDADcDACABIAEpAyA3AwAgARCzgICAACECIAFBwABqJICAgIAAIAIPC0KDgICAgIIBEKuAgIAAAAsQ8YCAgAAACxoAIACtQiCGQgSEIAGtQiCGQgSEEI6AgIAACzQBAX9BASEDAkACQAJAIAAgASACEImAgIAAp0H/AXEOAgECAAsQ24CAgAAAC0EAIQMLIAMLCQAQ24CAgAAAC30CAX8BfiOAgICAAEEwayIBJICAgIAAIAFBIGogACkDCBD0gICAAAJAIAEoAiBBAUcNAAALIAEgASkDKDcDCCABIAApAwA3AxAgASAANQIQQiCGQgSENwMYQcyBwIAAQQMgAUEIakEDEMaAgIAAIQIgAUEwaiSAgICAACACCwMAAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQjICAgAAhAQsgAEIANwMAIAAgATcDCAtdAgF/AX4CQAJAIAGnQf8BcSICQcAARg0AAkAgAkEGRg0AQgEhA0KDkICAgAEhAQwCCyABQgiIIQFCACEDDAELQgAhAyABEI2AgIAAIQELIAAgAzcDACAAIAE3AwgLMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEJKAgIAAGgvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCPgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQcSEwIAAQQIgAkECEPaAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBxITAgABBAiADQQIQxoCAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQbKFwIAAQQkQsICAgAAgASgCAA0CIAEgASkDCBCxgICAAAwBCyABQZqFwIAAQQYQsICAgAAgASgCAA0BIAEgASkDCBCxgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQpYCAgAAhBCADIAEgAhD5gICAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEIGAgIAAGiADQRBqJICAgIAACwvFBQEAQYCAwAALuwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////RW5kcG9pbnRVbG4zMDJMb2NhbEVpZE5vdEV4ZWN1dGFibGVWZXJpZmllZEJ1dE5vdEV4ZWN1dGFibGVFeGVjdXRhYmxlRXhlY3V0ZWRWZXJpZnlpbmdWZXJpZmlhYmxlVmVyaWZpZWROb3RJbml0aWFsaXphYmxlbm9uY2VzZW5kZXJzcmNfZWlkAAC4ABAABQAAAL0AEAAGAAAAwwAQAAcAAABpbml0aWFsaXphYmxlaXNfdmFsaWRfcmVjZWl2ZV9saWJyYXJ5aW5ib3VuZF9ub25jZWxhenlfaW5ib3VuZF9ub25jZWluYm91bmRfcGF5bG9hZF9oYXNoAAAAEgAAAAF2ZXJpZmlhYmxldGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyAABsARAACQAAAHUBEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAGwBEAAJAAAAdQEQAAkAAACmARAAAwAAAG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWRjYW5jZWxsZWRfcGVuZGluZ19vd25lcm93bmVy4AEQABcAAAD3ARAABQAAAG93bmVyc2hpcF9yZW5vdW5jZWQAdQEQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAOQIQAAkAAABOARAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAGMCEAAIAAAAawIQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmcAv7sBDmNvbnRyYWN0c3BlY3YwAAAABAAAACJFcnJvcnMgZm9yIExheWVyWmVyb1ZpZXcgY29udHJhY3QuAAAAAAAAAAAAEkxheWVyWmVyb1ZpZXdFcnJvcgAAAAAAAQAAAClJbnZhbGlkIHBhY2tldCBoZWFkZXIgKGRzdF9laWQgbWlzbWF0Y2gpLgAAAAAAAApJbnZhbGlkRUlEAAAAAAABAAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAE9QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLiBJcnJldmVyc2libGUuAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAZ1bG4zMDIAAAAAABMAAAAAAAAAAAAAAB1SZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzLgAAAAAAAAhlbmRwb2ludAAAAAAAAAABAAAAEwAAAAAAAAAbUmV0dXJucyB0aGUgVWxuMzAyIGFkZHJlc3MuAAAAAAZ1bG4zMDIAAAAAAAAAAAABAAAAEwAAAAAAAAAeUmV0dXJucyB0aGUgbG9jYWwgZW5kcG9pbnQgSUQuAAAAAAAJbG9jYWxfZWlkAAAAAAAAAAAAAAEAAAAEAAAAAAAAAFBDaGVja3MgaWYgYSBtZXNzYWdpbmcgcGF0aCBjYW4gYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4gYW5kIHJlY2VpdmVyLgAAAA1pbml0aWFsaXphYmxlAAAAAAAAAgAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAQAAAAAAAAC0Q2hlY2tzIGlmIGEgbWVzc2FnZSBjYW4gYmUgdmVyaWZpZWQgYXQgdGhlIGVuZHBvaW50LgoKVmVyaWZpZXM6CjEuIFJlY2VpdmUgbGlicmFyeSBpcyB2YWxpZCBmb3IgdGhpcyByZWNlaXZlciBhbmQgc291cmNlCjIuIEVuZHBvaW50IG5vbmNlIGNoZWNrIHBhc3NlcwozLiBQYXlsb2FkIGhhc2ggaXMgbm90IGVtcHR5AAAACnZlcmlmaWFibGUAAAAAAAQAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAtyZWNlaXZlX2xpYgAAAAATAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAABAAAAAAAAAClSZXR1cm5zIHRoZSBleGVjdXRpb24gc3RhdGUgb2YgYSBtZXNzYWdlLgAAAAAAAApleGVjdXRhYmxlAAAAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAfQAAAADkV4ZWN1dGlvblN0YXRlAAAAAAAAAAAA7lJldHVybnMgdGhlIGNvbWJpbmVkIHZlcmlmaWNhdGlvbiBzdGF0ZSBvZiBhIG1lc3NhZ2UuCgpUaGlzIGZ1bmN0aW9uIGNoZWNrczoKMS4gUGFja2V0IGhlYWRlciB2YWxpZGl0eSAoZHN0X2VpZCBtYXRjaGVzIGxvY2FsX2VpZCkKMi4gRW5kcG9pbnQgaW5pdGlhbGl6YWJsZSBzdGF0dXMKMy4gRW5kcG9pbnQgdmVyaWZpYWJsZSBzdGF0dXMKNC4gVUxOIHZlcmlmaWFibGUgc3RhdHVzIChEVk4gY29uZmlybWF0aW9ucykAAAAAAA51bG5fdmVyaWZpYWJsZQAAAAAAAgAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAQAAB9AAAAARVmVyaWZpY2F0aW9uU3RhdGUAAAAAAAACAAAAAAAAAAAAAAAUTGF5ZXJaZXJvVmlld1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAIRW5kcG9pbnQAAAAAAAAAAAAAAAZVbG4zMDIAAAAAAAAAAAAAAAAACExvY2FsRWlkAAAAAgAAAIFSZXByZXNlbnRzIHRoZSBleGVjdXRpb24gc3RhdGUgb2YgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgoKVXNlZCBieSBleGVjdXRvcnMgdG8gZGV0ZXJtaW5lIHdoZW4gYSBtZXNzYWdlIGlzIHJlYWR5IHRvIGJlIGRlbGl2ZXJlZC4AAAAAAAAAAAAADkV4ZWN1dGlvblN0YXRlAAAAAAAEAAAAAAAAAD5NZXNzYWdlIGlzIG5vdCByZWFkeSBmb3IgZXhlY3V0aW9uIC0gd2FpdGluZyBmb3IgdmVyaWZpY2F0aW9uLgAAAAAADU5vdEV4ZWN1dGFibGUAAAAAAAAAAAAARk1lc3NhZ2UgaXMgdmVyaWZpZWQgYnV0IGNhbm5vdCBiZSBleGVjdXRlZCB5ZXQgKHByaW9yIG5vbmNlcyBwZW5kaW5nKS4AAAAAABhWZXJpZmllZEJ1dE5vdEV4ZWN1dGFibGUAAAAAAAAAIE1lc3NhZ2UgaXMgcmVhZHkgdG8gYmUgZXhlY3V0ZWQuAAAACkV4ZWN1dGFibGUAAAAAAAAAAAAiTWVzc2FnZSBoYXMgYWxyZWFkeSBiZWVuIGV4ZWN1dGVkLgAAAAAACEV4ZWN1dGVkAAAAAgAAAIhSZXByZXNlbnRzIHRoZSB2ZXJpZmljYXRpb24gc3RhdGUgb2YgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGF0IHRoZSBVTE4gbGV2ZWwuCgpVc2VkIGJ5IERWTnMgYW5kIGV4ZWN1dG9ycyB0byB0cmFjayB2ZXJpZmljYXRpb24gcHJvZ3Jlc3MuAAAAAAAAABFWZXJpZmljYXRpb25TdGF0ZQAAAAAAAAQAAAAAAAAAM0RWTnMgYXJlIHN0aWxsIGNvbGxlY3Rpbmcgc2lnbmF0dXJlcy9jb25maXJtYXRpb25zLgAAAAAJVmVyaWZ5aW5nAAAAAAAAAAAAAEBIYXMgZW5vdWdoIERWTiBjb25maXJtYXRpb25zLCByZWFkeSB0byBiZSBjb21taXR0ZWQgdG8gZW5kcG9pbnQuAAAAClZlcmlmaWFibGUAAAAAAAAAAAAhQWxyZWFkeSB2ZXJpZmllZCBhdCB0aGUgZW5kcG9pbnQuAAAAAAAACFZlcmlmaWVkAAAAAAAAACVDYW5ub3QgYmUgaW5pdGlhbGl6ZWQgKHBhdGggYmxvY2tlZCkuAAAAAAAAEE5vdEluaXRpYWxpemFibGUAAAAFAAAAAAAAAAAAAAAKUGFja2V0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b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAAAAAAAAAAAAtVbG4zMDJFcnJvcgAAAAAUAAAARkRlZmF1bHQgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBpcyBub3Qgc2V0IGZvciB0aGUgZGVzdGluYXRpb24gZW5kcG9pbnQAAAAAAB1EZWZhdWx0RXhlY3V0b3JDb25maWdOb3RGb3VuZAAAAAAAAAEAAABERGVmYXVsdCByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQAAAAfRGVmYXVsdFJlY2VpdmVVbG5Db25maWdOb3RGb3VuZAAAAAACAAAARkRlZmF1bHQgc2VuZCBVTE4gY29uZmlndXJhdGlvbiBpcyBub3Qgc2V0IGZvciB0aGUgZGVzdGluYXRpb24gZW5kcG9pbnQAAAAAABxEZWZhdWx0U2VuZFVsbkNvbmZpZ05vdEZvdW5kAAAAAwAAAC9PcHRpb25hbCBEVk5zIGxpc3QgY29udGFpbnMgZHVwbGljYXRlIGFkZHJlc3NlcwAAAAAVRHVwbGljYXRlT3B0aW9uYWxEVk5zAAAAAAAABAAAAC9SZXF1aXJlZCBEVk5zIGxpc3QgY29udGFpbnMgZHVwbGljYXRlIGFkZHJlc3NlcwAAAAAVRHVwbGljYXRlUmVxdWlyZWREVk5zAAAAAAAABQAAADhDb25maWd1cmF0aW9uIGJ5dGVzIGZhaWxlZCB0byBwYXJzZSBhcyBleHBlY3RlZCBYRFIgdHlwZQAAAA1JbnZhbGlkQ29uZmlnAAAAAAAABgAAADxDb25maWcgdHlwZSBpcyBub3Qgb25lIG9mIEVYRUNVVE9SLCBTRU5EX1VMTiwgb3IgUkVDRUlWRV9VTE4AAAARSW52YWxpZENvbmZpZ1R5cGUAAAAAAAAHAAAAO0NvbmZpcm1hdGlvbnMgbXVzdCBiZSB6ZXJvIHdoZW4gdXNpbmcgZGVmYXVsdCBjb25maXJtYXRpb25zAAAAABRJbnZhbGlkQ29uZmlybWF0aW9ucwAAAAgAAABAUGFja2V0IGhlYWRlciBkZXN0aW5hdGlvbiBFSUQgZG9lcyBub3QgbWF0Y2ggdGhpcyBlbmRwb2ludCdzIEVJRAAAAApJbnZhbGlkRUlEAAAAAAAJAAAAMk1lc3NhZ2Ugc2l6ZSBleGNlZWRzIGV4ZWN1dG9yJ3MgY29uZmlndXJlZCBtYXhpbXVtAAAAAAASSW52YWxpZE1lc3NhZ2VTaXplAAAAAAAKAAAAMU9wdGlvbmFsIERWTnMgY291bnQgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgKDEyNykAAAAAAAAXSW52YWxpZE9wdGlvbmFsRFZOQ291bnQAAAAACwAAADxPcHRpb25hbCBEVk5zIG11c3QgYmUgZW1wdHkgd2hlbiB1c2luZyBkZWZhdWx0IG9wdGlvbmFsIERWTnMAAAATSW52YWxpZE9wdGlvbmFsRFZOcwAAAAAMAAAATU9wdGlvbmFsIERWTiB0aHJlc2hvbGQgaXMgaW52YWxpZCAobXVzdCBiZSAwIHdpdGggbm8gRFZOcywgb3IgMSB0byBEVk4gY291bnQpAAAAAAAAG0ludmFsaWRPcHRpb25hbERWTlRocmVzaG9sZAAAAAANAAAAMVJlcXVpcmVkIERWTnMgY291bnQgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgKDEyNykAAAAAAAAXSW52YWxpZFJlcXVpcmVkRFZOQ291bnQAAAAADgAAADxSZXF1aXJlZCBEVk5zIG11c3QgYmUgZW1wdHkgd2hlbiB1c2luZyBkZWZhdWx0IHJlcXVpcmVkIERWTnMAAAATSW52YWxpZFJlcXVpcmVkRFZOcwAAAAAPAAAASVNlbmRlciBhZGRyZXNzIG11c3QgYmUgYSBjb250cmFjdCAoQy1hZGRyZXNzKSwgbm90IGFuIGFjY291bnQgKEctYWRkcmVzcykAAAAAAAAUSW52YWxpZFNlbmRlckFkZHJlc3MAAAAQAAAAUkNvbmZpZ3VyYXRpb24gbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBEVk4gKHJlcXVpcmVkIG9yIG9wdGlvbmFsIHdpdGggdGhyZXNob2xkID4gMCkAAAAAABBVbG5BdExlYXN0T25lRFZOAAAAEQAAAD1FbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIChtaXNzaW5nIGRlZmF1bHQgY29uZmlndXJhdGlvbnMpAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAASAAAAME1lc3NhZ2UgaGFzIG5vdCBiZWVuIHZlcmlmaWVkIGJ5IGVub3VnaCBEVk5zIHlldAAAAAlWZXJpZnlpbmcAAAAAAAATAAAAKEV4ZWN1dG9yIG1heCBtZXNzYWdlIHNpemUgY2Fubm90IGJlIHplcm8AAAAPWmVyb01lc3NhZ2VTaXplAAAAABQAAAAFAAAAAAAAAAAAAAARRXhlY3V0b3JDb25maWdTZXQAAAAAAAABAAAAE2V4ZWN1dG9yX2NvbmZpZ19zZXQAAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAGY29uZmlnAAAAAAfQAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAQU2VuZFVsbkNvbmZpZ1NldAAAAAEAAAATc2VuZF91bG5fY29uZmlnX3NldAAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAE1JlY2VpdmVVbG5Db25maWdTZXQAAAAAAQAAABZyZWNlaXZlX3Vsbl9jb25maWdfc2V0AAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAGURlZmF1bHRFeGVjdXRvckNvbmZpZ3NTZXQAAAAAAAABAAAAHGRlZmF1bHRfZXhlY3V0b3JfY29uZmlnc19zZXQAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYRGVmYXVsdFNlbmRVbG5Db25maWdzU2V0AAAAAQAAABxkZWZhdWx0X3NlbmRfdWxuX2NvbmZpZ3Nfc2V0AAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAgAAAAUAAAAAAAAAAAAAABtEZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ3NTZXQAAAAAAQAAAB9kZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZ3Nfc2V0AAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPRXhlY3V0b3JGZWVQYWlkAAAAAAEAAAARZXhlY3V0b3JfZmVlX3BhaWQAAAAAAAADAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANmZWUAAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAApEVk5GZWVQYWlkAAAAAAABAAAADGR2bl9mZWVfcGFpZAAAAAMAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABGR2bnMAAAPqAAAAEwAAAAAAAAAAAAAABGZlZXMAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9QYXlsb2FkVmVyaWZpZWQAAAAAAQAAABBwYXlsb2FkX3ZlcmlmaWVkAAAABAAAAAAAAAADZHZuAAAAABMAAAABAAAAAAAAAAZoZWFkZXIAAAAAAA4AAAAAAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAAAAAACnByb29mX2hhc2gAAAAAA+4AAAAgAAAAAAAAAAIAAAABAAAAOFVsdHJhIExpZ2h0IE5vZGUgY29uZmlndXJhdGlvbiBmb3IgbWVzc2FnZSB2ZXJpZmljYXRpb24uAAAAAAAAAAlVbG5Db25maWcAAAAAAAAEAAAASk51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIHJlcXVpcmVkIGJlZm9yZSBtZXNzYWdlIHZlcmlmaWNhdGlvbiBiZWdpbnMuAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAAAzTWluaW11bSBudW1iZXIgb2Ygb3B0aW9uYWwgRFZOcyByZXF1aXJlZCB0byB2ZXJpZnkuAAAAABZvcHRpb25hbF9kdm5fdGhyZXNob2xkAAAAAAAEAAAAQExpc3Qgb2YgRFZOIGFkZHJlc3NlcyBmcm9tIHdoaWNoIGEgdGhyZXNob2xkIG51bWJlciBtdXN0IHZlcmlmeS4AAAANb3B0aW9uYWxfZHZucwAAAAAAA+oAAAATAAAARkxpc3Qgb2YgRFZOIGFkZHJlc3NlcyB0aGF0IG11c3QgQUxMIHZlcmlmeSB0aGUgbWVzc2FnZSAobm8gdGhyZXNob2xkKS4AAAAAAA1yZXF1aXJlZF9kdm5zAAAAAAAD6gAAABMAAAABAAAAPE9BcHAtc3BlY2lmaWMgVUxOIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IG92ZXJyaWRlIGZsYWdzLgAAAAAAAAANT0FwcFVsbkNvbmZpZwAAAAAAAAQAAABFT0FwcC1zcGVjaWZpYyBVTE4gY29uZmlndXJhdGlvbiAodXNlZCB3aGVuIGRlZmF1bHRzIGFyZSBub3QgYXBwbGllZCkuAAAAAAAACnVsbl9jb25maWcAAAAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgY29uZmlybWF0aW9ucy4AAAAAAAAZdXNlX2RlZmF1bHRfY29uZmlybWF0aW9ucwAAAAAAAAEAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCBvcHRpb25hbCBEVk5zLgAAAAAAABl1c2VfZGVmYXVsdF9vcHRpb25hbF9kdm5zAAAAAAAAAQAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IHJlcXVpcmVkIERWTnMuAAAAAAAAGXVzZV9kZWZhdWx0X3JlcXVpcmVkX2R2bnMAAAAAAAABAAAAAQAAAFJQYXJhbWV0ZXIgZm9yIHNldHRpbmcgZGVmYXVsdCBVTE4gY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbi9zb3VyY2UgZW5kcG9pbnQuAAAAAAAAAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAIAAAAoVGhlIFVMTiBjb25maWd1cmF0aW9uIHRvIHNldCBhcyBkZWZhdWx0LgAAAAZjb25maWcAAAAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAS1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoZm9yIHNlbmQpIG9yIHNvdXJjZSBlbmRwb2ludCBJRCAoZm9yIHJlY2VpdmUpLgAAAAADZWlkAAAAAAQAAAABAAAALEV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIG1lc3NhZ2UgZGVsaXZlcnkuAAAAAAAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAgAAAENBZGRyZXNzIG9mIHRoZSBleGVjdXRvciBjb250cmFjdCByZXNwb25zaWJsZSBmb3IgbWVzc2FnZSBleGVjdXRpb24uAAAAAAhleGVjdXRvcgAAABMAAAA5TWF4aW11bSBzaXplIG9mIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIChpbiBieXRlcykuAAAAAAAAEG1heF9tZXNzYWdlX3NpemUAAAAEAAAAAQAAAFtPQXBwLXNwZWNpZmljIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uCgpJZiBleGVjdXRvciBpcyBgTm9uZWAsIHRoZSBkZWZhdWx0IGV4ZWN1dG9yIGlzIHVzZWQuAAAAAAAAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAACAAAAaEFkZHJlc3Mgb2YgdGhlIGV4ZWN1dG9yIGNvbnRyYWN0IHRvIGJlIHVzZWQgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uLiBOb25lIG1lYW5zIHVzZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uAAAACGV4ZWN1dG9yAAAD6AAAABMAAABcTWF4aW11bSBzaXplIG9mIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIChpbiBieXRlcykuIDAgbWVhbnMgdXNlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4AAAAQbWF4X21lc3NhZ2Vfc2l6ZQAAAAQAAAABAAAAUFBhcmFtZXRlciBmb3Igc2V0dGluZyBkZWZhdWx0IGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAAAB1TZXREZWZhdWx0RXhlY3V0b3JDb25maWdQYXJhbQAAAAAAAAIAAAAtVGhlIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gdG8gc2V0IGFzIGRlZmF1bHQuAAAAAAAABmNvbmZpZwAAAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAHFRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAMAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAAAAAAAA5VcGdyYWRlc0Zyb3plbgAAAAAEHAAAAAQAAAAYTXVsdGlTaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aVNpZ0Vycm9yAAAAAAAACQAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABCUAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQmAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJwAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQoAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKQAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQqAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKwAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCwAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4wIzg2YzUwYTFlYTRmODdiNDBhZGQzMDY0ZmY5ZGY5NWM3NTUzNTY1YzUAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
|
|
12
12
|
/**
|
|
13
13
|
* Pre-computed WASM hash (SHA-256)
|
|
14
14
|
* Use this when the WASM is already uploaded on-chain
|
|
15
15
|
*/
|
|
16
|
-
export declare const WASM_HASH = "
|
|
16
|
+
export declare const WASM_HASH = "d871b71ff5f540d1a9a72ec62e1e481a531804047b538de2f5cde3c30b5c52f5";
|
|
17
17
|
/**
|
|
18
18
|
* Get the WASM bytecode as a Buffer
|
|
19
19
|
* Use this to upload the WASM to the network
|
|
@@ -77,78 +77,153 @@ export type VerificationState = {
|
|
|
77
77
|
values: void;
|
|
78
78
|
};
|
|
79
79
|
export declare const EndpointError: {
|
|
80
|
+
/**
|
|
81
|
+
* Library is already registered with the endpoint
|
|
82
|
+
*/
|
|
80
83
|
1: {
|
|
81
84
|
message: string;
|
|
82
85
|
};
|
|
86
|
+
/**
|
|
87
|
+
* Compose message already exists for this GUID and index
|
|
88
|
+
*/
|
|
83
89
|
2: {
|
|
84
90
|
message: string;
|
|
85
91
|
};
|
|
92
|
+
/**
|
|
93
|
+
* Compose message not found for the given GUID and index
|
|
94
|
+
*/
|
|
86
95
|
3: {
|
|
87
96
|
message: string;
|
|
88
97
|
};
|
|
98
|
+
/**
|
|
99
|
+
* Default receive library is not set for the source endpoint
|
|
100
|
+
*/
|
|
89
101
|
4: {
|
|
90
102
|
message: string;
|
|
91
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Default send library is not set for the destination endpoint
|
|
106
|
+
*/
|
|
92
107
|
5: {
|
|
93
108
|
message: string;
|
|
94
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Supplied native token fee is less than required
|
|
112
|
+
*/
|
|
95
113
|
6: {
|
|
96
114
|
message: string;
|
|
97
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Supplied ZRO token fee is less than required
|
|
118
|
+
*/
|
|
98
119
|
7: {
|
|
99
120
|
message: string;
|
|
100
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Timeout expiry is invalid (already expired)
|
|
124
|
+
*/
|
|
101
125
|
8: {
|
|
102
126
|
message: string;
|
|
103
127
|
};
|
|
128
|
+
/**
|
|
129
|
+
* Fee amount is invalid (negative)
|
|
130
|
+
*/
|
|
104
131
|
9: {
|
|
105
132
|
message: string;
|
|
106
133
|
};
|
|
134
|
+
/**
|
|
135
|
+
* Compose index exceeds maximum allowed value
|
|
136
|
+
*/
|
|
107
137
|
10: {
|
|
108
138
|
message: string;
|
|
109
139
|
};
|
|
140
|
+
/**
|
|
141
|
+
* Nonce is invalid for the requested operation
|
|
142
|
+
*/
|
|
110
143
|
11: {
|
|
111
144
|
message: string;
|
|
112
145
|
};
|
|
146
|
+
/**
|
|
147
|
+
* Payload hash is invalid (empty hash not allowed)
|
|
148
|
+
*/
|
|
113
149
|
12: {
|
|
114
150
|
message: string;
|
|
115
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* Receive library is not valid for the receiver and source endpoint
|
|
154
|
+
*/
|
|
116
155
|
13: {
|
|
117
156
|
message: string;
|
|
118
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* Operation requires a non-default (custom) library
|
|
160
|
+
*/
|
|
119
161
|
14: {
|
|
120
162
|
message: string;
|
|
121
163
|
};
|
|
164
|
+
/**
|
|
165
|
+
* Library must support receiving messages
|
|
166
|
+
*/
|
|
122
167
|
15: {
|
|
123
168
|
message: string;
|
|
124
169
|
};
|
|
170
|
+
/**
|
|
171
|
+
* Library must be registered with the endpoint
|
|
172
|
+
*/
|
|
125
173
|
16: {
|
|
126
174
|
message: string;
|
|
127
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* Library must support sending messages
|
|
178
|
+
*/
|
|
128
179
|
17: {
|
|
129
180
|
message: string;
|
|
130
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* Messaging path cannot be initialized for the given origin
|
|
184
|
+
*/
|
|
131
185
|
18: {
|
|
132
186
|
message: string;
|
|
133
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* Message cannot be verified for the given origin
|
|
190
|
+
*/
|
|
134
191
|
19: {
|
|
135
192
|
message: string;
|
|
136
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* Payload hash does not match the stored hash
|
|
196
|
+
*/
|
|
137
197
|
20: {
|
|
138
198
|
message: string;
|
|
139
199
|
};
|
|
200
|
+
/**
|
|
201
|
+
* New value is the same as existing value
|
|
202
|
+
*/
|
|
140
203
|
21: {
|
|
141
204
|
message: string;
|
|
142
205
|
};
|
|
206
|
+
/**
|
|
207
|
+
* Caller is not authorized (not OApp or delegate)
|
|
208
|
+
*/
|
|
143
209
|
22: {
|
|
144
210
|
message: string;
|
|
145
211
|
};
|
|
212
|
+
/**
|
|
213
|
+
* Endpoint ID is not supported by the library
|
|
214
|
+
*/
|
|
146
215
|
23: {
|
|
147
216
|
message: string;
|
|
148
217
|
};
|
|
218
|
+
/**
|
|
219
|
+
* ZRO fee must be greater than zero when pay_in_zro is true
|
|
220
|
+
*/
|
|
149
221
|
24: {
|
|
150
222
|
message: string;
|
|
151
223
|
};
|
|
224
|
+
/**
|
|
225
|
+
* ZRO token address is not set
|
|
226
|
+
*/
|
|
152
227
|
25: {
|
|
153
228
|
message: string;
|
|
154
229
|
};
|
|
@@ -263,11 +338,11 @@ export interface MessageLibVersion {
|
|
|
263
338
|
*/
|
|
264
339
|
export interface Timeout {
|
|
265
340
|
/**
|
|
266
|
-
* Unix timestamp when the timeout expires.
|
|
341
|
+
* Unix timestamp in seconds when the timeout expires.
|
|
267
342
|
*/
|
|
268
343
|
expiry: u64;
|
|
269
344
|
/**
|
|
270
|
-
* The
|
|
345
|
+
* The old library address that remains valid during the grace period.
|
|
271
346
|
*/
|
|
272
347
|
lib: string;
|
|
273
348
|
}
|
|
@@ -408,63 +483,126 @@ export declare const WorkerOptionsError: {
|
|
|
408
483
|
};
|
|
409
484
|
};
|
|
410
485
|
export declare const Uln302Error: {
|
|
486
|
+
/**
|
|
487
|
+
* Default executor configuration is not set for the destination endpoint
|
|
488
|
+
*/
|
|
411
489
|
1: {
|
|
412
490
|
message: string;
|
|
413
491
|
};
|
|
492
|
+
/**
|
|
493
|
+
* Default receive ULN configuration is not set for the source endpoint
|
|
494
|
+
*/
|
|
414
495
|
2: {
|
|
415
496
|
message: string;
|
|
416
497
|
};
|
|
498
|
+
/**
|
|
499
|
+
* Default send ULN configuration is not set for the destination endpoint
|
|
500
|
+
*/
|
|
417
501
|
3: {
|
|
418
502
|
message: string;
|
|
419
503
|
};
|
|
504
|
+
/**
|
|
505
|
+
* Optional DVNs list contains duplicate addresses
|
|
506
|
+
*/
|
|
420
507
|
4: {
|
|
421
508
|
message: string;
|
|
422
509
|
};
|
|
510
|
+
/**
|
|
511
|
+
* Required DVNs list contains duplicate addresses
|
|
512
|
+
*/
|
|
423
513
|
5: {
|
|
424
514
|
message: string;
|
|
425
515
|
};
|
|
516
|
+
/**
|
|
517
|
+
* Configuration bytes failed to parse as expected XDR type
|
|
518
|
+
*/
|
|
426
519
|
6: {
|
|
427
520
|
message: string;
|
|
428
521
|
};
|
|
522
|
+
/**
|
|
523
|
+
* Config type is not one of EXECUTOR, SEND_ULN, or RECEIVE_ULN
|
|
524
|
+
*/
|
|
429
525
|
7: {
|
|
430
526
|
message: string;
|
|
431
527
|
};
|
|
528
|
+
/**
|
|
529
|
+
* Confirmations must be zero when using default confirmations
|
|
530
|
+
*/
|
|
432
531
|
8: {
|
|
433
532
|
message: string;
|
|
434
533
|
};
|
|
534
|
+
/**
|
|
535
|
+
* Packet header destination EID does not match this endpoint's EID
|
|
536
|
+
*/
|
|
435
537
|
9: {
|
|
436
538
|
message: string;
|
|
437
539
|
};
|
|
540
|
+
/**
|
|
541
|
+
* Message size exceeds executor's configured maximum
|
|
542
|
+
*/
|
|
438
543
|
10: {
|
|
439
544
|
message: string;
|
|
440
545
|
};
|
|
546
|
+
/**
|
|
547
|
+
* Optional DVNs count exceeds maximum allowed (127)
|
|
548
|
+
*/
|
|
441
549
|
11: {
|
|
442
550
|
message: string;
|
|
443
551
|
};
|
|
552
|
+
/**
|
|
553
|
+
* Optional DVNs must be empty when using default optional DVNs
|
|
554
|
+
*/
|
|
444
555
|
12: {
|
|
445
556
|
message: string;
|
|
446
557
|
};
|
|
558
|
+
/**
|
|
559
|
+
* Optional DVN threshold is invalid (must be 0 with no DVNs, or 1 to DVN count)
|
|
560
|
+
*/
|
|
447
561
|
13: {
|
|
448
562
|
message: string;
|
|
449
563
|
};
|
|
564
|
+
/**
|
|
565
|
+
* Required DVNs count exceeds maximum allowed (127)
|
|
566
|
+
*/
|
|
450
567
|
14: {
|
|
451
568
|
message: string;
|
|
452
569
|
};
|
|
570
|
+
/**
|
|
571
|
+
* Required DVNs must be empty when using default required DVNs
|
|
572
|
+
*/
|
|
453
573
|
15: {
|
|
454
574
|
message: string;
|
|
455
575
|
};
|
|
576
|
+
/**
|
|
577
|
+
* Sender address must be a contract (C-address), not an account (G-address)
|
|
578
|
+
*/
|
|
456
579
|
16: {
|
|
457
580
|
message: string;
|
|
458
581
|
};
|
|
582
|
+
/**
|
|
583
|
+
* Configuration must have at least one DVN (required or optional with threshold > 0)
|
|
584
|
+
*/
|
|
459
585
|
17: {
|
|
460
586
|
message: string;
|
|
461
587
|
};
|
|
588
|
+
/**
|
|
589
|
+
* Endpoint ID is not supported (missing default configurations)
|
|
590
|
+
*/
|
|
462
591
|
18: {
|
|
463
592
|
message: string;
|
|
464
593
|
};
|
|
594
|
+
/**
|
|
595
|
+
* Message has not been verified by enough DVNs yet
|
|
596
|
+
*/
|
|
465
597
|
19: {
|
|
466
598
|
message: string;
|
|
467
599
|
};
|
|
600
|
+
/**
|
|
601
|
+
* Executor max message size cannot be zero
|
|
602
|
+
*/
|
|
603
|
+
20: {
|
|
604
|
+
message: string;
|
|
605
|
+
};
|
|
468
606
|
};
|
|
469
607
|
/**
|
|
470
608
|
* Ultra Light Node configuration for message verification.
|
|
@@ -617,6 +755,9 @@ export declare const OwnableError: {
|
|
|
617
755
|
1035: {
|
|
618
756
|
message: string;
|
|
619
757
|
};
|
|
758
|
+
1036: {
|
|
759
|
+
message: string;
|
|
760
|
+
};
|
|
620
761
|
};
|
|
621
762
|
/**
|
|
622
763
|
* BytesExtError: 1040-1049
|
|
@@ -641,9 +782,9 @@ export declare const UpgradeableError: {
|
|
|
641
782
|
};
|
|
642
783
|
};
|
|
643
784
|
/**
|
|
644
|
-
*
|
|
785
|
+
* MultiSigError: 1060-1069
|
|
645
786
|
*/
|
|
646
|
-
export declare const
|
|
787
|
+
export declare const MultiSigError: {
|
|
647
788
|
1060: {
|
|
648
789
|
message: string;
|
|
649
790
|
};
|
|
@@ -668,8 +809,11 @@ export declare const MultisigError: {
|
|
|
668
809
|
1067: {
|
|
669
810
|
message: string;
|
|
670
811
|
};
|
|
812
|
+
1068: {
|
|
813
|
+
message: string;
|
|
814
|
+
};
|
|
671
815
|
};
|
|
672
|
-
export type
|
|
816
|
+
export type MultiSigStorage = {
|
|
673
817
|
tag: "Signers";
|
|
674
818
|
values: void;
|
|
675
819
|
} | {
|
|
@@ -716,137 +860,44 @@ export type UpgradeableStorage = {
|
|
|
716
860
|
export interface Client {
|
|
717
861
|
/**
|
|
718
862
|
* Construct and simulate a upgrade 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.
|
|
719
|
-
* The type of data required for migration.
|
|
720
863
|
* Upgrades the contract to new WASM bytecode.
|
|
721
864
|
* Sets a migration flag that must be cleared by calling `migrate`.
|
|
722
865
|
*/
|
|
723
866
|
upgrade: ({ new_wasm_hash }: {
|
|
724
867
|
new_wasm_hash: Buffer;
|
|
725
|
-
}, txnOptions?:
|
|
726
|
-
/**
|
|
727
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
728
|
-
*/
|
|
729
|
-
fee?: number;
|
|
730
|
-
/**
|
|
731
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
732
|
-
*/
|
|
733
|
-
timeoutInSeconds?: number;
|
|
734
|
-
/**
|
|
735
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
736
|
-
*/
|
|
737
|
-
simulate?: boolean;
|
|
738
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
868
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
739
869
|
/**
|
|
740
870
|
* Construct and simulate a migrate 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.
|
|
741
871
|
* Runs migration logic after an upgrade.
|
|
742
|
-
*
|
|
872
|
+
* Parses XDR-encoded `migration_data` and calls `__migrate`. Clears the migration flag on success.
|
|
743
873
|
*/
|
|
744
874
|
migrate: ({ migration_data }: {
|
|
745
875
|
migration_data: Buffer;
|
|
746
|
-
}, txnOptions?:
|
|
747
|
-
/**
|
|
748
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
749
|
-
*/
|
|
750
|
-
fee?: number;
|
|
751
|
-
/**
|
|
752
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
753
|
-
*/
|
|
754
|
-
timeoutInSeconds?: number;
|
|
755
|
-
/**
|
|
756
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
757
|
-
*/
|
|
758
|
-
simulate?: boolean;
|
|
759
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
876
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
760
877
|
/**
|
|
761
878
|
* Construct and simulate a freeze 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.
|
|
762
|
-
* Permanently freezes the contract, preventing any future upgrades.
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
freeze: (txnOptions?: {
|
|
766
|
-
/**
|
|
767
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
768
|
-
*/
|
|
769
|
-
fee?: number;
|
|
770
|
-
/**
|
|
771
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
772
|
-
*/
|
|
773
|
-
timeoutInSeconds?: number;
|
|
774
|
-
/**
|
|
775
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
776
|
-
*/
|
|
777
|
-
simulate?: boolean;
|
|
778
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
879
|
+
* Permanently freezes the contract, preventing any future upgrades. Irreversible.
|
|
880
|
+
*/
|
|
881
|
+
freeze: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
779
882
|
/**
|
|
780
883
|
* Construct and simulate a is_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.
|
|
781
884
|
* Returns whether the contract is frozen (upgrades disabled).
|
|
782
885
|
*/
|
|
783
|
-
is_frozen: (
|
|
784
|
-
/**
|
|
785
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
786
|
-
*/
|
|
787
|
-
fee?: number;
|
|
788
|
-
/**
|
|
789
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
790
|
-
*/
|
|
791
|
-
timeoutInSeconds?: number;
|
|
792
|
-
/**
|
|
793
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
794
|
-
*/
|
|
795
|
-
simulate?: boolean;
|
|
796
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
886
|
+
is_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
797
887
|
/**
|
|
798
888
|
* 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.
|
|
799
889
|
*/
|
|
800
|
-
authorizer: (
|
|
801
|
-
/**
|
|
802
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
803
|
-
*/
|
|
804
|
-
fee?: number;
|
|
805
|
-
/**
|
|
806
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
807
|
-
*/
|
|
808
|
-
timeoutInSeconds?: number;
|
|
809
|
-
/**
|
|
810
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
811
|
-
*/
|
|
812
|
-
simulate?: boolean;
|
|
813
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
890
|
+
authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
814
891
|
/**
|
|
815
892
|
* 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.
|
|
816
893
|
* Returns the current owner address, or None if no owner is set.
|
|
817
894
|
*/
|
|
818
|
-
owner: (
|
|
819
|
-
/**
|
|
820
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
821
|
-
*/
|
|
822
|
-
fee?: number;
|
|
823
|
-
/**
|
|
824
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
825
|
-
*/
|
|
826
|
-
timeoutInSeconds?: number;
|
|
827
|
-
/**
|
|
828
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
829
|
-
*/
|
|
830
|
-
simulate?: boolean;
|
|
831
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
895
|
+
owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
832
896
|
/**
|
|
833
897
|
* 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.
|
|
834
898
|
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
835
899
|
*/
|
|
836
|
-
pending_owner: (
|
|
837
|
-
/**
|
|
838
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
839
|
-
*/
|
|
840
|
-
fee?: number;
|
|
841
|
-
/**
|
|
842
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
843
|
-
*/
|
|
844
|
-
timeoutInSeconds?: number;
|
|
845
|
-
/**
|
|
846
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
847
|
-
*/
|
|
848
|
-
simulate?: boolean;
|
|
849
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
900
|
+
pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
850
901
|
/**
|
|
851
902
|
* 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.
|
|
852
903
|
* Transfers ownership immediately to a new address.
|
|
@@ -860,20 +911,7 @@ export interface Client {
|
|
|
860
911
|
*/
|
|
861
912
|
transfer_ownership: ({ new_owner }: {
|
|
862
913
|
new_owner: string;
|
|
863
|
-
}, txnOptions?:
|
|
864
|
-
/**
|
|
865
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
866
|
-
*/
|
|
867
|
-
fee?: number;
|
|
868
|
-
/**
|
|
869
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
870
|
-
*/
|
|
871
|
-
timeoutInSeconds?: number;
|
|
872
|
-
/**
|
|
873
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
874
|
-
*/
|
|
875
|
-
simulate?: boolean;
|
|
876
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
914
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
877
915
|
/**
|
|
878
916
|
* 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.
|
|
879
917
|
* Proposes an ownership transfer to a new address.
|
|
@@ -895,20 +933,7 @@ export interface Client {
|
|
|
895
933
|
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
896
934
|
new_owner: string;
|
|
897
935
|
ttl: u32;
|
|
898
|
-
}, txnOptions?:
|
|
899
|
-
/**
|
|
900
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
901
|
-
*/
|
|
902
|
-
fee?: number;
|
|
903
|
-
/**
|
|
904
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
905
|
-
*/
|
|
906
|
-
timeoutInSeconds?: number;
|
|
907
|
-
/**
|
|
908
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
909
|
-
*/
|
|
910
|
-
simulate?: boolean;
|
|
911
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
936
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
912
937
|
/**
|
|
913
938
|
* 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.
|
|
914
939
|
* Accepts a pending 2-step ownership transfer.
|
|
@@ -918,20 +943,7 @@ export interface Client {
|
|
|
918
943
|
* # Panics
|
|
919
944
|
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
920
945
|
*/
|
|
921
|
-
accept_ownership: (
|
|
922
|
-
/**
|
|
923
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
924
|
-
*/
|
|
925
|
-
fee?: number;
|
|
926
|
-
/**
|
|
927
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
928
|
-
*/
|
|
929
|
-
timeoutInSeconds?: number;
|
|
930
|
-
/**
|
|
931
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
932
|
-
*/
|
|
933
|
-
simulate?: boolean;
|
|
934
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
946
|
+
accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
935
947
|
/**
|
|
936
948
|
* 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.
|
|
937
949
|
* Permanently renounces ownership.
|
|
@@ -940,20 +952,7 @@ export interface Client {
|
|
|
940
952
|
* - `OwnerNotSet` if no owner is currently set
|
|
941
953
|
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
942
954
|
*/
|
|
943
|
-
renounce_ownership: (
|
|
944
|
-
/**
|
|
945
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
946
|
-
*/
|
|
947
|
-
fee?: number;
|
|
948
|
-
/**
|
|
949
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
950
|
-
*/
|
|
951
|
-
timeoutInSeconds?: number;
|
|
952
|
-
/**
|
|
953
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
954
|
-
*/
|
|
955
|
-
simulate?: boolean;
|
|
956
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
955
|
+
renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
957
956
|
/**
|
|
958
957
|
* 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.
|
|
959
958
|
* Extends the instance TTL.
|
|
@@ -966,20 +965,7 @@ export interface Client {
|
|
|
966
965
|
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
967
966
|
threshold: u32;
|
|
968
967
|
extend_to: u32;
|
|
969
|
-
}, txnOptions?:
|
|
970
|
-
/**
|
|
971
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
972
|
-
*/
|
|
973
|
-
fee?: number;
|
|
974
|
-
/**
|
|
975
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
976
|
-
*/
|
|
977
|
-
timeoutInSeconds?: number;
|
|
978
|
-
/**
|
|
979
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
980
|
-
*/
|
|
981
|
-
simulate?: boolean;
|
|
982
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
968
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
983
969
|
/**
|
|
984
970
|
* 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.
|
|
985
971
|
* Sets TTL configs for instance and persistent storage.
|
|
@@ -998,38 +984,12 @@ export interface Client {
|
|
|
998
984
|
set_ttl_configs: ({ instance, persistent }: {
|
|
999
985
|
instance: Option<TtlConfig>;
|
|
1000
986
|
persistent: Option<TtlConfig>;
|
|
1001
|
-
}, txnOptions?:
|
|
1002
|
-
/**
|
|
1003
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1004
|
-
*/
|
|
1005
|
-
fee?: number;
|
|
1006
|
-
/**
|
|
1007
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1008
|
-
*/
|
|
1009
|
-
timeoutInSeconds?: number;
|
|
1010
|
-
/**
|
|
1011
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1012
|
-
*/
|
|
1013
|
-
simulate?: boolean;
|
|
1014
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
987
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1015
988
|
/**
|
|
1016
989
|
* 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.
|
|
1017
990
|
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
1018
991
|
*/
|
|
1019
|
-
ttl_configs: (
|
|
1020
|
-
/**
|
|
1021
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1022
|
-
*/
|
|
1023
|
-
fee?: number;
|
|
1024
|
-
/**
|
|
1025
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1026
|
-
*/
|
|
1027
|
-
timeoutInSeconds?: number;
|
|
1028
|
-
/**
|
|
1029
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1030
|
-
*/
|
|
1031
|
-
simulate?: boolean;
|
|
1032
|
-
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
992
|
+
ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
1033
993
|
/**
|
|
1034
994
|
* 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.
|
|
1035
995
|
* Permanently freezes TTL configs, preventing any future modifications.
|
|
@@ -1040,92 +1000,27 @@ export interface Client {
|
|
|
1040
1000
|
* # Panics
|
|
1041
1001
|
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
1042
1002
|
*/
|
|
1043
|
-
freeze_ttl_configs: (
|
|
1044
|
-
/**
|
|
1045
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1046
|
-
*/
|
|
1047
|
-
fee?: number;
|
|
1048
|
-
/**
|
|
1049
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1050
|
-
*/
|
|
1051
|
-
timeoutInSeconds?: number;
|
|
1052
|
-
/**
|
|
1053
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1054
|
-
*/
|
|
1055
|
-
simulate?: boolean;
|
|
1056
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1003
|
+
freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1057
1004
|
/**
|
|
1058
1005
|
* 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.
|
|
1059
1006
|
* Returns whether TTL configs are frozen.
|
|
1060
1007
|
*/
|
|
1061
|
-
is_ttl_configs_frozen: (
|
|
1062
|
-
/**
|
|
1063
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1064
|
-
*/
|
|
1065
|
-
fee?: number;
|
|
1066
|
-
/**
|
|
1067
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1068
|
-
*/
|
|
1069
|
-
timeoutInSeconds?: number;
|
|
1070
|
-
/**
|
|
1071
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1072
|
-
*/
|
|
1073
|
-
simulate?: boolean;
|
|
1074
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1008
|
+
is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1075
1009
|
/**
|
|
1076
1010
|
* Construct and simulate a endpoint 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.
|
|
1077
1011
|
* Returns the endpoint address.
|
|
1078
1012
|
*/
|
|
1079
|
-
endpoint: (
|
|
1080
|
-
/**
|
|
1081
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1082
|
-
*/
|
|
1083
|
-
fee?: number;
|
|
1084
|
-
/**
|
|
1085
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1086
|
-
*/
|
|
1087
|
-
timeoutInSeconds?: number;
|
|
1088
|
-
/**
|
|
1089
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1090
|
-
*/
|
|
1091
|
-
simulate?: boolean;
|
|
1092
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
1013
|
+
endpoint: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
1093
1014
|
/**
|
|
1094
1015
|
* Construct and simulate a uln302 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.
|
|
1095
1016
|
* Returns the Uln302 address.
|
|
1096
1017
|
*/
|
|
1097
|
-
uln302: (
|
|
1098
|
-
/**
|
|
1099
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1100
|
-
*/
|
|
1101
|
-
fee?: number;
|
|
1102
|
-
/**
|
|
1103
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1104
|
-
*/
|
|
1105
|
-
timeoutInSeconds?: number;
|
|
1106
|
-
/**
|
|
1107
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1108
|
-
*/
|
|
1109
|
-
simulate?: boolean;
|
|
1110
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
1018
|
+
uln302: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
1111
1019
|
/**
|
|
1112
1020
|
* Construct and simulate a local_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.
|
|
1113
1021
|
* Returns the local endpoint ID.
|
|
1114
1022
|
*/
|
|
1115
|
-
local_eid: (
|
|
1116
|
-
/**
|
|
1117
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1118
|
-
*/
|
|
1119
|
-
fee?: number;
|
|
1120
|
-
/**
|
|
1121
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1122
|
-
*/
|
|
1123
|
-
timeoutInSeconds?: number;
|
|
1124
|
-
/**
|
|
1125
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1126
|
-
*/
|
|
1127
|
-
simulate?: boolean;
|
|
1128
|
-
}) => Promise<AssembledTransaction<u32>>;
|
|
1023
|
+
local_eid: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>;
|
|
1129
1024
|
/**
|
|
1130
1025
|
* Construct and simulate a initializable 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.
|
|
1131
1026
|
* Checks if a messaging path can be initialized for the given origin and receiver.
|
|
@@ -1133,20 +1028,7 @@ export interface Client {
|
|
|
1133
1028
|
initializable: ({ origin, receiver }: {
|
|
1134
1029
|
origin: Origin;
|
|
1135
1030
|
receiver: string;
|
|
1136
|
-
}, txnOptions?:
|
|
1137
|
-
/**
|
|
1138
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1139
|
-
*/
|
|
1140
|
-
fee?: number;
|
|
1141
|
-
/**
|
|
1142
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1143
|
-
*/
|
|
1144
|
-
timeoutInSeconds?: number;
|
|
1145
|
-
/**
|
|
1146
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1147
|
-
*/
|
|
1148
|
-
simulate?: boolean;
|
|
1149
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1031
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1150
1032
|
/**
|
|
1151
1033
|
* Construct and simulate a verifiable 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.
|
|
1152
1034
|
* Checks if a message can be verified at the endpoint.
|
|
@@ -1161,20 +1043,7 @@ export interface Client {
|
|
|
1161
1043
|
receiver: string;
|
|
1162
1044
|
receive_lib: string;
|
|
1163
1045
|
payload_hash: Buffer;
|
|
1164
|
-
}, txnOptions?:
|
|
1165
|
-
/**
|
|
1166
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1167
|
-
*/
|
|
1168
|
-
fee?: number;
|
|
1169
|
-
/**
|
|
1170
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1171
|
-
*/
|
|
1172
|
-
timeoutInSeconds?: number;
|
|
1173
|
-
/**
|
|
1174
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1175
|
-
*/
|
|
1176
|
-
simulate?: boolean;
|
|
1177
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1046
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1178
1047
|
/**
|
|
1179
1048
|
* Construct and simulate a executable 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.
|
|
1180
1049
|
* Returns the execution state of a message.
|
|
@@ -1182,20 +1051,7 @@ export interface Client {
|
|
|
1182
1051
|
executable: ({ origin, receiver }: {
|
|
1183
1052
|
origin: Origin;
|
|
1184
1053
|
receiver: string;
|
|
1185
|
-
}, txnOptions?:
|
|
1186
|
-
/**
|
|
1187
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1188
|
-
*/
|
|
1189
|
-
fee?: number;
|
|
1190
|
-
/**
|
|
1191
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1192
|
-
*/
|
|
1193
|
-
timeoutInSeconds?: number;
|
|
1194
|
-
/**
|
|
1195
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1196
|
-
*/
|
|
1197
|
-
simulate?: boolean;
|
|
1198
|
-
}) => Promise<AssembledTransaction<ExecutionState>>;
|
|
1054
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<ExecutionState>>;
|
|
1199
1055
|
/**
|
|
1200
1056
|
* Construct and simulate a uln_verifiable 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.
|
|
1201
1057
|
* Returns the combined verification state of a message.
|
|
@@ -1209,20 +1065,7 @@ export interface Client {
|
|
|
1209
1065
|
uln_verifiable: ({ packet_header, payload_hash }: {
|
|
1210
1066
|
packet_header: Buffer;
|
|
1211
1067
|
payload_hash: Buffer;
|
|
1212
|
-
}, txnOptions?:
|
|
1213
|
-
/**
|
|
1214
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1215
|
-
*/
|
|
1216
|
-
fee?: number;
|
|
1217
|
-
/**
|
|
1218
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1219
|
-
*/
|
|
1220
|
-
timeoutInSeconds?: number;
|
|
1221
|
-
/**
|
|
1222
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1223
|
-
*/
|
|
1224
|
-
simulate?: boolean;
|
|
1225
|
-
}) => Promise<AssembledTransaction<VerificationState>>;
|
|
1068
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<VerificationState>>;
|
|
1226
1069
|
}
|
|
1227
1070
|
export declare class Client extends ContractClient {
|
|
1228
1071
|
readonly options: ContractClientOptions;
|