@layerzerolabs/protocol-stellar-v2 0.2.15 → 0.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +365 -297
- package/.turbo/turbo-lint.log +142 -110
- package/.turbo/turbo-test.log +1273 -1222
- package/Cargo.lock +20 -5
- package/Cargo.toml +4 -1
- package/contracts/ERROR_SPEC.md +44 -0
- package/contracts/common-macros/src/auth.rs +113 -0
- package/contracts/common-macros/src/contract_ttl.rs +84 -0
- package/contracts/common-macros/src/lib.rs +181 -30
- package/contracts/common-macros/src/lz_contract.rs +83 -0
- package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
- package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -2
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +3 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
- package/contracts/common-macros/src/ttl_configurable.rs +19 -34
- package/contracts/common-macros/src/ttl_extendable.rs +36 -0
- package/contracts/common-macros/src/upgradeable.rs +5 -5
- package/contracts/common-macros/src/utils.rs +9 -0
- package/contracts/endpoint-v2/src/constants.rs +4 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
- package/contracts/endpoint-v2/src/errors.rs +4 -3
- package/contracts/endpoint-v2/src/events.rs +1 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
- package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
- package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
- package/contracts/endpoint-v2/src/storage.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
- package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
- package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
- package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
- package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
- package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
- package/contracts/message-libs/treasury/src/errors.rs +2 -2
- package/contracts/message-libs/treasury/src/events.rs +1 -1
- package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
- package/contracts/message-libs/treasury/src/storage.rs +1 -1
- package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
- package/contracts/message-libs/treasury/src/treasury.rs +14 -16
- package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
- package/contracts/message-libs/uln-302/src/send_uln.rs +24 -4
- package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
- package/contracts/oapps/counter/Cargo.toml +14 -1
- package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
- package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
- package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
- package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
- package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
- package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
- package/contracts/oapps/counter/src/counter.rs +67 -43
- package/contracts/oapps/counter/src/tests/mod.rs +0 -13
- package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
- package/contracts/oapps/oapp/src/errors.rs +5 -1
- package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
- package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
- package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
- package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
- package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
- package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
- package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
- package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
- package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
- package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
- package/contracts/oapps/oft/Cargo.toml +10 -7
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
- package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
- package/contracts/oapps/oft/integration-tests/setup.rs +29 -110
- package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -14
- package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
- package/contracts/oapps/oft/src/lib.rs +11 -13
- package/contracts/oapps/oft/src/oft.rs +147 -225
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -13
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +31 -14
- package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
- package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +129 -30
- package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
- package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
- package/contracts/oapps/oft-core/src/errors.rs +13 -0
- package/contracts/oapps/oft-core/src/lib.rs +18 -0
- package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
- package/contracts/oapps/{oft → oft-core}/src/storage.rs +2 -0
- package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +2 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
- package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -5
- package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
- package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +78 -37
- package/contracts/oapps/oft-core/src/types.rs +58 -0
- package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
- package/contracts/upgrader/src/lib.rs +4 -4
- package/contracts/utils/src/auth.rs +44 -0
- package/contracts/utils/src/errors.rs +31 -5
- package/contracts/utils/src/lib.rs +3 -0
- package/contracts/utils/src/multisig.rs +211 -0
- package/contracts/utils/src/ownable.rs +137 -13
- package/contracts/utils/src/tests/buffer_reader.rs +6 -6
- package/contracts/utils/src/tests/buffer_writer.rs +6 -6
- package/contracts/utils/src/tests/bytes_ext.rs +2 -4
- package/contracts/utils/src/tests/mod.rs +1 -0
- package/contracts/utils/src/tests/multisig.rs +731 -0
- package/contracts/utils/src/tests/option_ext.rs +2 -5
- package/contracts/utils/src/tests/ownable.rs +456 -7
- package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
- package/contracts/utils/src/tests/upgradeable.rs +4 -2
- package/contracts/utils/src/ttl_configurable.rs +23 -8
- package/contracts/utils/src/ttl_extendable.rs +27 -0
- package/contracts/utils/src/upgradeable.rs +2 -0
- package/contracts/workers/dvn/Cargo.toml +1 -1
- package/contracts/workers/dvn/src/auth.rs +7 -7
- package/contracts/workers/dvn/src/dvn.rs +10 -38
- package/contracts/workers/dvn/src/errors.rs +0 -7
- package/contracts/workers/dvn/src/events.rs +1 -14
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
- package/contracts/workers/dvn/src/storage.rs +3 -13
- package/contracts/workers/dvn/src/tests/auth.rs +4 -4
- package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
- package/contracts/workers/dvn/src/tests/setup.rs +5 -5
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
- package/contracts/workers/executor/src/auth.rs +80 -16
- package/contracts/workers/executor/src/executor.rs +5 -31
- package/contracts/workers/executor/src/storage.rs +2 -9
- package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
- package/contracts/workers/executor-helper/Cargo.toml +1 -1
- package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
- package/contracts/workers/price-feed/Cargo.toml +1 -1
- package/contracts/workers/price-feed/src/price_feed.rs +7 -10
- package/contracts/workers/worker/src/errors.rs +4 -0
- package/contracts/workers/worker/src/tests/worker.rs +7 -6
- package/contracts/workers/worker/src/worker.rs +20 -16
- package/package.json +7 -5
- package/sdk/.turbo/turbo-build.log +1 -0
- package/sdk/.turbo/turbo-test.log +1019 -0
- package/sdk/dist/generated/bml.d.ts +95 -8
- package/sdk/dist/generated/bml.js +95 -36
- package/sdk/dist/generated/counter.d.ts +289 -44
- package/sdk/dist/generated/counter.js +119 -49
- package/sdk/dist/generated/dvn.d.ts +312 -229
- package/sdk/dist/generated/dvn.js +144 -83
- package/sdk/dist/generated/dvn_fee_lib.d.ts +258 -63
- package/sdk/dist/generated/dvn_fee_lib.js +95 -26
- package/sdk/dist/generated/endpoint.d.ts +219 -24
- package/sdk/dist/generated/endpoint.js +108 -41
- package/sdk/dist/generated/executor.d.ts +239 -87
- package/sdk/dist/generated/executor.js +135 -63
- package/sdk/dist/generated/executor_fee_lib.d.ts +278 -74
- package/sdk/dist/generated/executor_fee_lib.js +135 -59
- package/sdk/dist/generated/executor_helper.d.ts +163 -21
- package/sdk/dist/generated/executor_helper.js +124 -52
- package/sdk/dist/generated/oft.d.ts +1842 -0
- package/sdk/dist/generated/oft.js +345 -0
- package/sdk/dist/generated/price_feed.d.ts +258 -63
- package/sdk/dist/generated/price_feed.js +95 -26
- package/sdk/dist/generated/sml.d.ts +235 -34
- package/sdk/dist/generated/sml.js +126 -53
- package/sdk/dist/generated/treasury.d.ts +1016 -0
- package/sdk/dist/generated/treasury.js +248 -0
- package/sdk/dist/generated/uln302.d.ts +235 -34
- package/sdk/dist/generated/uln302.js +126 -53
- package/sdk/dist/generated/upgrader.d.ts +17 -2
- package/sdk/dist/generated/upgrader.js +19 -1
- package/sdk/dist/index.d.ts +2 -1
- package/sdk/dist/index.js +2 -1
- package/sdk/package.json +6 -3
- package/sdk/src/index.ts +2 -1
- package/sdk/test/counter-sml.test.ts +376 -0
- package/sdk/test/counter-uln.test.ts +493 -0
- package/sdk/test/{oft.test.ts → oft-sml.test.ts} +196 -321
- package/sdk/test/suites/constants.ts +22 -2
- package/sdk/test/suites/globalSetup.ts +450 -0
- package/sdk/test/suites/localnet.ts +23 -6
- package/sdk/test/upgrader.test.ts +7 -16
- package/sdk/test/utils.ts +558 -85
- package/sdk/turbo.json +8 -0
- package/sdk/vitest.config.ts +21 -0
- package/tools/ts-bindings-gen/Cargo.toml +2 -0
- package/tools/ts-bindings-gen/src/main.rs +52 -4
- package/contracts/common-macros/src/contract_impl.rs +0 -52
- package/contracts/common-macros/src/ownable.rs +0 -41
- package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
- package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
- package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
- package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
- package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
- package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
- package/contracts/oapps/oapp-macros/src/util.rs +0 -107
- package/contracts/oapps/oft/src/constants.rs +0 -5
- package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
- package/contracts/oapps/oft/src/errors.rs +0 -8
- package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
- package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
- package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -903
- package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -749
- package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -432
- package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1078
- package/contracts/oapps/oft/src/types.rs +0 -38
- package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
- package/contracts/oapps/oft-std/src/lib.rs +0 -16
- package/contracts/oapps/oft-std/src/oft.rs +0 -156
- package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
- package/contracts/workers/dvn/src/multisig.rs +0 -157
- package/sdk/dist/generated/oft_std.d.ts +0 -1544
- package/sdk/dist/generated/oft_std.js +0 -271
- package/sdk/test/index.test.ts +0 -375
- /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
- /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
import { Buffer } from "buffer";
|
|
1
2
|
import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
|
|
2
3
|
export * from '@stellar/stellar-sdk';
|
|
3
4
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
4
5
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
6
|
+
/**
|
|
7
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
8
|
+
* Size: 57134 bytes (55.79 KB)
|
|
9
|
+
*/
|
|
10
|
+
export const WASM_BASE64 = "AGFzbQEAAAAB4QElYAJ+fgF+YAABfmAEfn5+fgF+YAN+fn4BfmABfgF+YAV/f35+fgBgAn9/AX5gA39+fgBgAABgA39/fwBgAX8BfmACf38AYAJ+fgF/YAJ/fgBgAX8Bf2ADfn5+AGAAAX9gAX8AYAJ+fwBgAX4AYAJ+fwF+YAN/fn8AYAR/f39/AX5gBX5/f39/AGABfgF/YAN+f38AYAR/f39/AX9gAn9+AX9gBH9+fn4AYAJ+fwF/YAJ/fwF/YAN/fn4Bf2AHf35+f35+fwBgAn5+AGAEfn5/fwF+YAN+f38BfmADf39/AX8CjwItAW0BNAAAAW0BMQAAAWIBNAABAWwBNwACAWwBMQAAAWwBXwADAWIBXwAEAWwBMgAAAWEBMAAEAXYBMQAAAXYBMwAEAXYBXwABAW0BXwABAW0BMAADAWIBMAAEAWIBOAAEAWQBXwADAWIBZQAAAWIBNgAAAWMBMQAEAXgBMQAAAXgBNwABAXYBNgAAAXgBMAAAAWkBXwAEAWkBMAAEAWIBZgADAWIBMQACAWIBMwAAAXYBZwAAAWkBOAAEAWkBNwAEAWkBNgAAAWIBagAAAWIBMgACAW0BOQADAW0BYQACAWIBYgAEAXgBMwABAXgBOAABAWwBMAAAAWwBOAAAAWkBYgAEAXgBNQAEAWkBYQAEA7gBtgEFBAYHCAkKCwwNCw0OCwoLCgsNCg8LBwsQEQsKCAEBERIIERMKEQoLCgsJDQcLCwoUFQMHFgkLFwsNCxETEhIYEREJDQ0NDQ0LDgYZDgoBBBUIGhscCQ4dCg0KBx4eHxsICgQRBgQEAQEECwAVABUECwAVABUDDSADHAACDQAEAwAECwAVAAAOCgMEAQEDEwEBAA0QCQoBCwEBAAEAAQQhAAgHAQERCA0iHhQNDQYJIw0NCQskJAQFAXABAQEFAwEAEQYhBH8BQYCAwAALfwBB3ojAAAt/AEGCi8AAC38AQZCLwAALB7wGKgZtZW1vcnkCABxzZXRfZGVmYXVsdF9leGVjdXRvcl9jb25maWdzAI8BHHNldF9kZWZhdWx0X3NlbmRfdWxuX2NvbmZpZ3MAkwEIdHJlYXN1cnkAlAEXZGVmYXVsdF9leGVjdXRvcl9jb25maWcAlgEUb2FwcF9leGVjdXRvcl9jb25maWcAmAEZZWZmZWN0aXZlX2V4ZWN1dG9yX2NvbmZpZwCaARdkZWZhdWx0X3NlbmRfdWxuX2NvbmZpZwCcARRvYXBwX3NlbmRfdWxuX2NvbmZpZwCeARllZmZlY3RpdmVfc2VuZF91bG5fY29uZmlnAKABBXF1b3RlAKIBBHNlbmQApQEGdmVyaWZ5AKgBE2NvbW1pdF92ZXJpZmljYXRpb24AqgEfc2V0X2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlncwCrAQ1jb25maXJtYXRpb25zAKwBCnZlcmlmaWFibGUArQEaZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWcArgEXb2FwcF9yZWNlaXZlX3Vsbl9jb25maWcAsAEcZWZmZWN0aXZlX3JlY2VpdmVfdWxuX2NvbmZpZwCyAQpzZXRfY29uZmlnALMBCmdldF9jb25maWcAtgEQaXNfc3VwcG9ydGVkX2VpZAC3AQd2ZXJzaW9uALgBEG1lc3NhZ2VfbGliX3R5cGUAuQENX19jb25zdHJ1Y3RvcgC6AQhlbmRwb2ludAC8AQphdXRob3JpemVyAL0BD3NldF90dGxfY29uZmlncwC+AQt0dGxfY29uZmlncwDDARJmcmVlemVfdHRsX2NvbmZpZ3MAxQEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAMYBE2V4dGVuZF9pbnN0YW5jZV90dGwAxwEFb3duZXIAyAENcGVuZGluZ19vd25lcgDKARJ0cmFuc2Zlcl9vd25lcnNoaXAAywEacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAzQEQYWNjZXB0X293bmVyc2hpcADQARJyZW5vdW5jZV9vd25lcnNoaXAA0QEBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCrTuAbYBwgMCA38JfiOAgICAAEGAAWsiBSSAgICAAAJAAkAgASgCBCIGKQMAIAEoAiAiB61CIIZCBIQiCBCAgICAACIJQgFSDQAgBikDACAIEIGAgIAAIgpC/wGDQsgAUg0BCxCCgICAACEIIAEoAggpAwAhCyABKAIMKQMAIQwgASgCEDUCACENIAEoAhQpAwAhDiABKAIYKQMAIQ8gASgCHCkDABCugICAACEQIAUgCiAIIAlCAVEbNwM4IAUgEDcDMCAFIA83AyggBSAONwMgIAUgDUIghkIEhDcDGCAFIAw3AxAgBSALNwMIQQAhBgJAA0ACQCAGQThHDQBBACEGAkADQCAGQThGDQEgBUHAAGogBmogBUEIaiAGaikDADcDACAGQQhqIQYMAAsLIAVBwABqIAQgBUHAAGpBBxCvgICAABCwgICAAAJAIAMgBSkDSCIKhUJ/hSADIAMgCnwgAiAFKQNAfCIKIAJUrXwiAoWDQn9XDQAgACAKNwMAIAAgAjcDCCAHQQFqIgYNAwsQsYCAgAAMAwsgBUHAAGogBmpCAjcDACAGQQhqIQYMAAsLIAEgBjYCICAFQYABaiSAgICAAA8LAAtBAQF/I4CAgIAAQRBrIgEkgICAgAAgASAAEPGAgIAAAkAgASgCAEEBRw0AAAsgASkDCCEAIAFBEGokgICAgAAgAAsaACAArUIghkIEhCABrUIghkIEhBCdgICAAAtnAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABQo7U6rWQ17IBIAIQkICAgAAQ1IGAgAACQCADKAIAQQFHDQAQsYCAgAAACyADKQMQIQIgACADKQMYNwMIIAAgAjcDACADQSBqJICAgIAACwkAENOBgIAAAAslACAAELOAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQg4CAgAAaC70FAgF/A34jgICAgABBMGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4JAAECAwQFBgcIAAsgAUEQakHUhMCAAEEIENeAgIAAIAEoAhANCyABQRBqIAEpAxgQ2ICAgAAMCQsgAUEQakHchMCAAEEIENeAgIAAIAEoAhANCiABQRBqIAEpAxgQ2ICAgAAMCAsgAUEQakHkhMCAAEEWENeAgIAAIAEoAhANCSABQRBqIAEpAxggADUCBEIghkIEhBDZgICAAAwHCyABQRBqQfqEwIAAQRUQ14CAgAAgASgCEA0IIAFBEGogASkDGCAANQIEQiCGQgSEENmAgIAADAYLIAFBEGpBj4XAgABBGBDXgICAACABKAIQDQcgAUEQaiABKQMYIAA1AgRCIIZCBIQQ2YCAgAAMBQsgAUGnhcCAAEETENeAgIAAIAEoAgANBiABIAEpAwg3AxAgASAAKQMINwMYIAEgADUCBEIghkIEhDcDICABIAFBEGoQ2oCAgAAMAwsgAUG6hcCAAEESENeAgIAAIAEoAgANBSABIAEpAwg3AxAgASAAKQMINwMYIAEgADUCBEIghkIEhDcDICABIAFBEGoQ2oCAgAAMAgsgAUHMhcCAAEEVENeAgIAAIAEoAgANBCABIAEpAwg3AxAgASAAKQMINwMYIAEgADUCBEIghkIEhDcDICABIAFBEGoQ2oCAgAAMAQsgAUEQakHhhcCAAEENENeAgIAAIAEoAhANAyABKQMYIQIgACkDCCEDIAApAxAhBCABIAApAxg3AyggASAENwMgIAEgAzcDGCABIAI3AxAgAUEQakEEEK+AgIAAIQIMBAsgASkDCCECIAEpAwAhAwwBCyABKQMYIQIgASkDECEDCyADUA0BCwALIAFBMGokgICAgAAgAguwAQIBfwJ+I4CAgIAAQTBrIgIkgICAgABCACEDAkACQCABELOAgIAAIgRCARC1gICAAEUNACACQQhqIARCARCEgICAABC2gICAACACKAIIQQFGDQEgACACKQMQNwMIIABBIGogAkEIakEgaikDADcDACAAQRhqIAJBCGpBGGopAwA3AwAgAEEQaiACQQhqQRBqKQMANwMAQgEhAwsgACADNwMAIAJBMGokgICAgAAPCwALDwAgACABEKiAgIAAQgFRC+gBAgJ/A34jgICAgABBMGsiAiSAgICAAEEAIQMCQANAIANBIEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IBIQQCQCABQv8Bg0LMAFINACABQfSCwIAAQQQgAkEEEOSAgIAAIAJBIGogAikDABDwgICAACACKAIgDQAgAikDCCIBQv8Bg0IEUg0AIAIpAxAiBUL/AYNCywBSDQAgAikDGCIGQv8Bg0LLAFINACACKQMoIQQgACABQiCIpzYCICAAIAU3AxggACAGNwMQIAAgBDcDCEIAIQQLIAAgBDcDACACQTBqJICAgIAAC3kCAX8BfiOAgICAAEEwayICJICAgIAAAkACQAJAIAEQs4CAgAAiA0IBELWAgIAADQAgAEECOgAiDAELIAJBCGogA0IBEISAgIAAELiAgIAAIAItACpBAkYNASAAIAJBCGpBKBDigYCAABoLIAJBMGokgICAgAAPCwALlgMBBX8jgICAgABB8ABrIgIkgICAgABBACEDAkADQCADQSBGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtBAiEDAkAgAUL/AYNCzABSDQAgAUHsg8CAAEEEIAJBCGpBBBDkgICAACACQShqIAIpAwgQtoCAgAAgAigCKEEBRg0AIAJB0ABqQRhqIAJByABqKQMANwMAIAJB0ABqQRBqIAJBKGpBGGopAwA3AwAgAkHYAGogAkEoakEQaikDADcDACACIAIpAzA3A1BBAiEDQQEgAi0AECIEQQBHQQF0IARBAUYbIgRBAkYNAEECIQNBASACLQAYIgVBAEdBAXQgBUEBRhsiBUECRg0AQQIhA0EBIAItACAiBkEAR0EBdCAGQQFGGyIGQQJGDQAgACACKQNQNwMAIAAgBjoAISAAIAQ6ACAgAEEYaiACQdAAakEYaikDADcDACAAQRBqIAJB0ABqQRBqKQMANwMAIABBCGogAkHQAGpBCGopAwA3AwAgBSEDCyAAIAM6ACIgAkHwAGokgICAgAALEgAgABCzgICAAEIBELWAgIAACxsAIAAQs4CAgAAgARC7gICAAEIBEIWAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ24CAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACCxsAIAAQs4CAgAAgARC9gICAAEIBEIWAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ1ICAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC00BAn5CACECAkACQCABELOAgIAAIgNCAhC1gICAAEUNACADQgIQhICAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsACxUAIAAQs4CAgAAgAUICEIWAgIAAGgsQACAAELuAgIAAEIaAgIAAC00BAX8jgICAgABBIGsiAySAgICAACADIAE3AxggAyAANwMQIAMgAjcDCCADQQg2AgAgAxCzgICAAEIBEIeAgIAAGiADQSBqJICAgIAAC0gBAn5CACECAkACQCABKQMAIgNCAlENACADp0EBcQ0BIABBCGogAUEIakEoEOKBgIAAGkIBIQILIAAgAjcDAA8LELGAgIAAAAs3AQF+QgAhAwJAAkAgAUICUQ0AIAGnQQFxDQEgACACNwMIQgEhAwsgACADNwMADwsQsYCAgAAAC2cBAX4CQAJAAkAgASkDACICQgKFIAEpAwiEUEUNAEIAIQIMAQsgAqdBAXENASAAIAEpAxg3AxggACABKQMQNwMQIAAgASkDIDcDIEIBIQILIAAgAjcDACAAQgA3AwgPCxCxgICAAAALiwECAn8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQxoCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEMeAgIAAC0EAIQECQEEAEMiAgIAAIgJCAhC1gICAAEUNAEEBIQECQAJAIAJCAhCEgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELDAAgAEEBEOCBgIAACxsAIACtQiCGQgSEIAGtQiCGQgSEEKmAgIAAGgvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB6orAgABBBhDXgICAACABKAIADQMgASABKQMIENiAgIAADAILIAFB8IrAgABBCBDXgICAACABKAIADQIgASABKQMIENiAgIAADAELIAFB+IrAgABBChDXgICAACABKAIADQEgASABKQMIENiAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAQyoCAgAAQiICAgAAaC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQxoCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEMeAgIAACyAAEMyAgIAAIAApAwghASAAKQMAQYoIEM2AgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwghASAAKQMAQYoIEM2AgIAAIAEQiICAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahDGgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQx4CAgAALIAAQ0oCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8ENCAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABDPgICAAAJAIAApAwBQDQBCg4CAgLCBARDQgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQxoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEMeAgIAAC0IAIQICQAJAQQEQ0YCAgAAiA0IAELWAgIAARQ0AIANCABCEgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKuAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFB/YnAgABBDBDXgICAACABKAIADQIgASABKQMIENiAgIAADAELIAFB+InAgABBBRDXgICAACABKAIADQEgASABKQMIENiAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQ0YCAgAAiAkICELWAgIAARQ0AIAJCAhCEgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALWgIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkAgAC0AIkECRw0AQgIhAgwBCyABIAAQ1ICAgAAgASgCAEEBcQ0BIAEpAwghAgsgAUEQaiSAgICAACACDwsAC4QBAgF/AX4jgICAgABBIGsiAiSAgICAACACIAEQ24CAgABCASEDAkAgAigCAA0AIAIgAikDCDcDACACIAExACE3AxggAiABMQAiNwMQIAIgATEAIDcDCCAAQeyDwIAAQQQgAkEEEOGAgIAANwMIQgAhAwsgACADNwMAIAJBIGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAENaAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgtmAgF/AX4jgICAgABBEGsiAiSAgICAACACIAEpAwhCAiABKAIAGzcDACACIAE1AhBCIIZCBIQ3AwhBtITAgABBAiACQQIQ4YCAgAAhAyAAQgA3AwAgACADNwMIIAJBEGokgICAgAALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ24GAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEK+AgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCvgICAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAtdAgF/AX4jgICAgABBIGsiAiSAgICAACACIAEpAxA3AxggAiABKQMINwMQIAIgASkDADcDCCACQQhqQQMQr4CAgAAhAyAAQgA3AwAgACADNwMIIAJBIGokgICAgAALjQECAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDABDxgICAAEIBIQMCQCACKAIADQAgAiACKQMINwMAIAIgASkDCDcDGCACIAEpAxA3AxAgAiABNQIYQiCGQgSENwMIIABB9ILAgABBBCACQQQQ4YCAgAA3AwhCACEDCyAAIAM3AwAgAkEgaiSAgICAAAtaAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAAKAIADQBCAiECDAELIAEgAEEIahDbgICAACABKAIAQQFxDQEgASkDCCECCyABQRBqJICAgIAAIAIPCwALQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABEN6AgIAAAkAgAigCAEEBRw0AAAsgAikDCCEAIAJBEGokgICAgAAgAAtXAQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNwMAIAMgAq1CIIZCBIQ3AwhBtITAgABBAiADQQIQ4YCAgAAhASAAQgA3AwAgACABNwMIIANBEGokgICAgAALaAEBfyOAgICAAEEgayIDJICAgIAAIANBEGogACABEOCAgIAAAkAgAygCEEEBRw0AAAsgAykDGCEBIAMgAjcDCCADIAE3AwBBhIjAgABBAiADQQIQ4YCAgAAhASADQSBqJICAgIAAIAELWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQoICAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKOAgIAAC2EAAkAgASgCAEEBRw0AIAAgASkDCDcDACAAQRhqIAFBIGopAwA3AwAgAEEQaiABQRhqKQMANwMAIABBCGogAUEQaikDADcDAA8LIAJBf2qtQiCGQoOAgIAQfBDQgICAAAAL5QMFAn8BfgF/AX4DfyOAgICAAEGAAWsiAiSAgICAAAJAAkAgASgCCCIDIAEoAgxJDQAgAEICNwMADAELIAEpAwAgA61CIIZCBIQQiYCAgAAhBEEAIQUCQANAIAVBEEYNASACQShqIAVqQgI3AwAgBUEIaiEFDAALC0IBIQYCQAJAAkAgBEL/AYNCzABSDQAgBEGMhMCAAEECIAJBKGpBAhDkgICAACACQThqIAIpAygQtoCAgAAgAigCOEEBRw0BCwwBCyACQeAAakEYaiIHIAJB2ABqKQMANwMAIAJB4ABqQRBqIgggAkE4akEYaikDADcDACACQeAAakEIaiIJIAJBOGpBEGopAwA3AwAgAiACKQNANwNgIAIpAzAiBEL/AYNCBFINACACQQhqQRhqIAcpAwA3AwAgAkEIakEQaiAIKQMANwMAIAJBCGpBCGogCSkDADcDACACIAIpA2A3AwggBEIgiKchBUIAIQYLAkAgA0EBaiIDRQ0AIAAgBjcDACABIAM2AgggACACKQMINwMIIAAgBTYCKCAAQRBqIAJBEGopAwA3AwAgAEEYaiACQQhqQRBqKQMANwMAIABBIGogAkEIakEYaikDADcDAAwBCxCxgICAAAALIAJBgAFqJICAgIAACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCkgICAABoLiwEBAn8jgICAgABBMGsiAiSAgICAAAJAAkAgASgCCCIDIAEoAgxJDQAgAEIANwMIIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQiYCAgAAQ5oCAgAACQCADQQFqIgNFDQAgASADNgIIIAAgAkEwEOKBgIAAGgwBCxCxgICAAAALIAJBMGokgICAgAAL0QECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgAhBEIBIQUCQCABQv8Bg0LMAFINACABQYSIwIAAQQIgAkECEOSAgIAAIAJBEGogAikDABDUgYCAACACKAIQQQFGDQAgAikDCCIBQv8Bg0LNAFINACACKQMoIQQgACACKQMgNwMQIAAgATcDICAAIAQ3AxhCACEFQgAhBAsgACAFNwMAIAAgBDcDCCACQTBqJICAgIAAC2kCAX8BfgJAIAEoAggiAiABKAIMSQ0AIABCAjcDAA8LIAEpAwAgAq1CIIZCBIQQiYCAgAAhAwJAIAJBAWoiAkUNACAAIAM3AwggASACNgIIIAAgA0L/AYNCzQBSrTcDAA8LELGAgIAAAAstAQF+IAApAwgiARDpgICAACAAKQMQIAAoAhgiABDqgICAACABIAAQ64CAgAALQQACQAJAIAAQ7ICAgAANACAAEIqAgIAAQoCAgICAEFoNAQ8LQoOAgIDQABDQgICAAAALQoOAgIDgARDQgICAAAALfgACQAJAAkACQAJAIAAQ7ICAgAANACAAEIqAgIAAQoCAgICAEFoNASAAEIqAgIAAIQAgAQ0CIABC/////w9YDQMMBAtCg4CAgMAAENCAgIAAAAtCg4CAgLABENCAgIAAAAsgASAAQiCIp0sNAQsPC0KDgICA0AEQ0ICAgAAACy0AAkACQCAAEIqAgIAAQv////8PVg0AIAFFDQELDwtCg4CAgIACENCAgIAAAAuvAQMBfwJ+AX8jgICAgABBMGsiASSAgICAABCMgICAACECIAAQioCAgAAhAyABQQA2AgggASAANwMAIAEgA0IgiD4CDAN/IAFBIGogARDngICAACABQRBqIAEpAyAgASkDKBDDgICAAAJAAkAgASgCECIEQQFHDQAgAiABKQMYIgAQgICAgABCAVINAQsgAUEwaiSAgICAACAEQQFxDwsgAiAAQgEQjYCAgAAhAgwACws/AQJ+EIuAgIAAIQEQi4CAgAAhAiAAQQE6ACIgAEGBAjsBICAAQQA2AhggACACNwMQIAAgATcDCCAAQgA3AwALtwEBAX4CQAJAAkACQCAALQAgQQFHDQAgACkDAEIAUg0BCyAAKQMIIQECQAJAIAAtACENACABEOmAgIAADAELIAEQioCAgABC/////w9WDQILAkAgAC0AIg0AIAApAxAgACgCGBDqgICAAAwDCwJAIAAoAhgNACAAKQMQEIqAgIAAQoCAgIAQVA0DC0KDgICAwAEQ0ICAgAAAC0KDgICAgAEQ0ICAgAAAC0KDgICA8AEQ0ICAgAAACwtGAQF/IAAgAiABIAEtACIbIgMoAhg2AhggACADKQMQNwMQIAAgAiABIAEtACEbKQMINwMIIAAgAiABIAEtACAbKQMANwMAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAIL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AgwpAwAhAyACIAEgACgCBCkDACAAKAIIKQMAEIGBgIAAIAIpAwghASACKAIAIQAgAkEQaiSAgICAACAAIAEgA1pxC+QBAQF/I4CAgIAAQTBrIgQkgICAgAAgBBDGgICAAAJAIAQoAgBBAUcNACAEKAIEIAQoAggQx4CAgAALIAQgAzcDGCAEIAI3AxAgBCABNwMIIARBCDYCAAJAAkACQCAEELOAgIAAIgNCARC1gICAAEUNACAEQSBqIANCARCEgICAABDwgICAACAEKAIgQQFHDQEACyAAQgA3AwAMAQsgBCkDKCEDIABCATcDACAAIAM3AwggBEEgahCQgYCAACAEKAIgQQFHDQAgBCAEKAIkIAQoAigQsoCAgAALIARBMGokgICAgAALggoDAn8GfgF/I4CAgIAAQdAAayIDJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAikDABCPgICAAEL/////H1gNACADQQA2AgwgAyACNgIIAkAgA0EIahCDgYCAAEH//wNxIgJBA0YNACADEIKAgIAANwMQIAMoAggpAwAgAygCDBCEgYCAACEEAkACQAJAIAJBf2oOAgECAAtCg4CAgJCLARDQgICAAAALIARBIEYNCkKDgICA8IoBENCAgIAAAAsgBEG/f2pBIE8NAiADQTBqIANBCGoQhYGAgAAQhoGAgAAgAygCMEEBcUUNAyADKQNIIQUgAykDQCEGIANBMGogA0EIahCFgYCAABCGgYCAACADKAIwQQFxRQ0EIAMpA0ghByADKQNAIQggA0EIaiADKAIIKQMAIAMoAgwQhIGAgAAQ94CAgAAiCRCPgICAAEKAgICAkARaDQUgA0HIAGpCADcDACADQcAAakIANwMAIANBOGpCADcDACADQgA3AzACQAJAIAkQj4CAgAAiCkL/////jwRWDQAgCRCPgICAAEIgiCAKQiCIIgpRDQEQ/oCAgAAACxCxgICAAAALIAkgA0EwaiAKpyICa0EgaiACEPiAgIAAIANBMGoQh4GAgAAhCSADQRBqIAYgBRCIgYCAACADQRBqQQEQiYGAgABBMRCKgYCAAEECEImBgIAAIAggBxCLgYCAACAJEIyBgIAAGgwKCxCCgICAACEJEIyAgIAAIQUDQCADKAIIKQMAIAMoAgwQhIGAgABFDQsgA0EIahD2gICAACECIANBCGoQg4GAgAAhBCADKAIMIgtBAk0NBiADIAtBfWo2AgwgA0EIaiAEQf//A3FBA2oQ94CAgAAhCgJAAkACQCACQf8BcUF/ag4CAQIAC0KDgICAsIsBENCAgIAAAAsgCSAKEJGAgIAAIQkMAQsgChCPgICAAEL/////P1gNBwJAIAUgCkKEgICAMBCSgICAAEKAgICA8B+DQgSEIgcQgICAgAAiCEIBUg0AIAUgBxCBgICAACIGQv8Bg0LIAFINCQsgBSAHIAYQgoCAgAAgCEIBURsgChCRgICAABCNgICAACEFDAALC0KDgICAoIsBENCAgIAAAAtCg4CAgICLARDQgICAAAALQoOAgIDgiwEQ0ICAgAAAC0KDgICA0IsBENCAgIAAAAtCg4CAgOCKARDQgICAAAALQoOAgICA/QAQ0ICAgAAACxCNgYCAAAsACyADQTBqIANBCGoQhYGAgAAQhoGAgAAgAygCMEEBcUUNAiADQRBqIAMpA0AgAykDSBCIgYCAAAsgAygCCCkDACADKAIMEISBgIAADQIgAykDECEJEIyAgIAAIQULIAEQjoGAgAAhCiABKQMgIQYgASkDGCEHIANBMGpBGGoiAkIANwMAIANBMGpBEGoiBEIANwMAIANBMGpBCGoiC0IANwMAIANCADcDMCAHIANBMGpBIBD4gICAACADQRBqQRhqIAIpAwA3AwAgA0EQakEQaiAEKQMANwMAIANBEGpBCGogCykDADcDACADIAMpAzA3AxAgACADQRBqEIeBgIAAIAYQkYCAgAAQk4CAgAA3AxggACAKNwMQIAAgBTcDCCAAIAk3AwAgA0HQAGokgICAgAAPC0KDgICAwIsBENCAgIAAAAtCg4CAgKCLARDQgICAAAALoQECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQCAAQQIQ94CAgAAiAhCPgICAAEKAgICAcINCgICAgCBSDQAgAUEAOwEOIAIQj4CAgABCgICAgHCDQoCAgIAgUg0BIAIgAUEOakECEPiAgIAAIAEvAQ4hACABQRBqJICAgIAAIABBCHQgAEEIdnIPC0KDgICAgIIBENCAgIAAAAsQ/oCAgAAACycBAX8CQCAAEI+AgIAAQiCIpyICIAFJDQAgAiABaw8LELGAgIAAAAsSACAAQSAQ94CAgAAQrICAgAAL+AICAX8CfiOAgICAAEEgayICJICAgIAAIAJBD2ogARCqgICAACIBQgRChICAgIACEJqAgIAAEN2BgIAAAkAgAi0AD0EBRg0AIAIpABghAyACKQAQIQQgAkEPaiABQoSAgICAAkKEgICAgAQQmoCAgAAQ3YGAgAAgAi0AD0EBRg0AAkACQCAEIAOEQgBRDQBCACEBDAELIAIpABghASAAIAIpABAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDGCAAIAFCOIYgAUKA/gODQiiGhCABQoCA/AeDQhiGIAFCgICA+A+DQgiGhIQgAUIIiEKAgID4D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQ3AxBCASEBCyAAIAE3AwAgAEIANwMIIAJBIGokgICAgAAPCxCxgICAAAALDAAgAEEgENqBgIAACycAIABBARCJgYCAAEEREIqBgIAAQQEQiYGAgAAgASACEIuBgIAAGgtYAgF/AX4jgICAgABBEGsiAiSAgICAACACIAE6AA8gACkDACEDIAAgAyADEI+AgIAAQoCAgIBwg0IEhCACQQ9qQQEQ1YGAgAA3AwAgAkEQaiSAgICAACAAC1sCAX8BfiOAgICAAEEQayICJICAgIAAIAIgAUEIdDsBDiAAKQMAIQMgACADIAMQj4CAgABCgICAgHCDQgSEIAJBDmpBAhDVgYCAADcDACACQRBqJICAgIAAIAAL/AEBAX8jgICAgABBEGsiAySAgICAACADIAFCOIYgAUKA/gODQiiGhCABQoCA/AeDQhiGIAFCgICA+A+DQgiGhIQgAUIIiEKAgID4D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQ3AwggAyACQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwMAIAApAwAhASAAIAEgARCPgICAAEKAgICAcINCBIQgA0EQENWBgIAANwMAIANBEGokgICAgAAgAAvCAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqQSAQ+ICAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCPgICAAEKAgICAcINCBIQgAkEgENWBgIAANwMAIAJBwABqJICAgIAAIAALCQAQsYCAgAAAC7kEBAJ/AX4BfwF+I4CAgIAAQSBrIgEkgICAgAAgARCCgICAADcDCCABQQhqQQEQiYGAgAAhAiABIAApAwAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDECACKQMAIQMgAiADIAMQj4CAgABCgICAgHCDQgSEIAFBEGpBCBDVgYCAADcDACACIAAoAigQ1oGAgAAhBCABQRBqIAApAwgQhoCAgABBBBDXgYCAACIDQgRChICAgMAAEJqAgIAAENiBgIAAAkAgASgCEEEBRg0AIAEpAxghBSABQQA2AhAgBSABQRBqQQQQ+ICAgAACQCABKAIQIgJB////B3ENAAJAAkACQCACQRh2DgIAAQMLIAFBEGogA0KEgICAwABChICAgIABEJqAgIAAENiBgIAAIAEoAhBBAUYNAyABKQMYIQUgAUEANgIQIAUgAUEQakEEEPiAgIAAIAEoAhANAiABQRBqIANChICAgIABQoSAgICABRCagICAABDZgYCAACABKAIQQQFHDQEMAwsgAUEQaiADQoSAgIDAAEKEgICAwAQQmoCAgAAQ2YGAgAAgASgCEEEBRg0CCyAEIAEpAxgQjIGAgAAgACgCLBDWgYCAACAAKQMQEIyBgIAAKQMAIQMgAUEgaiSAgICAACADDwtCg4CAgKD+ABDQgICAAAALAAvpAwQBfwN+AX8BfiOAgICAAEEwayIBJICAgIAAAkACQAJAIABC/wGDQssAUg0AEMmAgIAAIAFBEGoQxoCAgAACQCABKAIQQQFHDQAgASgCFCABKAIYEMeAgIAACyAAEIqAgIAAQiCIIQJCACEDAkADQCADIAJRDQEgACADQiCGQgSEEImAgIAAIQRBACEFAkADQCAFQRBGDQEgASAFakICNwMAIAVBCGohBQwACwsCQAJAIARC/wGDQswAUg0AIARBxITAgABBAiABQQIQ5ICAgAAgAUEQaiABKQMAEPKAgIAAIAEoAhBBAUYNACABKQMIIgRC/wGDQgRRDQELIAOnQX9GGgwFCyADQv////8PUQ0EIAEoAiAiBUUNAyABKQMYIQYgAUECNgIQIAEgBEIgiKc2AhQgAUEQahCzgICAACAGIAUQ3YCAgABCARCFgICAABogARCQgYCAAAJAIAEoAgBBAUcNACABQRBqIAEoAgQgASgCCBCygICAAAsgA0IBfCEDDAALC0HVgMCAAEEcEJGBgIAAEJKBgIAAIQMgASAANwMQIANB+IDAgABBASABQRBqQQEQ4YCAgAAQlICAgAAaIAFBMGokgICAgABCAg8LAAtCg4CAgLACENCAgIAAAAsQsYCAgAAACwwAIABBAhDggYCAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDbgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEK+AgIAAIQAgAUEQaiSAgICAACAAC9UCAwF/AX4CfyOAgICAAEGAAWsiASSAgICAAAJAIABC/wGDQssAUg0AEMmAgIAAIAFBwABqEMaAgIAAAkAgASgCQEEBRw0AIAEoAkQgASgCSBDHgICAAAsgABCKgICAACECIAFBADYCCCABIAA3AwAgASACQiCIPgIMIAFBGGohAwJAA0AgAUHAAGogARDjgICAACABQRBqIAFBwABqEMKAgIAAIAEoAhBBAUcNASABKAI4IQQgAxDogICAACABQQM2AkAgASAENgJEIAFBwABqIAMQuoCAgAAgAUH0AGoQkIGAgAAgASgCdEEBRw0AIAFBwABqIAEoAnggASgCfBCygICAAAwACwtBgIHAgABBHBCRgYCAABCSgYCAACECIAEgADcDQCACQfiAwIAAQQEgAUHAAGpBARDhgICAABCUgICAABogAUGAAWokgICAgABCAg8LAAsIABCVgYCAAAt4AgF/AX4jgICAgABBMGsiACSAgICAACAAQRBqEMaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBDHgICAAAsgAEEBNgIQIAAgAEEQahC+gICAAAJAIAAoAgANABCNgYCAAAALIAApAwghASAAQTBqJICAgIAAIAELfAEBfyOAgICAAEEwayIBJICAgIAAAkAgAEL/AYNCBFINACABQQhqIABCIIinEJeBgIAAAkACQCABKAIIDQBCAiEADAELIAFBIGogASkDECABKAIYEN6AgIAAIAEoAiBBAXENASABKQMoIQALIAFBMGokgICAgAAgAA8LAAvtAQIBfwF+I4CAgIAAQcAAayICJICAgIAAIAJBCGoQxoCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEMeAgIAACyACQQI2AgggAiABNgIMAkACQAJAIAJBCGoQs4CAgAAiA0IBELWAgIAARQ0AIAJBKGogA0IBEISAgIAAEPKAgIAAIAIoAihBAUcNAQALIABCADcDAAwBCyACKQMwIQMgACACKAI4NgIQIAAgAzcDCCAAQgE3AwAgAkEoahCQgYCAACACKAIoQQFHDQAgAkEIaiACKAIsIAIoAjAQsoCAgAALIAJBwABqJICAgIAAC4MBAQF/I4CAgIAAQTBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGogACABQiCIpxCZgYCAAEICIQACQCACKQMIQgJRDQAgAkEgaiACQQhqENaAgIAAIAIoAiBBAXENASACKQMoIQALIAJBMGokgICAgAAgAA8LAAuNAgEBfyOAgICAAEHAAGsiAySAgICAACADQQhqEMaAgIAAAkAgAygCCEEBRw0AIAMoAgwgAygCEBDHgICAAAsgAyACNgIMIAMgATcDECADQQU2AggCQAJAAkAgA0EIahCzgICAACIBQgEQtYCAgAANACAAQgI3AwAMAQsgA0EoaiABQgEQhICAgAAQ84CAgAAgAykDKEICUQ0BIAAgAykDKDcDACAAQRBqIANBKGpBEGopAwA3AwAgAEEIaiADQShqQQhqKQMANwMAIAApAwBCAlENACADQShqEJCBgIAAIAMoAihBAUcNACADQQhqIAMoAiwgAygCMBCygICAAAsgA0HAAGokgICAgAAPCwALYAEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACIAAgAUIgiKcQm4GAgAAgAikDACACKAIIEN2AgIAAIQAgAkEQaiSAgICAACAADwsAC8gBAgJ/AX4jgICAgABBIGsiAySAgICAACADQQhqEMaAgIAAAkAgAygCCEEBRw0AIAMoAgwgAygCEBDHgICAAAsgA0EIaiACEJeBgIAAAkAgAygCCEUNACADKAIYIQQgAykDECEFIANBCGogASACEJmBgIAAAkAgAykDCCIBQgJRDQAgAykDECAFIAGnQQFxGyEFIAMoAhgiAiAEIAIbIQQLIAAgBTcDACAAIAQ2AgggA0EgaiSAgICAAA8LQoOAgIAQENCAgIAAAAtPAQF/I4CAgIAAQTBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgAUEIaiAAQiCIpxCdgYCAACABQQhqENyAgIAAIQAgAUEwaiSAgICAACAAC48BAQF/I4CAgIAAQTBrIgIkgICAgAAgAhDGgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQx4CAgAALIAJBAzYCACACIAE2AgQgACACELSAgIAAAkAgACkDAFANACACQSRqEJCBgIAAIAIoAiRBAUcNACACIAIoAiggAigCLBCygICAAAsgAkEwaiSAgICAAAteAQF/I4CAgIAAQTBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGogACABQiCIpxCfgYCAACACQQhqENOAgIAAIQAgAkEwaiSAgICAACAADwsAC5gBAQF/I4CAgIAAQTBrIgMkgICAgAAgAxDGgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQx4CAgAALIAMgAjYCBCADIAE3AwggA0EGNgIAIAAgAxC3gICAAAJAIAAtACJBAkYNACADQSRqEJCBgIAAIAMoAiRBAUcNACADIAMoAiggAygCLBCygICAAAsgA0EwaiSAgICAAAtYAQF/I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAIgACABQiCIpxChgYCAACACELuAgIAAIQAgAkEgaiSAgICAACAADwsAC84BAQF/I4CAgIAAQaABayIDJICAgIAAIANB+ABqEMaAgIAAAkAgAygCeEEBRw0AIAMoAnwgAygCgAEQx4CAgAALIANB+ABqIAIQnYGAgAAgA0EIaiADQfgAakEDEOKAgIAAIANB0ABqIAEgAhCfgYCAACADQfgAahDtgICAACADQShqIANB+ABqIANB0ABqIAMtAHJBAkYbQSgQ4oGAgAAaIAAgA0EoaiADQQhqEO+AgIAAIAApAwggACgCGBDrgICAACADQaABaiSAgICAAAu+CQIFfwN+I4CAgIAAQZACayIDJICAgIAAIANBMGogABCjgYCAAAJAIAMoAjBBAUYNACADIANBOGpBMBDigYCAACEDIAFC/wGDQsgAUg0AIAMgATcDaEEBIAKnQf8BcSIEQQBHQQF0IARBAUYbIgVBAkYNACADQTBqEMaAgIAAAkAgAygCMEEBRw0AIAMoAjQgAygCOBDHgICAAAsgA0EwaiADIANB6ABqEIKBgIAAIAMpAzAhAiADIAMpAzg3A3AgAyADKQNANwN4IAMgAykDSDcDgAEgAygCLCEGIAMpAyAQj4CAgAAhASADQdABaiADKQMIIgAgBhCbgYCAAAJAIAMoAtgBIAFCIIinSQ0AIANBCGohByADKQPQASEIEJWAgIAAIQkgAyACNwOAAiADIAFCgICAgHCDQgSENwP4ASADIAA3A+gBIAMgCTcD4AEgAyAGrUIghkIEhDcD8AFBACEEAkACQANAAkAgBEEoRw0AQQAhBAJAA0AgBEEoRg0BIANBMGogBGogA0HgAWogBGopAwA3AwAgBEEIaiEEDAALCyADQTBqIAggA0EwakEFEK+AgIAAELCAgIAAIAMpAzghAiADKQMwIQggAyAGNgKMASADQeABaiAAIAYQoYGAgAAgAxCVgICAADcDkAEgAyADKQPgATcDmAEgAykD6AEiARCKgICAACEAIANBADYCqAEgAyABNwOgASADIABCIIg+AqwBIAMpA/ABIgkQioCAgAAhASADQQA2AlAgAyAHNgI8IAFCIIghCiADIANBmAFqNgJMIAMgA0GAAWo2AkggAyADQfgAajYCRCADIANBjAFqNgJAIAMgA0GQAWo2AjggAyADQfAAajYCNCADIANBjwJqNgIwQgAhAEIAIQECQANAIANB0AFqIANBoAFqEOeAgIAAIANBwAFqIAMpA9ABIAMpA9gBEMOAgIAAIAMoAsABQQFHDQEgA0HQAWogA0EwaiAAIAEgAykDyAEQrYCAgAAgAykD2AEhASADKQPQ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ACEZIBQQroCAgAAhGiAEIBggDiANQgFRGzcD0AEgBCAaNwPIASAEIAY3A8ABIAQgBzcDuAEgBCAPNwOwASAEIAs3A6gBIAQgEzcDoAFBACEDA0ACQCADQThHDQBBACEDAkADQCADQThGDQEgBEHgAWogA2ogBEGgAWogA2opAwA3AwAgA0EIaiEDDAALCyAEQeABaiABIBkgBEHgAWpBBxCvgICAABCmgYCAACAAIAQpA+ABIAQpA+gBIAQpA/ABEN+AgIAAEJaAgIAAIQAgAiABEJaAgIAAIQIgBCkDWCEBDAILIARB4AFqIANqQgI3AwAgA0EIaiEDDAALCwsQsYCAgAAACyAEQeABaiADakICNwMAIANBCGohAwwACwtCg4CAgKABENCAgIAAAAsAC28BAX8jgICAgABBMGsiBCSAgICAACAEIAEgAiADEJCAgIAAEOaAgIAAAkAgBCgCAEEBcUUNABCxgICAAAALIAQpAyAhAyAEKQMQIQIgACAEKQMYNwMIIAAgAjcDACAAIAM3AxAgBEEwaiSAgICAAAuUAQECfyOAgICAAEEgayICJICAgIAAIAIgATcDCCACIAA3AwBBACEDA34CQCADQRBHDQBBACEDAkADQCADQRBGDQEgAkEQaiADaiACIANqKQMANwMAIANBCGohAwwACwsgAkEQakECEK+AgIAAIQEgAkEgaiSAgICAACABDwsgAkEQaiADakICNwMAIANBCGohAwwACwvgAgIBfwF+I4CAgIAAQTBrIgQkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LIAFINACAEIAIQqYGAgAAgBCgCAEEBRg0AIAQpAwghAiAEIAMQ8ICAgAAgBCgCAEEBRg0AIAQpAwghAyAEEMaAgIAAAkAgBCgCAEEBRw0AIAQoAgQgBCgCCBDHgICAAAsgABCIgICAABogARCTgICAACEFIAQgAjcDGCAEIAU3AxAgBCAANwMIIARBCDYCACAEELOAgIAAIAMQroCAgABCARCFgICAABogBEEkahCQgYCAAAJAIAQoAiRBAUcNACAEIAQoAiggBCgCLBCygICAAAtB/IHAgABBEBCRgYCAACAAEKeBgIAAIQAgAxCugICAACEDIAQgAjcDECAEIAE3AwggBCADNwMAIABBrILAgABBAyAEQQMQ4YCAgAAQlICAgAAaIARBMGokgICAgABCAg8LAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDZgYCAAAvCBgMBfwV+AX8jgICAgABB0AFrIgIkgICAgAACQCAAQv8Bg0LIAFINACACIAA3AwggAkE4aiABEKmBgIAAIAIoAjhBAUYNACACIAIpA0A3AxAgAkE4ahDGgICAAAJAIAIoAjhBAUcNACACKAI8IAIoAkAQx4CAgAALIAJBOGogAkEIahD1gICAACACKQNIIQEgAikDQCEDIAI1AlAhBCACKQM4IQUgAkEwaiACQfgAaikDADcDACACQShqIAJB8ABqKQMANwMAIAJBIGogAkHoAGopAwA3AwAgAiACKQNgNwMYIAIgABCTgICAADcDgAECQCACQc8BaiACQRhqIAJBgAFqIAJBEGoQ/4CAgABFDQAgAikDICIAEIqAgIAAIQYgAkEANgKQASACIAA3A4gBIAIgBkIgiD4ClAEgAikDKCIAEIqAgIAAQiCIIQYCQANAIAJBOGogAkGIAWoQ54CAgAAgAkGoAWogAikDOCACKQNAEMOAgIAAIAIoAqgBQQFHDQEgAikDgAEgAikDECACKQOwARDBgICAAAwACwsgAiAGPgKkASACQQA2AqABIAIgADcDmAECQANAIAJBOGogAkGYAWoQ54CAgAAgAkGoAWogAikDOCACKQNAEMOAgIAAIAIoAqgBQQFHDQEgAikDgAEgAikDECACKQOwARDBgICAAAwACwsQ+4CAgAAhABCVgICAACEGIAEQ/ICAgAAhASACKQMQIQcgAkGoAWogBRDxgICAACACKAKoAUEBRg0BIAIpA7ABIQUgAiADNwNAIAIgBTcDOCACIARCIIZCBIQ3A0hBpIbAgABBAyACQThqQQMQ4YCAgAAhBSACIAc3A8ABIAIgATcDuAEgAiAFNwOwASACIAY3A6gBQQAhCAJAA0ACQCAIQSBHDQBBACEIAkADQCAIQSBGDQEgAkE4aiAIaiACQagBaiAIaikDADcDACAIQQhqIQgMAAsLIABCjvyr963dAyACQThqQQQQr4CAgAAQkICAgABC/wGDQgJSDQIgAkHQAWokgICAgABCAg8LIAJBOGogCGpCAjcDACAIQQhqIQgMAAsLELGAgIAAAAtCg4CAgKACENCAgIAAAAsAC9UCAwF/AX4CfyOAgICAAEGAAWsiASSAgICAAAJAIABC/wGDQssAUg0AEMmAgIAAIAFBwABqEMaAgIAAAkAgASgCQEEBRw0AIAEoAkQgASgCSBDHgICAAAsgABCKgICAACECIAFBADYCCCABIAA3AwAgASACQiCIPgIMIAFBGGohAwJAA0AgAUHAAGogARDjgICAACABQRBqIAFBwABqEMKAgIAAIAEoAhBBAUcNASABKAI4IQQgAxDogICAACABQQQ2AkAgASAENgJEIAFBwABqIAMQuoCAgAAgAUH0AGoQkIGAgAAgASgCdEEBRw0AIAFBwABqIAEoAnggASgCfBCygICAAAwACwtBnIHAgABBHxCRgYCAABCSgYCAACECIAEgADcDQCACQfiAwIAAQQEgAUHAAGpBARDhgICAABCUgICAABogAUGAAWokgICAgABCAg8LAAutAQEBfyOAgICAAEEgayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgA0EQaiABEKmBgIAAIAMoAhBBAUYNACADKQMYIQEgA0EQaiACEKmBgIAAIAMoAhBBAUYNACADIAAgASADKQMYEIGBgIAAAkACQCADKAIADQBCAiEADAELIANBEGogAykDCBDxgICAACADKAIQQQFxDQEgAykDGCEACyADQSBqJICAgIAAIAAPCwAL+gEBAn8jgICAgABBgAFrIgIkgICAgAACQCAAQv8Bg0LIAFINACACIAA3AwAgAkEwaiABEKmBgIAAIAIoAjBBAUYNACACIAIpAzg3AwggAkEwahDGgICAAAJAIAIoAjBBAUcNACACKAI0IAIoAjgQx4CAgAALIAJBMGogAhD1gICAACACQShqIAJB8ABqKQMANwMAIAJBIGogAkHoAGopAwA3AwAgAkEYaiACQeAAaikDADcDACACIAIpA1g3AxAgAiAAEJOAgIAANwMwIAJB/wBqIAJBEGogAkEwaiACQQhqEP+AgIAAIQMgAkGAAWokgICAgAAgA60PCwALTwEBfyOAgICAAEEwayIBJICAgIAAAkAgAEL/AYNCBFENAAALIAFBCGogAEIgiKcQr4GAgAAgAUEIahDcgICAACEAIAFBMGokgICAgAAgAAuPAQEBfyOAgICAAEEwayICJICAgIAAIAIQxoCAgAACQCACKAIAQQFHDQAgAigCBCACKAIIEMeAgIAACyACQQQ2AgAgAiABNgIEIAAgAhC0gICAAAJAIAApAwBQDQAgAkEkahCQgYCAACACKAIkQQFHDQAgAiACKAIoIAIoAiwQsoCAgAALIAJBMGokgICAgAALXgEBfyOAgICAAEEwayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQhqIAAgAUIgiKcQsYGAgAAgAkEIahDTgICAACEAIAJBMGokgICAgAAgAA8LAAuYAQEBfyOAgICAAEEwayIDJICAgIAAIAMQxoCAgAACQCADKAIAQQFHDQAgAygCBCADKAIIEMeAgIAACyADIAI2AgQgAyABNwMIIANBBzYCACAAIAMQt4CAgAACQCAALQAiQQJGDQAgA0EkahCQgYCAACADKAIkQQFHDQAgAyADKAIoIAMoAiwQsoCAgAALIANBMGokgICAgAALWAEBfyOAgICAAEEgayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACIAAgAUIgiKcQ/YCAgAAgAhC7gICAACEAIAJBIGokgICAgAAgAA8LAAvTCgYBfwF+An8CfgF/An4jgICAgABBgAFrIgIkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQShqEMaAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBDHgICAAAsQ+4CAgAAQiICAgAAaIAEQioCAgABCIIghAyACQeAAakEIaiEEIAJBKGpBCGohBUIAIQYCQANAIAYgA1ENASABIAZCIIZCBIQQiYCAgAAhB0EAIQgCQANAIAhBGEYNASACQShqIAhqQgI3AwAgCEEIaiEIDAALCwJAAkAgB0L/AYNCzABSDQAgB0Gsh8CAAEEDIAJBKGpBAxDkgICAACACKQMoIgdC/wGDQsgAUg0AIAIpAzAiCUL/AYNCBFINACACKQM4IgpC/wGDQgRRDQELIAZC/////w9RGgwGCyAGQv////8PUQ0FIApCIIinIggQtIGAgABFDQMCQAJAAkACQAJAIAlCIIinQX9qDgMBAgMAC0KDgICA8AAQ0ICAgAAACyACQShqIAcQjoCAgAAQ84CAgAAgAikDKCIHQgJRDQcgBCAFKQMANwMAIARBCGogBUEIaikDADcDACACIAc3A2AgAiAINgIsIAIgADcDMCACQQU2AiggAkEoahCzgICAACACQeAAahDVgICAAEIBEIWAgIAAGiACEJCBgIAAAkAgAigCAEEBRw0AIAJBKGogAigCBCACKAIIELKAgIAACyACIAA3A0AgAiACKAJwNgI4IAIgAikDaDcDMCACIAc3AyggAiAINgJIIAJBjoDAgABBExCRgYCAADcDeCACIAitQiCGQgSENwMQIAIgADcDACACIAJB+ABqNgIIIAIQtYGAgAAhByACIAJBKGoQ1YCAgAA3AwAgB0GkgMCAAEEBIAJBARDhgICAABCUgICAABoMAgsgAiAHEPSAgIAAIAIQ7oCAgAAgAiAINgIsIAIgADcDMCACQQY2AiggAkEoaiACELyAgIAAIAJB4ABqEJCBgIAAAkAgAigCYEEBRw0AIAJBKGogAigCZCACKAJoELKAgIAACyACQShqIAAgCBChgYCAACACIAg2AlggAiAANwMoIAIgAi0AIjoAUiACIAIvASA7AVAgAiACKAIYNgJIIAIgAikDEDcDQCACIAIpAwg3AzggAiACKQMANwMwIAJBrIDAgABBExCRgYCAADcDeCACIAitQiCGQgSENwNwIAIgADcDYCACIAJB+ABqNgJoIAJB4ABqELWBgIAAIQcgAiAFEL2AgIAANwNgIAdBpIDAgABBASACQeAAakEBEOGAgIAAEJSAgIAAGgwBCyACIAcQ9ICAgAAgAhDugICAACACIAg2AiwgAiAANwMwIAJBBzYCKCACQShqIAIQvICAgAAgAkHgAGoQkIGAgAACQCACKAJgQQFHDQAgAkEoaiACKAJkIAIoAmgQsoCAgAALIAJBKGogACAIEP2AgIAAIAIgCDYCWCACIAA3AyggAiACLQAiOgBSIAIgAi8BIDsBUCACIAIoAhg2AkggAiACKQMQNwNAIAIgAikDCDcDOCACIAIpAwA3AzAgAkG/gMCAAEEWEJGBgIAANwN4IAIgCK1CIIZCBIQ3A3AgAiAANwNgIAIgAkH4AGo2AmggAkHgAGoQtYGAgAAhByACIAUQvYCAgAA3A2AgB0GkgMCAAEEBIAJB4ABqQQEQ4YCAgAAQlICAgAAaCyAGQgF8IQYMAAsLIAJBgAFqJICAgIAAQgIPCwALQoOAgICQAhDQgICAAAALQoOAgIDgABDQgICAAAALELGAgIAAAAubAgEBfyOAgICAAEEwayIBJICAgIAAIAEQxoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEMeAgIAACyABQQI2AgAgASAANgIEAkACQCABELmAgIAARQ0AIAFBJGoQkIGAgAACQCABKAIkQQFHDQAgASABKAIoIAEoAiwQsoCAgAALIAFBAzYCACABIAA2AgQgARC5gICAAEUNACABQSRqEJCBgIAAAkAgASgCJEEBRw0AIAEgASgCKCABKAIsELKAgIAACyABQQQ2AgAgASAANgIEIAEQuYCAgAAiAEUNASABQSRqEJCBgIAAIAEoAiRBAUcNASABIAEoAiggASgCLBCygICAAAwBC0EAIQALIAFBMGokgICAgAAgAAupAQIBfwF+I4CAgIAAQTBrIgEkgICAgAAgASAAKQMQNwMQIAEgACkDADcDCCABIAAoAggpAwA3AwBBACEAA34CQCAAQRhHDQBBACEAAkADQCAAQRhGDQEgAUEYaiAAaiABIABqKQMANwMAIABBCGohAAwACwsgAUEYakEDEK+AgIAAIQIgAUEwaiSAgICAACACDwsgAUEYaiAAakICNwMAIABBCGohAAwACwv3AQEDfyOAgICAAEEgayIDJICAgIAAAkAgAEL/AYNCBFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIABCIIghACACQiCIpyEEIAMQxoCAgAACQCADKAIAQQFHDQAgAygCBCADKAIIEMeAgIAACyAApyEFAkACQAJAAkACQAJAIARBf2oOAwECAwALQoOAgIDwABDQgICAAAALIAMgASAFEJuBgIAAIAMpAwAgAygCCBDdgICAABCGgICAACEADAMLIAMgASAFEKGBgIAADAELIAMgASAFEP2AgIAACyADEMCAgIAAIQALIANBIGokgICAgAAgAA8LAAseAAJAIABC/wGDQgRRDQAACyAAQiCIpxC0gYCAAK0LngECAX8BfiOAgICAAEEwayIAJICAgIAAIABBCGoQxoCAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQEMeAgIAACyAAQSBqQgMQ8YCAgAACQCAAKAIgQQFHDQAACyAAKQMoIQEgAEIENwMYIAAgATcDECAAQoSAgIAgNwMIQYCHwIAAQQMgAEEIakEDEOGAgIAAIQEgAEEwaiSAgICAACABC4UBAgF/AX4jgICAgABBEGsiACSAgICAACAAEMaAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBDHgICAAAsgAEGAgMCAAEEOENeAgIAAAkACQCAAKAIADQAgACAAKQMIENiAgIAAIAAoAgBBAUcNAQsACyAAKQMIIQEgAEEQaiSAgICAACABC5kBAQF/I4CAgIAAQSBrIgMkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJC/wGDQs0AUg0AQQAQ0YCAgABCAhC1gICAAA0BIAAQu4GAgAAgA0EANgIAIAMgARC/gICAACADQQE2AgAgAyACEL+AgIAAIANBIGokgICAgABCAg8LAAtCg4CAgJCBARDQgICAAAALDgBBACAAQgIQz4GAgAALCAAQ+4CAgAALCAAQyoCAgAAL4gQBBX8jgICAgABB0ABrIgIkgICAgAAgAkEoaiAAEL+BgIAAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQv4GAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxggAkEoahDGgICAAAJAIAIoAihBAUcNACACKAIsIAIoAjAQx4CAgAALEMmAgIAAAkACQAJAEMWAgIAADQAQwIGAgAAiA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQ0ICAgAAAC0KDgICAwP8AENCAgIAAAAsCQAJAIAIoAghBAUcNAEEBIAIoAgwgAigCEBDBgYCAAAwBC0EBEMiAgIAAQgIQh4CAgAAaCwJAAkAgAigCGEEBRw0AQQIgAigCHCACKAIgEMGBgIAADAELQQIQyICAgABCAhCHgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEGkisCAAEEPEJGBgIAAEJKBgIAAIQAgAkEoahDCgYCAACEBIAIgAkE0ahDCgYCAADcDSCACIAE3A0AgAEHIisCAAEECIAJBwABqQQIQ4YCAgAAQlICAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEN6BgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALMwECfhCmgICAACEAAkAQp4CAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQsYCAgAAAC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQyICAgAAhBCADIAEgAhDfgYCAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEIWAgIAAGiADQRBqJICAgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDEgYCAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILwgECAn8BfiOAgICAAEHAAGsiACSAgICAACAAQQhqEMaAgIAAAkAgACgCCEEBRw0AIAAoAgwgACgCEBDHgICAAAsgAEEIahDGgICAACAAQRRqIgEQkIGAgAAgAEEwaiAAQQhqEMSBgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARDEgYCAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQr4CAgAAhAiAAQcAAaiSAgICAACACCzAAAkAgASgCAEEBRw0AIAAgASgCBCABKAIIEN+BgIAADwsgAEIANwMAIABCAjcDCAuqAQEBfyOAgICAAEEgayIAJICAgIAAIABBDGoQxoCAgAACQCAAKAIMQQFHDQAgACgCECAAKAIUEMeAgIAACxDJgICAAAJAEMWAgIAARQ0AQoOAgIDg/wAQ0ICAgAAAC0EAEMiAgIAAQgFCAhCFgICAABpB2IrAgABBEhCRgYCAABCSgYCAAEEEQQAgAEEYakEAEOGAgIAAEJSAgIAAGiAAQSBqJICAgIAAQgILCQAQxYCAgACtCzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEMeAgIAAQgIPCwALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDMgICAACAAKQMAIAApAwgQyYGAgAAhASAAQRBqJICAgIAAIAELDQAgAUICIACnQQFxGws+AgF/AX4jgICAgABBEGsiACSAgICAACAAEM+AgIAAIAApAwAgACkDCBDJgYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQxoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEMeAgIAACxDLgICAACECEM6AgIAAIAAQu4GAgAAgAiAAEMyBgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEHviMCAAEEVEJGBgIAAEJKBgIAAIQMgAiAANwMIIAIgATcDACADQZiJwIAAQQIgAkECEOGAgIAAEJSAgIAAGiACQRBqJICAgIAAC90CAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQxoCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEMeAgIAACxDLgICAACEDAkACQCABQv////8PVg0AIAJBCGoQz4CAgAAgAikDECEBIAIpAwhBiAgQzYCAgAAgASAAEJeAgIAAUEUNAxDOgYCAAAwBCxDAgYCAACABQiCIp0kNA0EBIABCABDPgYCAAEEBENGAgIAAQgAgAUKEgICAcIMiASABEIOAgIAAGkGoicCAAEEWEJGBgIAAEJKBgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEHEicCAAEEDIAJBCGpBAxDhgICAABCUgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgOCAARDQgICAAAALQoOAgIDwgAEQ0ICAgAAACxMAQQEQ0YCAgABCABCHgICAABoLFQAgABDRgICAACABIAIQhYCAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAEMaAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBDHgICAAAsgABDPgICAACAAKQMIIQEgACkDAEGICBDNgICAACABEIiAgIAAGiAAENKAgIAAAkAgACgCAA0AEI2BgIAAAAsgACkDCCECEM6BgIAAIAEQu4GAgAAgAiABEMyBgIAAIABBEGokgICAgABCAgugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQx4CAgAALEMuAgIAAIQEQzoCAgABBABDRgICAAEICEIeAgIAAGkHcicCAAEETEJGBgIAAEJKBgIAAIQIgACABNwMAIAJB8InAgABBASAAQQEQ4YCAgAAQlICAgAAaIABBEGokgICAgABCAgsJABDTgYCAAAALAwAAC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQnoCAgAAhAyABEJ+AgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMACx4AIAAgASACrUIghkIEhCADrUIghkIEhBCigICAAAt3AgF/AX4jgICAgABBEGsiAiSAgICAACACIAFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyNgIMIAApAwAhAyAAIAMgAxCPgICAAEKAgICAcINCBIQgAkEMakEEENWBgIAANwMAIAJBEGokgICAgAAgAAslACAAIAGtQiCGQgSEIAAQj4CAgABCgICAgHCDQgSEEJqAgIAACzYBAX5CASECAkAgARCPgICAAEKAgICAcINCgICAgMAAUg0AIAAgATcDCEIAIQILIAAgAjcDAAs2AQF+QgEhAgJAIAEQj4CAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALGgAgAK1CIIZCBIQgAa1CIIZCBIQQnICAgAAL2wECAX4EfwJAAkAgAkEJSw0AQgAhAyACIQQgASEFA0ACQCAEDQAgA0IIhkIOhCEDDAMLQQEhBgJAIAUtAAAiB0HfAEYNAAJAIAdBUGpB/wFxQQpJDQACQCAHQb9/akH/AXFBGkkNACAHQZ9/akH/AXFBGUsNBCAHQUVqIQYMAgsgB0FLaiEGDAELIAdBUmohBgsgA0IGhiAGrUL/AYOEIQMgBEF/aiEEIAVBAWohBQwACwsgAa1CIIZCBIQgAq1CIIZCBIQQoYCAgAAhAwsgAEIANwMAIAAgAzcDCAscACAAIAGtQiCGQgSEIAKtQiCGQgSEEJqAgIAAC9kBAgN/AX4jgICAgABBEGsiAiSAgICAAEEBIQMCQCABEI+AgIAAQoCAgIBwg0KAgICAgAJSDQAgAkEIakIANwMAIAJCADcDACAAQQFqIQRBACEDAkADQCABEI+AgIAAQoCAgIAQVA0BIAEQpYCAgAAhBSABQQEQ14GAgAAhAQJAIANBEEYNACACIANqIAVCIIg8AAAgA0EBaiEDDAELC0EQENKBgIAAAAsgBCACKQMANwAAIARBCGogAkEIaikDADcAAEEAIQMLIAAgAzoAACACQRBqJICAgIAAC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQZSKwIAAQQIgAkECEOSAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBlIrAgABBAiADQQIQ4YCAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEMiAgIAAIgRCAhC1gICAAEUNACACQQRqIARCAhCEgICAABDegYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALuQcBDH8jgICAgABBEGshAwJAAkAgAkEQTw0AIAAhBAwBCwJAIAAgAEEAIABrQQNxIgVqIgZPDQAgBUF/aiEHIAAhBCABIQgCQCAFRQ0AIAUhCSAAIQQgASEIA0AgBCAILQAAOgAAIAhBAWohCCAEQQFqIQQgCUF/aiIJDQALCyAHQQdJDQADQCAEIAgtAAA6AAAgBEEBaiAIQQFqLQAAOgAAIARBAmogCEECai0AADoAACAEQQNqIAhBA2otAAA6AAAgBEEEaiAIQQRqLQAAOgAAIARBBWogCEEFai0AADoAACAEQQZqIAhBBmotAAA6AAAgBEEHaiAIQQdqLQAAOgAAIAhBCGohCCAEQQhqIgQgBkcNAAsLIAYgAiAFayIJQXxxIgdqIQQCQAJAIAEgBWoiCEEDcSIBDQAgBiAETw0BIAghAQNAIAYgASgCADYCACABQQRqIQEgBkEEaiIGIARJDQAMAgsLQQAhAiADQQA2AgwgA0EMaiABciEFAkBBBCABayIKQQFxRQ0AIAUgCC0AADoAAEEBIQILAkAgCkECcUUNACAFIAJqIAggAmovAQA7AQALIAggAWshAiABQQN0IQsgAygCDCEFAkACQCAGQQRqIARJDQAgBiEMDAELQQAgC2tBGHEhDQNAIAYgBSALdiACQQRqIgIoAgAiBSANdHI2AgAgBkEIaiEKIAZBBGoiDCEGIAogBEkNAAsLQQAhBiADQQA6AAggA0EAOgAGAkACQCABQQFHDQAgA0EIaiENQQAhAUEAIQpBACEODAELIAJBBWotAAAhCiADIAJBBGotAAAiAToACCAKQQh0IQpBAiEOIANBBmohDQsCQCAIQQFxRQ0AIA0gAkEEaiAOai0AADoAACADLQAGQRB0IQYgAy0ACCEBCyAMIAogBnIgAUH/AXFyQQAgC2tBGHF0IAUgC3ZyNgIACyAJQQNxIQIgCCAHaiEBCwJAIAQgBCACaiIGTw0AIAJBf2ohCQJAIAJBB3EiCEUNAANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAhBf2oiCA0ACwsgCUEHSQ0AA0AgBCABLQAAOgAAIARBAWogAUEBai0AADoAACAEQQJqIAFBAmotAAA6AAAgBEEDaiABQQNqLQAAOgAAIARBBGogAUEEai0AADoAACAEQQVqIAFBBWotAAA6AAAgBEEGaiABQQZqLQAAOgAAIARBB2ogAUEHai0AADoAACABQQhqIQEgBEEIaiIEIAZHDQALCyAACw4AIAAgASACEOGBgIAACwuMCwEAQYCAwAALggtTZW5kQW5kUmVjZWl2ZWV4ZWN1dG9yX2NvbmZpZ19zZXQAAACYAxAABgAAAHNlbmRfdWxuX2NvbmZpZ19zZXRyZWNlaXZlX3Vsbl9jb25maWdfc2V0ZGVmYXVsdF9leGVjdXRvcl9jb25maWdzX3NldHBhcmFtcwBxABAABgAAAGRlZmF1bHRfc2VuZF91bG5fY29uZmlnc19zZXRkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZ3Nfc2V0ZXhlY3V0b3JfZmVlX3BhaWRmZWUAzAAQAAMAAABkdm5fZmVlX3BhaWRkdm5zZmVlc+QAEAAEAAAA6AAQAAQAAABwYXlsb2FkX3ZlcmlmaWVkY29uZmlybWF0aW9uc2hlYWRlcnByb29mX2hhc2gAAAAMARAADQAAABkBEAAGAAAAHwEQAAoAAABvcHRpb25hbF9kdm5fdGhyZXNob2xkb3B0aW9uYWxfZHZuc3JlcXVpcmVkX2R2bnMMARAADQAAAEQBEAAWAAAAWgEQAA0AAABnARAADQAAAHVsbl9jb25maWd1c2VfZGVmYXVsdF9jb25maXJtYXRpb25zdXNlX2RlZmF1bHRfb3B0aW9uYWxfZHZuc3VzZV9kZWZhdWx0X3JlcXVpcmVkX2R2bnMAAACUARAACgAAAJ4BEAAZAAAAtwEQABkAAADQARAAGQAAAJgDEAAGAAAAqQMQAAMAAABleGVjdXRvcm1heF9tZXNzYWdlX3NpemUcAhAACAAAACQCEAAQAAAAmAMQAAYAAAADAxAABwAAAEVuZHBvaW50VHJlYXN1cnlEZWZhdWx0RXhlY3V0b3JDb25maWdzRGVmYXVsdFNlbmRVbG5Db25maWdzRGVmYXVsdFJlY2VpdmVVbG5Db25maWdzT0FwcEV4ZWN1dG9yQ29uZmlnc09BcHBTZW5kVWxuQ29uZmlnc09BcHBSZWNlaXZlVWxuQ29uZmlnc0NvbmZpcm1hdGlvbnNlbmNvZGVkX3BhY2tldG1lc3NhZ2Vkc3RfZWlkcmVjZWl2ZXJub25jZXNlbmRlcnNyY19laWQSAxAABQAAABcDEAAGAAAAHQMQAAcAAABuYXRpdmVfZmVlenJvX2ZlZQAAADwDEAAKAAAARgMQAAcAAABndWlkZW5kcG9pbnRfdmVyc2lvbm1ham9ybWlub3IAAGQDEAAQAAAAdAMQAAUAAAB5AxAABQAAAGNvbmZpZ2NvbmZpZ190eXBlZWlkmAMQAAYAAACeAxAACwAAAKkDEAADAAAAAwMQAAcAAABgAxAABAAAAPwCEAAHAAAAEgMQAAUAAAAKAxAACAAAABcDEAAGAAAAHQMQAAcAAABhbW91bnR0b/wDEAAGAAAAAgQQAAIAAABuYXRpdmVfZmVlX3JlY2lwaWVudHN6cm9fZmVlX3JlY2lwaWVudHMA7gIQAA4AAAAUBBAAFQAAACkEEAASAAAAYXNzaWduX2pvYgAAABIAAAABdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyAACEBBAACQAAAI0EEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAIQEEAAJAAAAjQQQAAkAAAC+BBAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAjQQQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAACQUQAAkAAABmBBAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAADMFEAAIAAAAOwUQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnQAq7cBDmNvbnRyYWN0c3BlY3YwAAAABAAAAAAAAAAAAAAAC1VsbjMwMkVycm9yAAAAABMAAAAAAAAAHURlZmF1bHRFeGVjdXRvckNvbmZpZ05vdEZvdW5kAAAAAAAAAQAAAAAAAAAfRGVmYXVsdFJlY2VpdmVVbG5Db25maWdOb3RGb3VuZAAAAAACAAAAAAAAABxEZWZhdWx0U2VuZFVsbkNvbmZpZ05vdEZvdW5kAAAAAwAAAAAAAAAVRHVwbGljYXRlT3B0aW9uYWxEVk5zAAAAAAAABAAAAAAAAAAVRHVwbGljYXRlUmVxdWlyZWREVk5zAAAAAAAABQAAAAAAAAANSW52YWxpZENvbmZpZwAAAAAAAAYAAAAAAAAAEUludmFsaWRDb25maWdUeXBlAAAAAAAABwAAAAAAAAAUSW52YWxpZENvbmZpcm1hdGlvbnMAAAAIAAAAAAAAAApJbnZhbGlkRUlEAAAAAAAJAAAAAAAAABJJbnZhbGlkTWVzc2FnZVNpemUAAAAAAAoAAAAAAAAAF0ludmFsaWRPcHRpb25hbERWTkNvdW50AAAAAAsAAAAAAAAAE0ludmFsaWRPcHRpb25hbERWTnMAAAAADAAAAAAAAAAbSW52YWxpZE9wdGlvbmFsRFZOVGhyZXNob2xkAAAAAA0AAAAAAAAAF0ludmFsaWRSZXF1aXJlZERWTkNvdW50AAAAAA4AAAAAAAAAE0ludmFsaWRSZXF1aXJlZERWTnMAAAAADwAAAAAAAAAQVWxuQXRMZWFzdE9uZURWTgAAABAAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAARAAAAAAAAAAlWZXJpZnlpbmcAAAAAAAASAAAAAAAAAA9aZXJvTWVzc2FnZVNpemUAAAAAEwAAAAUAAAAAAAAAAAAAABFFeGVjdXRvckNvbmZpZ1NldAAAAAAAAAEAAAATZXhlY3V0b3JfY29uZmlnX3NldAAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABBTZW5kVWxuQ29uZmlnU2V0AAAAAQAAABNzZW5kX3Vsbl9jb25maWdfc2V0AAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAAAAAAABmNvbmZpZwAAAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAATUmVjZWl2ZVVsbkNvbmZpZ1NldAAAAAABAAAAFnJlY2VpdmVfdWxuX2NvbmZpZ19zZXQAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABmNvbmZpZwAAAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAZRGVmYXVsdEV4ZWN1dG9yQ29uZmlnc1NldAAAAAAAAAEAAAAcZGVmYXVsdF9leGVjdXRvcl9jb25maWdzX3NldAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAdU2V0RGVmYXVsdEV4ZWN1dG9yQ29uZmlnUGFyYW0AAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABhEZWZhdWx0U2VuZFVsbkNvbmZpZ3NTZXQAAAABAAAAHGRlZmF1bHRfc2VuZF91bG5fY29uZmlnc19zZXQAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAACAAAABQAAAAAAAAAAAAAAG0RlZmF1bHRSZWNlaXZlVWxuQ29uZmlnc1NldAAAAAABAAAAH2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlnc19zZXQAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9FeGVjdXRvckZlZVBhaWQAAAAAAQAAABFleGVjdXRvcl9mZWVfcGFpZAAAAAAAAAIAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAEAAAAAAAAAA2ZlZQAAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAACAAAABQAAAAAAAAAAAAAACkRWTkZlZVBhaWQAAAAAAAEAAAAMZHZuX2ZlZV9wYWlkAAAAAgAAAAAAAAAEZHZucwAAA+oAAAATAAAAAAAAAAAAAAAEZmVlcwAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1BheWxvYWRWZXJpZmllZAAAAAABAAAAEHBheWxvYWRfdmVyaWZpZWQAAAAEAAAAAAAAAANkdm4AAAAAEwAAAAEAAAAAAAAABmhlYWRlcgAAAAAADgAAAAAAAAAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAAAAAAAAAAAAKcHJvb2ZfaGFzaAAAAAAD7gAAACAAAAAAAAAAAgAAAAEAAAA4VWx0cmEgTGlnaHQgTm9kZSBjb25maWd1cmF0aW9uIGZvciBtZXNzYWdlIHZlcmlmaWNhdGlvbi4AAAAAAAAACVVsbkNvbmZpZwAAAAAAAAQAAABKTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQgYmVmb3JlIG1lc3NhZ2UgdmVyaWZpY2F0aW9uIGJlZ2lucy4AAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAADNNaW5pbXVtIG51bWJlciBvZiBvcHRpb25hbCBEVk5zIHJlcXVpcmVkIHRvIHZlcmlmeS4AAAAAFm9wdGlvbmFsX2R2bl90aHJlc2hvbGQAAAAAAAQAAABATGlzdCBvZiBEVk4gYWRkcmVzc2VzIGZyb20gd2hpY2ggYSB0aHJlc2hvbGQgbnVtYmVyIG11c3QgdmVyaWZ5LgAAAA1vcHRpb25hbF9kdm5zAAAAAAAD6gAAABMAAABGTGlzdCBvZiBEVk4gYWRkcmVzc2VzIHRoYXQgbXVzdCBBTEwgdmVyaWZ5IHRoZSBtZXNzYWdlIChubyB0aHJlc2hvbGQpLgAAAAAADXJlcXVpcmVkX2R2bnMAAAAAAAPqAAAAEwAAAAEAAAA8T0FwcC1zcGVjaWZpYyBVTE4gY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgb3ZlcnJpZGUgZmxhZ3MuAAAAAAAAAA1PQXBwVWxuQ29uZmlnAAAAAAAABAAAAEVPQXBwLXNwZWNpZmljIFVMTiBjb25maWd1cmF0aW9uICh1c2VkIHdoZW4gZGVmYXVsdHMgYXJlIG5vdCBhcHBsaWVkKS4AAAAAAAAKdWxuX2NvbmZpZwAAAAAH0AAAAAlVbG5Db25maWcAAAAAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCBjb25maXJtYXRpb25zLgAAAAAAABl1c2VfZGVmYXVsdF9jb25maXJtYXRpb25zAAAAAAAAAQAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IG9wdGlvbmFsIERWTnMuAAAAAAAAGXVzZV9kZWZhdWx0X29wdGlvbmFsX2R2bnMAAAAAAAABAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgcmVxdWlyZWQgRFZOcy4AAAAAAAAZdXNlX2RlZmF1bHRfcmVxdWlyZWRfZHZucwAAAAAAAAEAAAABAAAAUlBhcmFtZXRlciBmb3Igc2V0dGluZyBkZWZhdWx0IFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uL3NvdXJjZSBlbmRwb2ludC4AAAAAAAAAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAgAAAChUaGUgVUxOIGNvbmZpZ3VyYXRpb24gdG8gc2V0IGFzIGRlZmF1bHQuAAAABmNvbmZpZwAAAAAH0AAAAAlVbG5Db25maWcAAAAAAABLVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElEIChmb3Igc2VuZCkgb3Igc291cmNlIGVuZHBvaW50IElEIChmb3IgcmVjZWl2ZSkuAAAAAANlaWQAAAAABAAAAAEAAAAsRXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgbWVzc2FnZSBkZWxpdmVyeS4AAAAAAAAADkV4ZWN1dG9yQ29uZmlnAAAAAAACAAAAQ0FkZHJlc3Mgb2YgdGhlIGV4ZWN1dG9yIGNvbnRyYWN0IHJlc3BvbnNpYmxlIGZvciBtZXNzYWdlIGV4ZWN1dGlvbi4AAAAACGV4ZWN1dG9yAAAAEwAAADlNYXhpbXVtIHNpemUgb2YgbWVzc2FnZXMgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgKGluIGJ5dGVzKS4AAAAAAAAQbWF4X21lc3NhZ2Vfc2l6ZQAAAAQAAAABAAAAW09BcHAtc3BlY2lmaWMgZXhlY3V0b3IgY29uZmlndXJhdGlvbi4KCklmIGV4ZWN1dG9yIGlzIGBOb25lYCwgdGhlIGRlZmF1bHQgZXhlY3V0b3IgaXMgdXNlZC4AAAAAAAAAABJPQXBwRXhlY3V0b3JDb25maWcAAAAAAAIAAABoQWRkcmVzcyBvZiB0aGUgZXhlY3V0b3IgY29udHJhY3QgdG8gYmUgdXNlZCBmb3IgbWVzc2FnZSBleGVjdXRpb24uIE5vbmUgbWVhbnMgdXNlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4AAAAIZXhlY3V0b3IAAAPoAAAAEwAAAFxNYXhpbXVtIHNpemUgb2YgbWVzc2FnZXMgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgKGluIGJ5dGVzKS4gMCBtZWFucyB1c2UgZGVmYXVsdCBjb25maWd1cmF0aW9uLgAAABBtYXhfbWVzc2FnZV9zaXplAAAABAAAAAEAAABQUGFyYW1ldGVyIGZvciBzZXR0aW5nIGRlZmF1bHQgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAAAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAgAAAC1UaGUgZXhlY3V0b3IgY29uZmlndXJhdGlvbiB0byBzZXQgYXMgZGVmYXVsdC4AAAAAAAAGY29uZmlnAAAAAAfQAAAADkV4ZWN1dG9yQ29uZmlnAAAAAAAcVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAAAAAASFNldHMgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlwbGUgZGVzdGluYXRpb24gZW5kcG9pbnRzLgAAABxzZXRfZGVmYXVsdF9leGVjdXRvcl9jb25maWdzAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAB1TZXREZWZhdWx0RXhlY3V0b3JDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAASFNldHMgZGVmYXVsdCBzZW5kIFVMTiBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlwbGUgZGVzdGluYXRpb24gZW5kcG9pbnRzLgAAABxzZXRfZGVmYXVsdF9zZW5kX3Vsbl9jb25maWdzAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAAAAADBSZXR1cm5zIHRoZSB0cmVhc3VyeSBhZGRyZXNzIGZvciBmZWUgY29sbGVjdGlvbi4AAAAIdHJlYXN1cnkAAAAAAAAAAQAAABMAAAAAAAAARlJldHVybnMgdGhlIGRlZmF1bHQgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAAABdkZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZwAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAAAAAAABMUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAABRvYXBwX2V4ZWN1dG9yX2NvbmZpZwAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAAAAAFFSZXR1cm5zIHRoZSBlZmZlY3RpdmUgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdC4AAAAAAAAZZWZmZWN0aXZlX2V4ZWN1dG9yX2NvbmZpZwAAAAAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAAAAAAABGUmV0dXJucyB0aGUgZGVmYXVsdCBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAF2RlZmF1bHRfc2VuZF91bG5fY29uZmlnAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAATFJldHVybnMgdGhlIE9BcHAtc3BlY2lmaWMgc2VuZCBVTE4gY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAUb2FwcF9zZW5kX3Vsbl9jb25maWcAAAACAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAFFSZXR1cm5zIHRoZSBlZmZlY3RpdmUgc2VuZCBVTE4gY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdC4AAAAAAAAZZWZmZWN0aXZlX3NlbmRfdWxuX2NvbmZpZwAAAAAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAAAAAAJ5RdW90ZXMgdGhlIHRvdGFsIGZlZSBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuCgpDYWxjdWxhdGVzIGZlZXMgZnJvbTogZXhlY3V0b3IgKG1lc3NhZ2UgZXhlY3V0aW9uKSwgRFZOcyAodmVyaWZpY2F0aW9uKSwgYW5kIHRyZWFzdXJ5IChwcm90b2NvbCBmZWUpLgAAAAAABXF1b3RlAAAAAAAAAwAAAAAAAAAGcGFja2V0AAAAAAfQAAAADk91dGJvdW5kUGFja2V0AAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAAAEAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAAAAAAACZU2VuZHMgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGFuZCByZXR1cm5zIGZlZSByZWNpcGllbnRzIGZvciBwYXltZW50LgoKQXNzaWducyBleGVjdXRvciBhbmQgRFZOcywgY2FsY3VsYXRlcyBmZWVzLCBhbmQgZW5jb2RlcyB0aGUgcGFja2V0IGZvciB0cmFuc21pc3Npb24uAAAAAAAABHNlbmQAAAADAAAAAAAAAAZwYWNrZXQAAAAAB9AAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAAAQAAB9AAAAANRmVlc0FuZFBhY2tldAAAAAAAAAAAAACvQ2FsbGVkIGJ5IGEgRFZOIHRvIHZlcmlmeSBhIG1lc3NhZ2Ugd2l0aCBhIHNwZWNpZmljIG51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zLgoKU3RvcmVzIHRoZSBEVk4ncyB2ZXJpZmljYXRpb24gYXR0ZXN0YXRpb24gd2hpY2ggd2lsbCBiZSBjaGVja2VkIGR1cmluZyBjb21taXRfdmVyaWZpY2F0aW9uLgAAAAAGdmVyaWZ5AAAAAAAEAAAAAAAAAANkdm4AAAAAEwAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAAAAABV1Blcm1pc3Nvbmxlc3MgdG8gY29tbWl0IGEgdmVyaWZpZWQgbWVzc2FnZSB0byB0aGUgZW5kcG9pbnQgYWZ0ZXIgc3VmZmljaWVudCBEVk4gdmVyaWZpY2F0aW9uLgoKVmFsaWRhdGVzIHRoZSBwYWNrZXQgaGVhZGVyIGFuZCBjaGVja3MgdGhhdCBlbm91Z2ggRFZOcyBoYXZlIHZlcmlmaWVkIHRoZSBtZXNzYWdlCihhbGwgcmVxdWlyZWQgRFZOcyArIG9wdGlvbmFsIERWTiB0aHJlc2hvbGQpLiBPbmNlIHZlcmlmaWVkLCBjbGVhbnMgdXAgRFZOIGNvbmZpcm1hdGlvbgpzdG9yYWdlIGFuZCBjYWxscyB0aGUgZW5kcG9pbnQgdG8gbWFyayB0aGUgbWVzc2FnZSBhcyB2ZXJpZmllZCBhbmQgZXhlY3V0YWJsZS4AAAAAE2NvbW1pdF92ZXJpZmljYXRpb24AAAAAAgAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAAAAACYU2V0cyBkZWZhdWx0IHJlY2VpdmUgVUxOIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBzb3VyY2UgZW5kcG9pbnRzLgoKVmFsaWRhdGVzIGVhY2ggY29uZmlnIGFuZCBzdG9yZXMgaXQgYXMgdGhlIGRlZmF1bHQgZm9yIHRoZSBzcGVjaWZpZWQgc291cmNlIEVJRC4AAAAfc2V0X2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlncwAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAAAAAAAVVJldHVybnMgdGhlIG51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIGEgRFZOIGhhcyBzdWJtaXR0ZWQgZm9yIGEgc3BlY2lmaWMgbWVzc2FnZS4AAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAMAAAAAAAAAA2R2bgAAAAATAAAAAAAAAAtoZWFkZXJfaGFzaAAAAAPuAAAAIAAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAABAAAD6AAAAAYAAAAAAAAAUkNoZWNrcyBpZiBhIG1lc3NhZ2UgaGFzIGJlZW4gc3VmZmljaWVudGx5IHZlcmlmaWVkIGJ5IERWTnMgYW5kIGlzIHJlYWR5IHRvIGNvbW1pdC4AAAAAAAp2ZXJpZmlhYmxlAAAAAAACAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAABAAAAAQAAAAAAAABEUmV0dXJucyB0aGUgZGVmYXVsdCByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAaZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWcAAAAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAAU1JldHVybnMgdGhlIE9BcHAtc3BlY2lmaWMgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbiBvdmVycmlkZSBmb3IgYSBzb3VyY2UgZW5kcG9pbnQuAAAAABdvYXBwX3JlY2VpdmVfdWxuX2NvbmZpZwAAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAFVSZXR1cm5zIHRoZSBlZmZlY3RpdmUgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdHMuAAAAAAAAHGVmZmVjdGl2ZV9yZWNlaXZlX3Vsbl9jb25maWcAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAADcU2V0cyBPQXBwLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgbGlicmFyeS4KCkNhbGxlZCBieSB0aGUgZW5kcG9pbnQgb24gYmVoYWxmIG9mIHRoZSBPQXBwIHRvIGNvbmZpZ3VyZSBleGVjdXRvciBhbmQgVUxOIHNldHRpbmdzLgpTdXBwb3J0cyB0aHJlZSBjb25maWcgdHlwZXM6IEVYRUNVVE9SLCBTRU5EX1VMTiwgYW5kIFJFQ0VJVkVfVUxOLgAAAApzZXRfY29uZmlnAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5TZXRDb25maWdQYXJhbQAAAAAAAAAAAAAAAAA2UmV0dXJucyB0aGUgWERSLWVuY29kZWQgZWZmZWN0aXZlIGNvbmZpZ3VyYXRpb24gYnl0ZXMuAAAAAAAKZ2V0X2NvbmZpZwAAAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAABG9hcHAAAAATAAAAAAAAAAtjb25maWdfdHlwZQAAAAAEAAAAAQAAAA4AAAAAAAAAWFJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBsaWJyYXJ5IGhhcyBmdWxsIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBlbmRwb2ludCBJRC4AAAAQaXNfc3VwcG9ydGVkX2VpZAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAAAEAAAAAAAAAK1JldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UgbGlicmFyeS4AAAAAB3ZlcnNpb24AAAAAAAAAAAEAAAfQAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAAAAAChSZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlIGxpYnJhcnkuAAAAEG1lc3NhZ2VfbGliX3R5cGUAAAAAAAAAAQAAB9AAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAAAAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAADAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAACGVuZHBvaW50AAAAEwAAAAAAAAAIdHJlYXN1cnkAAAATAAAAAAAAAAAAAAAwUmV0dXJucyB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50IGNvbnRyYWN0IGFkZHJlc3MuAAAACGVuZHBvaW50AAAAAAAAAAEAAAATAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAgAAAAAAAAAAAAAAClVsblN0b3JhZ2UAAAAAAAkAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAAAAAAAAAAACFRyZWFzdXJ5AAAAAQAAAAAAAAAWRGVmYXVsdEV4ZWN1dG9yQ29uZmlncwAAAAAAAQAAAAQAAAABAAAAAAAAABVEZWZhdWx0U2VuZFVsbkNvbmZpZ3MAAAAAAAABAAAABAAAAAEAAAAAAAAAGERlZmF1bHRSZWNlaXZlVWxuQ29uZmlncwAAAAEAAAAEAAAAAQAAAAAAAAATT0FwcEV4ZWN1dG9yQ29uZmlncwAAAAACAAAAEwAAAAQAAAABAAAAAAAAABJPQXBwU2VuZFVsbkNvbmZpZ3MAAAAAAAIAAAATAAAABAAAAAEAAAAAAAAAFU9BcHBSZWNlaXZlVWxuQ29uZmlncwAAAAAAAAIAAAATAAAABAAAAAEAAAAAAAAADUNvbmZpcm1hdGlvbnMAAAAAAAADAAAAEwAAA+4AAAAgAAAD7gAAACAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAANRW5kcG9pbnRFcnJvcgAAAAAAABkAAAAAAAAAEUFscmVhZHlSZWdpc3RlcmVkAAAAAAAAAQAAAAAAAAANQ29tcG9zZUV4aXN0cwAAAAAAAAIAAAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAAAAAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAAAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAAAAAAAAQSW52YWxpZEZlZUFtb3VudAAAAAgAAAAAAAAADUludmFsaWRFeHBpcnkAAAAAAAAJAAAAAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAAAAAAAAxJbnZhbGlkTm9uY2UAAAALAAAAAAAAABJJbnZhbGlkUGF5bG9hZEhhc2gAAAAAAAwAAAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAA0AAAAAAAAAEU9ubHlOb25EZWZhdWx0TGliAAAAAAAADgAAAAAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAAAAAAEU9ubHlSZWdpc3RlcmVkTGliAAAAAAAAEAAAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAAAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAFAAAAAAAAAAJU2Ft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aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQaAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABcAAAAAAG8OY29udHJhY3RtZXRhdjAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yMy40LjAjNjczZDZjNGYyMzY4ZDI4MmQyNWRhMjliZGE1NWMyMWI4YmU2OWNhNgA=";
|
|
11
|
+
/**
|
|
12
|
+
* Pre-computed WASM hash (SHA-256)
|
|
13
|
+
* Use this when the WASM is already uploaded on-chain
|
|
14
|
+
*/
|
|
15
|
+
export const WASM_HASH = "c672ec2924162d976095c4cf9d6ea67a02d68d1c8fce2367338f46ccd3265268";
|
|
16
|
+
/**
|
|
17
|
+
* Get the WASM bytecode as a Buffer
|
|
18
|
+
* Use this to upload the WASM to the network
|
|
19
|
+
*/
|
|
20
|
+
export function getWasmBuffer() {
|
|
21
|
+
return Buffer.from(WASM_BASE64, 'base64');
|
|
22
|
+
}
|
|
5
23
|
export const Uln302Error = {
|
|
6
24
|
1: { message: "DefaultExecutorConfigNotFound" },
|
|
7
25
|
2: { message: "DefaultReceiveUlnConfigNotFound" },
|
|
@@ -30,61 +48,103 @@ export const EndpointError = {
|
|
|
30
48
|
4: { message: "DefaultReceiveLibUnavailable" },
|
|
31
49
|
5: { message: "DefaultSendLibUnavailable" },
|
|
32
50
|
6: { message: "InsufficientNativeFee" },
|
|
33
|
-
7: { message: "
|
|
34
|
-
8: { message: "
|
|
35
|
-
9: { message: "
|
|
36
|
-
10: { message: "
|
|
37
|
-
11: { message: "
|
|
38
|
-
12: { message: "
|
|
39
|
-
13: { message: "
|
|
40
|
-
14: { message: "
|
|
41
|
-
15: { message: "
|
|
42
|
-
16: { message: "
|
|
43
|
-
17: { message: "
|
|
44
|
-
18: { message: "
|
|
45
|
-
19: { message: "
|
|
46
|
-
20: { message: "
|
|
47
|
-
21: { message: "
|
|
48
|
-
22: { message: "
|
|
49
|
-
23: { message: "
|
|
50
|
-
24: { message: "
|
|
51
|
+
7: { message: "InsufficientZroFee" },
|
|
52
|
+
8: { message: "InvalidFeeAmount" },
|
|
53
|
+
9: { message: "InvalidExpiry" },
|
|
54
|
+
10: { message: "InvalidIndex" },
|
|
55
|
+
11: { message: "InvalidNonce" },
|
|
56
|
+
12: { message: "InvalidPayloadHash" },
|
|
57
|
+
13: { message: "InvalidReceiveLibrary" },
|
|
58
|
+
14: { message: "OnlyNonDefaultLib" },
|
|
59
|
+
15: { message: "OnlyReceiveLib" },
|
|
60
|
+
16: { message: "OnlyRegisteredLib" },
|
|
61
|
+
17: { message: "OnlySendLib" },
|
|
62
|
+
18: { message: "PathNotInitializable" },
|
|
63
|
+
19: { message: "PathNotVerifiable" },
|
|
64
|
+
20: { message: "PayloadHashNotFound" },
|
|
65
|
+
21: { message: "SameValue" },
|
|
66
|
+
22: { message: "Unauthorized" },
|
|
67
|
+
23: { message: "UnsupportedEid" },
|
|
68
|
+
24: { message: "ZeroZroFee" },
|
|
69
|
+
25: { message: "ZroUnavailable" }
|
|
51
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* PacketCodecV1Error: 1100-1109
|
|
73
|
+
*/
|
|
52
74
|
export const PacketCodecV1Error = {
|
|
53
|
-
|
|
54
|
-
|
|
75
|
+
1100: { message: "InvalidPacketHeader" },
|
|
76
|
+
1101: { message: "InvalidPacketVersion" }
|
|
55
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* WorkerOptionsError: 1110-1119
|
|
80
|
+
*/
|
|
56
81
|
export const WorkerOptionsError = {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
1110: { message: "InvalidBytesLength" },
|
|
83
|
+
1111: { message: "InvalidLegacyOptionsType1" },
|
|
84
|
+
1112: { message: "InvalidLegacyOptionsType2" },
|
|
85
|
+
1113: { message: "InvalidOptionType" },
|
|
86
|
+
1114: { message: "InvalidOptions" },
|
|
87
|
+
1115: { message: "InvalidWorkerId" },
|
|
88
|
+
1116: { message: "LegacyOptionsType1GasOverflow" },
|
|
89
|
+
1117: { message: "LegacyOptionsType2AmountOverflow" },
|
|
90
|
+
1118: { message: "LegacyOptionsType2GasOverflow" }
|
|
66
91
|
};
|
|
92
|
+
/**
|
|
93
|
+
* BufferReaderError: 1000-1009
|
|
94
|
+
*/
|
|
67
95
|
export const BufferReaderError = {
|
|
68
96
|
1000: { message: "InvalidLength" },
|
|
69
97
|
1001: { message: "InvalidAddressPayload" }
|
|
70
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* BufferWriterError: 1010-1019
|
|
101
|
+
*/
|
|
71
102
|
export const BufferWriterError = {
|
|
72
|
-
|
|
103
|
+
1010: { message: "InvalidAddressPayload" }
|
|
73
104
|
};
|
|
105
|
+
/**
|
|
106
|
+
* TtlConfigurableError: 1020-1029
|
|
107
|
+
*/
|
|
74
108
|
export const TtlConfigurableError = {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
109
|
+
1020: { message: "InvalidTtlConfig" },
|
|
110
|
+
1021: { message: "TtlConfigFrozen" },
|
|
111
|
+
1022: { message: "TtlConfigAlreadyFrozen" }
|
|
78
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* OwnableError: 1030-1039
|
|
115
|
+
*/
|
|
79
116
|
export const OwnableError = {
|
|
80
|
-
|
|
81
|
-
|
|
117
|
+
1030: { message: "InvalidPendingOwner" },
|
|
118
|
+
1031: { message: "InvalidTtl" },
|
|
119
|
+
1032: { message: "NoPendingTransfer" },
|
|
120
|
+
1033: { message: "OwnerAlreadySet" },
|
|
121
|
+
1034: { message: "OwnerNotSet" },
|
|
122
|
+
1035: { message: "TransferInProgress" }
|
|
82
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* BytesExtError: 1040-1049
|
|
126
|
+
*/
|
|
83
127
|
export const BytesExtError = {
|
|
84
|
-
|
|
128
|
+
1040: { message: "LengthMismatch" }
|
|
85
129
|
};
|
|
130
|
+
/**
|
|
131
|
+
* UpgradeableError: 1050-1059
|
|
132
|
+
*/
|
|
86
133
|
export const UpgradeableError = {
|
|
87
|
-
|
|
134
|
+
1050: { message: "MigrationNotAllowed" }
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* MultisigError: 1060-1069
|
|
138
|
+
*/
|
|
139
|
+
export const MultisigError = {
|
|
140
|
+
1060: { message: "AlreadyInitialized" },
|
|
141
|
+
1061: { message: "InvalidSigner" },
|
|
142
|
+
1062: { message: "SignatureError" },
|
|
143
|
+
1063: { message: "SignerAlreadyExists" },
|
|
144
|
+
1064: { message: "SignerNotFound" },
|
|
145
|
+
1065: { message: "TotalSignersLessThanThreshold" },
|
|
146
|
+
1066: { message: "UnsortedSigners" },
|
|
147
|
+
1067: { message: "ZeroThreshold" }
|
|
88
148
|
};
|
|
89
149
|
export class Client extends ContractClient {
|
|
90
150
|
options;
|
|
@@ -138,21 +198,25 @@ export class Client extends ContractClient {
|
|
|
138
198
|
"AAAAAAAAAChSZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlIGxpYnJhcnkuAAAAEG1lc3NhZ2VfbGliX3R5cGUAAAAAAAAAAQAAB9AAAAAOTWVzc2FnZUxpYlR5cGUAAA==",
|
|
139
199
|
"AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAh0cmVhc3VyeQAAABMAAAAA",
|
|
140
200
|
"AAAAAAAAADBSZXR1cm5zIHRoZSBMYXllclplcm8gZW5kcG9pbnQgY29udHJhY3QgYWRkcmVzcy4AAAAIZW5kcG9pbnQAAAAAAAAAAQAAABM=",
|
|
141
|
-
"
|
|
201
|
+
"AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAAT",
|
|
142
202
|
"AAAAAgAAAAAAAAAAAAAAClVsblN0b3JhZ2UAAAAAAAkAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAAAAAAAAAAACFRyZWFzdXJ5AAAAAQAAAAAAAAAWRGVmYXVsdEV4ZWN1dG9yQ29uZmlncwAAAAAAAQAAAAQAAAABAAAAAAAAABVEZWZhdWx0U2VuZFVsbkNvbmZpZ3MAAAAAAAABAAAABAAAAAEAAAAAAAAAGERlZmF1bHRSZWNlaXZlVWxuQ29uZmlncwAAAAEAAAAEAAAAAQAAAAAAAAATT0FwcEV4ZWN1dG9yQ29uZmlncwAAAAACAAAAEwAAAAQAAAABAAAAAAAAABJPQXBwU2VuZFVsbkNvbmZpZ3MAAAAAAAIAAAATAAAABAAAAAEAAAAAAAAAFU9BcHBSZWNlaXZlVWxuQ29uZmlncwAAAAAAAAIAAAATAAAABAAAAAEAAAAAAAAADUNvbmZpcm1hdGlvbnMAAAAAAAADAAAAEwAAA+4AAAAgAAAD7gAAACA=",
|
|
143
203
|
"AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==",
|
|
144
204
|
"AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==",
|
|
145
205
|
"AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==",
|
|
146
206
|
"AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==",
|
|
207
|
+
"AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==",
|
|
147
208
|
"AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"
|
|
209
|
+
"AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
|
|
210
|
+
"AAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==",
|
|
211
|
+
"AAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAA=",
|
|
212
|
+
"AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=",
|
|
213
|
+
"AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA",
|
|
214
|
+
"AAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAAAAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQ==",
|
|
151
215
|
"AAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAALcGFja2V0X3NlbnQAAAAAAwAAAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAAAAAAAAxzZW5kX2xpYnJhcnkAAAATAAAAAAAAAAI=",
|
|
152
216
|
"AAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAAC",
|
|
153
217
|
"AAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAEHBhY2tldF9kZWxpdmVyZWQAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAg==",
|
|
154
218
|
"AAAABQAAAAAAAAAAAAAADkx6UmVjZWl2ZUFsZXJ0AAAAAAABAAAAEGx6X3JlY2VpdmVfYWxlcnQAAAAJAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAg==",
|
|
155
|
-
"
|
|
219
|
+
"AAAABQAAAAAAAAAAAAAABlpyb1NldAAAAAAAAQAAAAd6cm9fc2V0AAAAAAEAAAAAAAAAA3pybwAAAAATAAAAAAAAAAI=",
|
|
156
220
|
"AAAABQAAAAAAAAAAAAAAC0RlbGVnYXRlU2V0AAAAAAEAAAAMZGVsZWdhdGVfc2V0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAABAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAAI=",
|
|
157
221
|
"AAAABQAAAAAAAAAAAAAAE0luYm91bmROb25jZVNraXBwZWQAAAAAAQAAABVpbmJvdW5kX25vbmNlX3NraXBwZWQAAAAAAAAEAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAI=",
|
|
158
222
|
"AAAABQAAAAAAAAAAAAAADlBhY2tldE5pbGlmaWVkAAAAAAABAAAAD3BhY2tldF9uaWxpZmllZAAAAAAFAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD6AAAA+4AAAAgAAAAAAAAAAI=",
|
|
@@ -179,17 +243,22 @@ export class Client extends ContractClient {
|
|
|
179
243
|
"AAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQ=",
|
|
180
244
|
"AAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAAT",
|
|
181
245
|
"AAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50",
|
|
182
|
-
"
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
"
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
246
|
+
"AAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQ==",
|
|
247
|
+
"AAAABAAAAB1Xb3JrZXJPcHRpb25zRXJyb3I6IDExMTAtMTExOQAAAAAAAAAAAAASV29ya2VyT3B0aW9uc0Vycm9yAAAAAAAJAAAAAAAAABJJbnZhbGlkQnl0ZXNMZW5ndGgAAAAABFYAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTEAAAAAAARXAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUyAAAAAAAEWAAAAAAAAAARSW52YWxpZE9wdGlvblR5cGUAAAAAAARZAAAAAAAAAA5JbnZhbGlkT3B0aW9ucwAAAAAEWgAAAAAAAAAPSW52YWxpZFdvcmtlcklkAAAABFsAAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMUdhc092ZXJmbG93AAAAAAAEXAAAAAAAAAAgTGVnYWN5T3B0aW9uc1R5cGUyQW1vdW50T3ZlcmZsb3cAAARdAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTJHYXNPdmVyZmxvdwAAAAAABF4=",
|
|
248
|
+
"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
|
|
249
|
+
"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
|
|
250
|
+
"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
|
|
251
|
+
"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
|
|
252
|
+
"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
|
|
253
|
+
"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQa",
|
|
254
|
+
"AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
|
|
255
|
+
"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
|
|
256
|
+
"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
|
|
257
|
+
"AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
|
|
258
|
+
"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
|
|
259
|
+
"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
|
|
191
260
|
"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
|
|
192
|
-
"
|
|
261
|
+
"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
|
|
193
262
|
"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
|
|
194
263
|
"AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
|
|
195
264
|
"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
|
|
@@ -223,13 +292,17 @@ export class Client extends ContractClient {
|
|
|
223
292
|
version: (this.txFromJSON),
|
|
224
293
|
message_lib_type: (this.txFromJSON),
|
|
225
294
|
endpoint: (this.txFromJSON),
|
|
226
|
-
|
|
295
|
+
authorizer: (this.txFromJSON),
|
|
227
296
|
set_ttl_configs: (this.txFromJSON),
|
|
228
297
|
ttl_configs: (this.txFromJSON),
|
|
229
298
|
freeze_ttl_configs: (this.txFromJSON),
|
|
230
299
|
is_ttl_configs_frozen: (this.txFromJSON),
|
|
300
|
+
extend_instance_ttl: (this.txFromJSON),
|
|
231
301
|
owner: (this.txFromJSON),
|
|
302
|
+
pending_owner: (this.txFromJSON),
|
|
232
303
|
transfer_ownership: (this.txFromJSON),
|
|
304
|
+
propose_ownership_transfer: (this.txFromJSON),
|
|
305
|
+
accept_ownership: (this.txFromJSON),
|
|
233
306
|
renounce_ownership: (this.txFromJSON)
|
|
234
307
|
};
|
|
235
308
|
}
|
|
@@ -4,13 +4,28 @@ export * from '@stellar/stellar-sdk';
|
|
|
4
4
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
5
5
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
6
6
|
export type MigrationData = void;
|
|
7
|
+
/**
|
|
8
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
9
|
+
* Size: 1597 bytes (1.56 KB)
|
|
10
|
+
*/
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABHAVgAX4BfmACfn4BfmADfn5+AX5gA35+fgBgAAACEwMBYgE4AAABdgFnAAEBZAFfAAIDBQQCAwQEBQMBABAGIQR/AUGAgMAAC38AQYCAwAALfwBBgIDAAAt/AEGAgMAACwc/BQZtZW1vcnkCABN1cGdyYWRlX2FuZF9taWdyYXRlAAMBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoUCBNIBAwF/AX4BfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCyABSDQAgARCAgICAAEKAgICAcINCgICAgIAEUg0AIAJC/wGDQssAUg0AIAMgATcDAEICIQRBASEFAkADQCAFRQ0BIAVBf2ohBSABIQQMAAsLIAMgBDcDCCAAQo7UqfPNresBIANBCGqtQiCGQgSEQoSAgIAQEIGAgIAAEISAgIAAIABCjtS58831ygEgAhCEgICAACADQRBqJICAgIAAQgIPCwALIQACQCAAIAEgAhCCgICAAEL/AYNCAlENABCGgICAAAALCwMAAAsJABCFgICAAAALCwkBAEGAgMAACwAA6wcOY29udHJhY3RzcGVjdjAAAAAAAAADWlVwZ3JhZGUgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1biBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uCgpUaGUgY2FsbGVyIG11c3QgYmUgYXV0aG9yaXplZCBhcyB0aGUgYXV0aG9yaXplciBvZiB0aGUgdGFyZ2V0IGNvbnRyYWN0LgpUaGlzIGlzIGVuZm9yY2VkIGJ5IHRoZSB0YXJnZXQgY29udHJhY3QncyBgI1tvbmx5X2F1dGhdYCBjaGVjay4KClRoaXMgaXMgdXNlZnVsIGZvciBhdG9taWMgdXBncmFkZXMgd2hlcmUgeW91IHdhbnQgdG8gZW5zdXJlIHRoZSBtaWdyYXRpb24KaGFwcGVucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdXBncmFkZSwgb3IgdGhlIGVudGlyZSBvcGVyYXRpb24gZmFpbHMuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gQSB2ZWN0b3Igb2YgdmFsdWVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClRoZSB0eXBlcyBvZiB0aGVzZSB2YWx1ZXMgZGVwZW5kIG9uIHRoZSB0YXJnZXQgY29udHJhY3QncyBNaWdyYXRpb25EYXRhIHR5cGUuCgojIEV4YW1wbGUKYGBgaWdub3JlCi8vIEZvciBhIGNvbnRyYWN0IHdpdGggTWlncmF0aW9uRGF0YSA9ICh1MzIsIGJvb2wpCmxldCBtaWdyYXRpb25fZGF0YSA9IHZlYyFbCiZlbnYsCjQydTMyLmludG9fdmFsKCZlbnYpLAp0cnVlLmludG9fdmFsKCZlbnYpLApdOwp1cGdyYWRlci51cGdyYWRlX2FuZF9taWdyYXRlKCZjb250cmFjdF9hZGRyLCAmd2FzbV9oYXNoLCBtaWdyYXRpb25fZGF0YSk7CmBgYAAAAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAD6gAAAAAAAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
|
|
12
|
+
/**
|
|
13
|
+
* Pre-computed WASM hash (SHA-256)
|
|
14
|
+
* Use this when the WASM is already uploaded on-chain
|
|
15
|
+
*/
|
|
16
|
+
export declare const WASM_HASH = "250cba854264d9d437c960e9f8ed838dbf39876947b4fb84c5a209a39b794da6";
|
|
17
|
+
/**
|
|
18
|
+
* Get the WASM bytecode as a Buffer
|
|
19
|
+
* Use this to upload the WASM to the network
|
|
20
|
+
*/
|
|
21
|
+
export declare function getWasmBuffer(): Buffer;
|
|
7
22
|
export interface Client {
|
|
8
23
|
/**
|
|
9
24
|
* Construct and simulate a upgrade_and_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.
|
|
10
25
|
* Upgrade a target contract and run its migration in a single transaction
|
|
11
26
|
*
|
|
12
|
-
* The caller must be authorized as the
|
|
13
|
-
* This is enforced by the target contract's `#[
|
|
27
|
+
* The caller must be authorized as the authorizer of the target contract.
|
|
28
|
+
* This is enforced by the target contract's `#[only_auth]` check.
|
|
14
29
|
*
|
|
15
30
|
* This is useful for atomic upgrades where you want to ensure the migration
|
|
16
31
|
* happens immediately after the upgrade, or the entire operation fails.
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
import { Buffer } from "buffer";
|
|
1
2
|
import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
|
|
2
3
|
export * from '@stellar/stellar-sdk';
|
|
3
4
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
4
5
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
6
|
+
/**
|
|
7
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
8
|
+
* Size: 1597 bytes (1.56 KB)
|
|
9
|
+
*/
|
|
10
|
+
export const WASM_BASE64 = "AGFzbQEAAAABHAVgAX4BfmACfn4BfmADfn5+AX5gA35+fgBgAAACEwMBYgE4AAABdgFnAAEBZAFfAAIDBQQCAwQEBQMBABAGIQR/AUGAgMAAC38AQYCAwAALfwBBgIDAAAt/AEGAgMAACwc/BQZtZW1vcnkCABN1cGdyYWRlX2FuZF9taWdyYXRlAAMBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoUCBNIBAwF/AX4BfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCyABSDQAgARCAgICAAEKAgICAcINCgICAgIAEUg0AIAJC/wGDQssAUg0AIAMgATcDAEICIQRBASEFAkADQCAFRQ0BIAVBf2ohBSABIQQMAAsLIAMgBDcDCCAAQo7UqfPNresBIANBCGqtQiCGQgSEQoSAgIAQEIGAgIAAEISAgIAAIABCjtS58831ygEgAhCEgICAACADQRBqJICAgIAAQgIPCwALIQACQCAAIAEgAhCCgICAAEL/AYNCAlENABCGgICAAAALCwMAAAsJABCFgICAAAALCwkBAEGAgMAACwAA6wcOY29udHJhY3RzcGVjdjAAAAAAAAADWlVwZ3JhZGUgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1biBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uCgpUaGUgY2FsbGVyIG11c3QgYmUgYXV0aG9yaXplZCBhcyB0aGUgYXV0aG9yaXplciBvZiB0aGUgdGFyZ2V0IGNvbnRyYWN0LgpUaGlzIGlzIGVuZm9yY2VkIGJ5IHRoZSB0YXJnZXQgY29udHJhY3QncyBgI1tvbmx5X2F1dGhdYCBjaGVjay4KClRoaXMgaXMgdXNlZnVsIGZvciBhdG9taWMgdXBncmFkZXMgd2hlcmUgeW91IHdhbnQgdG8gZW5zdXJlIHRoZSBtaWdyYXRpb24KaGFwcGVucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdXBncmFkZSwgb3IgdGhlIGVudGlyZSBvcGVyYXRpb24gZmFpbHMuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gQSB2ZWN0b3Igb2YgdmFsdWVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClRoZSB0eXBlcyBvZiB0aGVzZSB2YWx1ZXMgZGVwZW5kIG9uIHRoZSB0YXJnZXQgY29udHJhY3QncyBNaWdyYXRpb25EYXRhIHR5cGUuCgojIEV4YW1wbGUKYGBgaWdub3JlCi8vIEZvciBhIGNvbnRyYWN0IHdpdGggTWlncmF0aW9uRGF0YSA9ICh1MzIsIGJvb2wpCmxldCBtaWdyYXRpb25fZGF0YSA9IHZlYyFbCiZlbnYsCjQydTMyLmludG9fdmFsKCZlbnYpLAp0cnVlLmludG9fdmFsKCZlbnYpLApdOwp1cGdyYWRlci51cGdyYWRlX2FuZF9taWdyYXRlKCZjb250cmFjdF9hZGRyLCAmd2FzbV9oYXNoLCBtaWdyYXRpb25fZGF0YSk7CmBgYAAAAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAD6gAAAAAAAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
|
|
11
|
+
/**
|
|
12
|
+
* Pre-computed WASM hash (SHA-256)
|
|
13
|
+
* Use this when the WASM is already uploaded on-chain
|
|
14
|
+
*/
|
|
15
|
+
export const WASM_HASH = "250cba854264d9d437c960e9f8ed838dbf39876947b4fb84c5a209a39b794da6";
|
|
16
|
+
/**
|
|
17
|
+
* Get the WASM bytecode as a Buffer
|
|
18
|
+
* Use this to upload the WASM to the network
|
|
19
|
+
*/
|
|
20
|
+
export function getWasmBuffer() {
|
|
21
|
+
return Buffer.from(WASM_BASE64, 'base64');
|
|
22
|
+
}
|
|
5
23
|
export class Client extends ContractClient {
|
|
6
24
|
options;
|
|
7
25
|
static async deploy(
|
|
@@ -10,7 +28,7 @@ export class Client extends ContractClient {
|
|
|
10
28
|
return ContractClient.deploy(null, options);
|
|
11
29
|
}
|
|
12
30
|
constructor(options) {
|
|
13
|
-
super(new ContractSpec(["
|
|
31
|
+
super(new ContractSpec(["AAAAAAAAA1pVcGdyYWRlIGEgdGFyZ2V0IGNvbnRyYWN0IGFuZCBydW4gaXRzIG1pZ3JhdGlvbiBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbgoKVGhlIGNhbGxlciBtdXN0IGJlIGF1dGhvcml6ZWQgYXMgdGhlIGF1dGhvcml6ZXIgb2YgdGhlIHRhcmdldCBjb250cmFjdC4KVGhpcyBpcyBlbmZvcmNlZCBieSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgYCNbb25seV9hdXRoXWAgY2hlY2suCgpUaGlzIGlzIHVzZWZ1bCBmb3IgYXRvbWljIHVwZ3JhZGVzIHdoZXJlIHlvdSB3YW50IHRvIGVuc3VyZSB0aGUgbWlncmF0aW9uCmhhcHBlbnMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHVwZ3JhZGUsIG9yIHRoZSBlbnRpcmUgb3BlcmF0aW9uIGZhaWxzLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlCiogYG1pZ3JhdGlvbl9kYXRhYCAtIEEgdmVjdG9yIG9mIHZhbHVlcyB0byBwYXNzIHRvIHRoZSBtaWdyYXRlIGZ1bmN0aW9uLgpUaGUgdHlwZXMgb2YgdGhlc2UgdmFsdWVzIGRlcGVuZCBvbiB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgTWlncmF0aW9uRGF0YSB0eXBlLgoKIyBFeGFtcGxlCmBgYGlnbm9yZQovLyBGb3IgYSBjb250cmFjdCB3aXRoIE1pZ3JhdGlvbkRhdGEgPSAodTMyLCBib29sKQpsZXQgbWlncmF0aW9uX2RhdGEgPSB2ZWMhWwomZW52LAo0MnUzMi5pbnRvX3ZhbCgmZW52KSwKdHJ1ZS5pbnRvX3ZhbCgmZW52KSwKXTsKdXBncmFkZXIudXBncmFkZV9hbmRfbWlncmF0ZSgmY29udHJhY3RfYWRkciwgJndhc21faGFzaCwgbWlncmF0aW9uX2RhdGEpOwpgYGAAAAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAA+oAAAAAAAAAAA=="]), options);
|
|
14
32
|
this.options = options;
|
|
15
33
|
}
|
|
16
34
|
fromJSON = {
|
package/sdk/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * as bml from './generated/bml.js';
|
|
|
2
2
|
export * as counter from './generated/counter.js';
|
|
3
3
|
export * as endpoint from './generated/endpoint.js';
|
|
4
4
|
export * as sml from './generated/sml.js';
|
|
5
|
+
export * as treasury from './generated/treasury.js';
|
|
5
6
|
export * as uln302 from './generated/uln302.js';
|
|
6
7
|
export * as upgrader from './generated/upgrader.js';
|
|
7
8
|
export * as dvn from './generated/dvn.js';
|
|
@@ -10,4 +11,4 @@ export * as executor from './generated/executor.js';
|
|
|
10
11
|
export * as executorFeeLib from './generated/executor_fee_lib.js';
|
|
11
12
|
export * as executorHelper from './generated/executor_helper.js';
|
|
12
13
|
export * as priceFeed from './generated/price_feed.js';
|
|
13
|
-
export * as
|
|
14
|
+
export * as oft from './generated/oft.js';
|
package/sdk/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * as bml from './generated/bml.js';
|
|
|
3
3
|
export * as counter from './generated/counter.js';
|
|
4
4
|
export * as endpoint from './generated/endpoint.js';
|
|
5
5
|
export * as sml from './generated/sml.js';
|
|
6
|
+
export * as treasury from './generated/treasury.js';
|
|
6
7
|
export * as uln302 from './generated/uln302.js';
|
|
7
8
|
export * as upgrader from './generated/upgrader.js';
|
|
8
9
|
// Worker contracts
|
|
@@ -13,4 +14,4 @@ export * as executorFeeLib from './generated/executor_fee_lib.js';
|
|
|
13
14
|
export * as executorHelper from './generated/executor_helper.js';
|
|
14
15
|
export * as priceFeed from './generated/price_feed.js';
|
|
15
16
|
// OApp contracts
|
|
16
|
-
export * as
|
|
17
|
+
export * as oft from './generated/oft.js';
|
package/sdk/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/lz-v2-stellar-sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "TypeScript SDK for endpoint-v2 Stellar contract",
|
|
6
6
|
"repository": {
|
|
@@ -14,16 +14,18 @@
|
|
|
14
14
|
"types": "dist/index.d.ts",
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
17
|
-
"test
|
|
17
|
+
"test": "vitest --run --pass-with-no-tests --typecheck"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"@layerzerolabs/protocol-stellar-v2": "workspace:*",
|
|
21
|
+
"@noble/hashes": "catalog:",
|
|
22
|
+
"@noble/secp256k1": "catalog:",
|
|
20
23
|
"@stellar/stellar-sdk": "catalog:",
|
|
21
24
|
"buffer": "catalog:"
|
|
22
25
|
},
|
|
23
26
|
"devDependencies": {
|
|
24
27
|
"@layerzerolabs/common-node-utils": "workspace:*",
|
|
25
28
|
"@layerzerolabs/lz-v2-utilities": "catalog:",
|
|
26
|
-
"@layerzerolabs/protocol-stellar-v2": "workspace:*",
|
|
27
29
|
"@layerzerolabs/tsup-configuration": "workspace:*",
|
|
28
30
|
"@layerzerolabs/typescript-configuration": "workspace:*",
|
|
29
31
|
"axios": "catalog:",
|
|
@@ -36,6 +38,7 @@
|
|
|
36
38
|
"registry": "https://registry.npmjs.org/"
|
|
37
39
|
},
|
|
38
40
|
"implicitDependencies": {
|
|
41
|
+
"@layerzerolabs/protocol-stellar-v2": "workspace:*",
|
|
39
42
|
"buffer": "catalog:"
|
|
40
43
|
}
|
|
41
44
|
}
|
package/sdk/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * as bml from './generated/bml.js';
|
|
|
3
3
|
export * as counter from './generated/counter.js';
|
|
4
4
|
export * as endpoint from './generated/endpoint.js';
|
|
5
5
|
export * as sml from './generated/sml.js';
|
|
6
|
+
export * as treasury from './generated/treasury.js';
|
|
6
7
|
export * as uln302 from './generated/uln302.js';
|
|
7
8
|
export * as upgrader from './generated/upgrader.js';
|
|
8
9
|
|
|
@@ -15,4 +16,4 @@ export * as executorHelper from './generated/executor_helper.js';
|
|
|
15
16
|
export * as priceFeed from './generated/price_feed.js';
|
|
16
17
|
|
|
17
18
|
// OApp contracts
|
|
18
|
-
export * as
|
|
19
|
+
export * as oft from './generated/oft.js';
|