@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.
Files changed (262) hide show
  1. package/.turbo/turbo-build.log +365 -297
  2. package/.turbo/turbo-lint.log +142 -110
  3. package/.turbo/turbo-test.log +1273 -1222
  4. package/Cargo.lock +20 -5
  5. package/Cargo.toml +4 -1
  6. package/contracts/ERROR_SPEC.md +44 -0
  7. package/contracts/common-macros/src/auth.rs +113 -0
  8. package/contracts/common-macros/src/contract_ttl.rs +84 -0
  9. package/contracts/common-macros/src/lib.rs +181 -30
  10. package/contracts/common-macros/src/lz_contract.rs +83 -0
  11. package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
  12. package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
  13. package/contracts/common-macros/src/tests/mod.rs +2 -2
  14. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
  16. 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
  17. 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
  18. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
  21. package/contracts/common-macros/src/ttl_configurable.rs +19 -34
  22. package/contracts/common-macros/src/ttl_extendable.rs +36 -0
  23. package/contracts/common-macros/src/upgradeable.rs +5 -5
  24. package/contracts/common-macros/src/utils.rs +9 -0
  25. package/contracts/endpoint-v2/src/constants.rs +4 -4
  26. package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
  27. package/contracts/endpoint-v2/src/errors.rs +4 -3
  28. package/contracts/endpoint-v2/src/events.rs +1 -1
  29. package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
  30. package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
  31. package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
  32. package/contracts/endpoint-v2/src/storage.rs +1 -1
  33. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
  34. package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
  35. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
  36. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
  37. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
  38. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
  39. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
  40. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
  41. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
  42. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
  43. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
  44. package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
  45. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
  46. package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
  47. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
  48. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
  49. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
  50. package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
  51. package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
  52. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
  53. package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
  54. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
  55. package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
  56. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
  57. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
  58. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
  59. package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
  60. package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
  61. package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
  62. package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
  63. package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
  64. package/contracts/message-libs/treasury/src/errors.rs +2 -2
  65. package/contracts/message-libs/treasury/src/events.rs +1 -1
  66. package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
  67. package/contracts/message-libs/treasury/src/storage.rs +1 -1
  68. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
  69. package/contracts/message-libs/treasury/src/treasury.rs +14 -16
  70. package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
  71. package/contracts/message-libs/uln-302/src/send_uln.rs +24 -4
  72. package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
  73. package/contracts/oapps/counter/Cargo.toml +14 -1
  74. package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
  75. package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
  76. package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
  77. package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
  78. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
  79. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
  80. package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
  81. package/contracts/oapps/counter/src/counter.rs +67 -43
  82. package/contracts/oapps/counter/src/tests/mod.rs +0 -13
  83. package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
  84. package/contracts/oapps/oapp/src/errors.rs +5 -1
  85. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
  86. package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
  87. package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
  88. package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
  89. package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
  90. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
  91. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
  92. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
  93. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
  94. package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
  95. package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
  96. package/contracts/oapps/oft/Cargo.toml +10 -7
  97. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
  98. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
  99. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
  100. package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
  101. package/contracts/oapps/oft/integration-tests/setup.rs +29 -110
  102. package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
  103. package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -14
  104. package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
  105. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
  106. package/contracts/oapps/oft/src/lib.rs +11 -13
  107. package/contracts/oapps/oft/src/oft.rs +147 -225
  108. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -13
  109. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +31 -14
  110. package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
  111. package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
  112. package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
  113. package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +129 -30
  114. package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
  115. package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
  116. package/contracts/oapps/oft-core/src/errors.rs +13 -0
  117. package/contracts/oapps/oft-core/src/lib.rs +18 -0
  118. package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
  119. package/contracts/oapps/{oft → oft-core}/src/storage.rs +2 -0
  120. package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
  121. package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +2 -2
  122. package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
  123. package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -5
  124. package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
  125. package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +78 -37
  126. package/contracts/oapps/oft-core/src/types.rs +58 -0
  127. package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
  128. package/contracts/upgrader/src/lib.rs +4 -4
  129. package/contracts/utils/src/auth.rs +44 -0
  130. package/contracts/utils/src/errors.rs +31 -5
  131. package/contracts/utils/src/lib.rs +3 -0
  132. package/contracts/utils/src/multisig.rs +211 -0
  133. package/contracts/utils/src/ownable.rs +137 -13
  134. package/contracts/utils/src/tests/buffer_reader.rs +6 -6
  135. package/contracts/utils/src/tests/buffer_writer.rs +6 -6
  136. package/contracts/utils/src/tests/bytes_ext.rs +2 -4
  137. package/contracts/utils/src/tests/mod.rs +1 -0
  138. package/contracts/utils/src/tests/multisig.rs +731 -0
  139. package/contracts/utils/src/tests/option_ext.rs +2 -5
  140. package/contracts/utils/src/tests/ownable.rs +456 -7
  141. package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
  142. package/contracts/utils/src/tests/upgradeable.rs +4 -2
  143. package/contracts/utils/src/ttl_configurable.rs +23 -8
  144. package/contracts/utils/src/ttl_extendable.rs +27 -0
  145. package/contracts/utils/src/upgradeable.rs +2 -0
  146. package/contracts/workers/dvn/Cargo.toml +1 -1
  147. package/contracts/workers/dvn/src/auth.rs +7 -7
  148. package/contracts/workers/dvn/src/dvn.rs +10 -38
  149. package/contracts/workers/dvn/src/errors.rs +0 -7
  150. package/contracts/workers/dvn/src/events.rs +1 -14
  151. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  152. package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
  153. package/contracts/workers/dvn/src/storage.rs +3 -13
  154. package/contracts/workers/dvn/src/tests/auth.rs +4 -4
  155. package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
  156. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
  157. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
  158. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
  159. package/contracts/workers/dvn/src/tests/setup.rs +5 -5
  160. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  161. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
  162. package/contracts/workers/executor/src/auth.rs +80 -16
  163. package/contracts/workers/executor/src/executor.rs +5 -31
  164. package/contracts/workers/executor/src/storage.rs +2 -9
  165. package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
  166. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
  167. package/contracts/workers/executor-helper/Cargo.toml +1 -1
  168. package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
  169. package/contracts/workers/price-feed/Cargo.toml +1 -1
  170. package/contracts/workers/price-feed/src/price_feed.rs +7 -10
  171. package/contracts/workers/worker/src/errors.rs +4 -0
  172. package/contracts/workers/worker/src/tests/worker.rs +7 -6
  173. package/contracts/workers/worker/src/worker.rs +20 -16
  174. package/package.json +7 -5
  175. package/sdk/.turbo/turbo-build.log +1 -0
  176. package/sdk/.turbo/turbo-test.log +1019 -0
  177. package/sdk/dist/generated/bml.d.ts +95 -8
  178. package/sdk/dist/generated/bml.js +95 -36
  179. package/sdk/dist/generated/counter.d.ts +289 -44
  180. package/sdk/dist/generated/counter.js +119 -49
  181. package/sdk/dist/generated/dvn.d.ts +312 -229
  182. package/sdk/dist/generated/dvn.js +144 -83
  183. package/sdk/dist/generated/dvn_fee_lib.d.ts +258 -63
  184. package/sdk/dist/generated/dvn_fee_lib.js +95 -26
  185. package/sdk/dist/generated/endpoint.d.ts +219 -24
  186. package/sdk/dist/generated/endpoint.js +108 -41
  187. package/sdk/dist/generated/executor.d.ts +239 -87
  188. package/sdk/dist/generated/executor.js +135 -63
  189. package/sdk/dist/generated/executor_fee_lib.d.ts +278 -74
  190. package/sdk/dist/generated/executor_fee_lib.js +135 -59
  191. package/sdk/dist/generated/executor_helper.d.ts +163 -21
  192. package/sdk/dist/generated/executor_helper.js +124 -52
  193. package/sdk/dist/generated/oft.d.ts +1842 -0
  194. package/sdk/dist/generated/oft.js +345 -0
  195. package/sdk/dist/generated/price_feed.d.ts +258 -63
  196. package/sdk/dist/generated/price_feed.js +95 -26
  197. package/sdk/dist/generated/sml.d.ts +235 -34
  198. package/sdk/dist/generated/sml.js +126 -53
  199. package/sdk/dist/generated/treasury.d.ts +1016 -0
  200. package/sdk/dist/generated/treasury.js +248 -0
  201. package/sdk/dist/generated/uln302.d.ts +235 -34
  202. package/sdk/dist/generated/uln302.js +126 -53
  203. package/sdk/dist/generated/upgrader.d.ts +17 -2
  204. package/sdk/dist/generated/upgrader.js +19 -1
  205. package/sdk/dist/index.d.ts +2 -1
  206. package/sdk/dist/index.js +2 -1
  207. package/sdk/package.json +6 -3
  208. package/sdk/src/index.ts +2 -1
  209. package/sdk/test/counter-sml.test.ts +376 -0
  210. package/sdk/test/counter-uln.test.ts +493 -0
  211. package/sdk/test/{oft.test.ts → oft-sml.test.ts} +196 -321
  212. package/sdk/test/suites/constants.ts +22 -2
  213. package/sdk/test/suites/globalSetup.ts +450 -0
  214. package/sdk/test/suites/localnet.ts +23 -6
  215. package/sdk/test/upgrader.test.ts +7 -16
  216. package/sdk/test/utils.ts +558 -85
  217. package/sdk/turbo.json +8 -0
  218. package/sdk/vitest.config.ts +21 -0
  219. package/tools/ts-bindings-gen/Cargo.toml +2 -0
  220. package/tools/ts-bindings-gen/src/main.rs +52 -4
  221. package/contracts/common-macros/src/contract_impl.rs +0 -52
  222. package/contracts/common-macros/src/ownable.rs +0 -41
  223. package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
  224. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
  225. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
  226. package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
  227. package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
  228. package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
  229. package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
  230. package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
  231. package/contracts/oapps/oapp-macros/src/util.rs +0 -107
  232. package/contracts/oapps/oft/src/constants.rs +0 -5
  233. package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
  234. package/contracts/oapps/oft/src/errors.rs +0 -8
  235. package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
  236. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  237. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
  238. package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -903
  239. package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -749
  240. package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -432
  241. package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1078
  242. package/contracts/oapps/oft/src/types.rs +0 -38
  243. package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
  244. package/contracts/oapps/oft-std/src/lib.rs +0 -16
  245. package/contracts/oapps/oft-std/src/oft.rs +0 -156
  246. package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
  247. package/contracts/workers/dvn/src/multisig.rs +0 -157
  248. package/sdk/dist/generated/oft_std.d.ts +0 -1544
  249. package/sdk/dist/generated/oft_std.js +0 -271
  250. package/sdk/test/index.test.ts +0 -375
  251. /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
  252. /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
  253. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
  254. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
  255. /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
  256. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
  257. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
  258. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
  259. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
  260. /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
  261. /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
  262. /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
@@ -5,6 +5,21 @@ export * from '@stellar/stellar-sdk';
5
5
  export * as contract from '@stellar/stellar-sdk/contract';
6
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
7
7
  export type MigrationData = void;
8
+ /**
9
+ * Embedded WASM bytecode (base64-encoded)
10
+ * Size: 58849 bytes (57.47 KB)
11
+ */
12
+ export declare const WASM_BASE64 = "AGFzbQEAAAABxgIwYAF+AX5gBH5+fn4BfmACfn4BfmADfn5+AX5gAAF+YAJ/fgBgBX5/f39/AGAFfn5+fn4AYAJ/fwF+YAN+fn4AYAN/f38AYAF/AX5gAn9/AGACfn4Bf2ABfwF/YAN/fn4AYAN/f34AYAR+fn5+AX9gAn9/AX9gAn9+AX9gBH5/fn4Bf2AAAGAAAX9gAX8AYAJ+fwBgAX4AYAR/f39/AX5gAn5/AX5gBH5+f34BfmAEfn5/fwF+YAN+f38AYAV/fn5+fgBgAX4Bf2AGf35/fn5+AGADfn5+AX9gBH5/fn4AYAV+f35+fgBgA39+fwBgBX5+fn9+AGAFfn5+fn4BfmAFf35+fn8AYAp+fn5+fn5+fn5+AX5gA35/fgF+YAZ+fn5+fn4BfmAFf35/fn4AYAN+f34Bf2AJfn5+fn5+fn5+AX5gAn5+AALxASgBaQFfAAABaQEwAAABbAE3AAEBbAExAAIBbAFfAAMBYQEwAAABdgExAAIBYgE0AAQBYgE4AAABYgFfAAABYgFmAAMBYwExAAABeAExAAIBdgFfAAQBZAFfAAMBdgEzAAABYgFtAAMBbAEyAAIBdgE2AAIBeAE3AAQBYgFlAAIBYgFpAAIBYQExAAABYgExAAEBdgFnAAIBaQE4AAABaQE3AAABaQE2AAIBYgFqAAIBYgEyAAEBYgEzAAIBbQE5AAMBbQFhAAEBeAEwAAIBeAE0AAQBeAEzAAQBeAE4AAQBbAEwAAIBbAE4AAIBeAE1AAADzgHMAQUFBQYFBQUFBwIICQoLDA0MDAwODw8FBQAFDxARDRISExQMFRYXDAsVBAQXGBUXGQsXCxoLCxsLCgUPDAwMAgsRGAwFHB0SBR4FExcIAhcfDyASIRUFBRkgGCIYGBYjFyQjFgwMDCUlHiYnKCcLKQEnKissKisDKgMDAwEAFgACDAMMBAIBBScBJQEAAAQCFQAAAAAMAiUCAiUDLQECAwQPFwETEycYLgACBAICBAQAABkDBAIFFgoLBAwEBAIEBAAvAhUPBAQVCgUKDAUDAQARBiEEfwFBgIDAAAt/AEGdi8AAC38AQbqNwAALfwBBwI3AAAsHnwlABm1lbW9yeQIADHNlbmRfY29tcG9zZQCSAQ1jbGVhcl9jb21wb3NlAJQBEGx6X2NvbXBvc2VfYWxlcnQAlgENY29tcG9zZV9xdWV1ZQCXAQRza2lwAJgBBm5pbGlmeQCaAQRidXJuAJ0BCW5leHRfZ3VpZACeAQ5vdXRib3VuZF9ub25jZQCgAQ1pbmJvdW5kX25vbmNlAKEBEmxhenlfaW5ib3VuZF9ub25jZQCiARRpbmJvdW5kX3BheWxvYWRfaGFzaACjARByZWdpc3Rlcl9saWJyYXJ5AKQBGHNldF9kZWZhdWx0X3NlbmRfbGlicmFyeQCnARtzZXRfZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnkAqQEfc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dACsARBzZXRfc2VuZF9saWJyYXJ5AK0BE3NldF9yZWNlaXZlX2xpYnJhcnkArwEbc2V0X3JlY2VpdmVfbGlicmFyeV90aW1lb3V0ALABCnNldF9jb25maWcAsgEVaXNfcmVnaXN0ZXJlZF9saWJyYXJ5ALMBEWdldF9saWJyYXJ5X2luZGV4ALQBGnJlZ2lzdGVyZWRfbGlicmFyaWVzX2NvdW50ALUBGGdldF9yZWdpc3RlcmVkX2xpYnJhcmllcwC2ARBpc19zdXBwb3J0ZWRfZWlkALgBFGRlZmF1bHRfc2VuZF9saWJyYXJ5ALkBF2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5ALoBH2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAuwEQZ2V0X3NlbmRfbGlicmFyeQC9ARNnZXRfcmVjZWl2ZV9saWJyYXJ5AL8BF3JlY2VpdmVfbGlicmFyeV90aW1lb3V0AMABGGlzX3ZhbGlkX3JlY2VpdmVfbGlicmFyeQDCAQpnZXRfY29uZmlnAMQBBXF1b3RlAMUBBHNlbmQAxgEGdmVyaWZ5AMoBBWNsZWFyAM0BEGx6X3JlY2VpdmVfYWxlcnQAzwEHc2V0X3pybwDQAQxzZXRfZGVsZWdhdGUA0QEDZWlkANIBDWluaXRpYWxpemFibGUA0wEKdmVyaWZpYWJsZQDUAQxuYXRpdmVfdG9rZW4A1QEDenJvANYBCGRlbGVnYXRlANcBDV9fY29uc3RydWN0b3IA2AENcmVjb3Zlcl90b2tlbgDaAQphdXRob3JpemVyANsBD3NldF90dGxfY29uZmlncwDcAQt0dGxfY29uZmlncwDhARJmcmVlemVfdHRsX2NvbmZpZ3MA4wEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAOQBE2V4dGVuZF9pbnN0YW5jZV90dGwA5QEFb3duZXIA5gENcGVuZGluZ19vd25lcgDnARJ0cmFuc2Zlcl9vd25lcnNoaXAA6AEacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIA6gEQYWNjZXB0X293bmVyc2hpcADtARJyZW5vdW5jZV9vd25lcnNoaXAA7gEBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCrL0AcwBdgEBfyOAgICAAEEgayICJICAgIAAAkACQCABQgJRDQAgAkEIaiABEKmAgIAAAkAgAigCCEUNACAAQgI3AwAMAgsgAikDECEBIAAgAikDGDcDECAAIAE3AwggAEIBNwMADAELIABCADcDAAsgAkEgaiSAgICAAAuxAQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHghsCAAEECIAJBAhCrgICAACACQRBqIAIpAwAQroCAgAAgAigCEA0AIAIpAwgiAUL/AYNCzQBSDQAgACACKQMYNwMQIAAgATcDCEIAIQQLIAAgBDcDACACQSBqJICAgIAAC5QCBAJ/An4BfwF+I4CAgIAAQcAAayICJICAgIAAQQAhAwJAA0AgA0EoRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQQIhAwJAIAFC/wGDQswAUg0AIAFBwITAgABBBSACQQhqQQUQq4CAgAAgAikDCCIBQv8Bg0IEUg0AIAIpAxAiBEL/AYNCyABSDQAgAikDGCIFQv8Bg0LIAFINAEECIQNBASACLQAgIgZBAEdBAXQgBkEBRhsiBkECRg0AIAJBMGogAikDKBCsgICAACACKAIwDQAgAikDOCEHIAAgAUIgiKc2AhggACAFNwMQIAAgBDcDCCAAIAc3AwAgBiEDCyAAIAM6ABwgAkHAAGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEKCAgIAAGgsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDxgICAAAviAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH8hMCAAEEDIAJBCGpBAxCrgICAACACQSBqIAIpAwgQroCAgAAgAigCIA0AIAIpAyghASACQSBqIAIpAxAQrICAgAAgAigCIA0AIAIpAxgiBUL/AYNCBFINACACKQMoIQQgACABNwMQIAAgBDcDCCAAIAVCIIg+AhhCACEECyAAIAQ3AwAgAkEwaiSAgICAAAtdAgF/AX4CQAJAIAGnQf8BcSICQcAARg0AAkAgAkEGRg0AQgEhA0KDkICAgAEhAQwCCyABQgiIIQFCACEDDAELQgAhAyABEIGAgIAAIQELIAAgAzcDACAAIAE3AwgLOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEICAgIAAIQELIABCADcDACAAIAE3AwgLsQEBAn8jgICAgABBMGsiBSSAgICAACAFIAMgBBCxgICAADcDECAFIAI3AwggBSABNwMAQQAhBgNAAkAgBkEYRw0AQQAhBgJAA0AgBkEYRg0BIAVBGGogBmogBSAGaikDADcDACAGQQhqIQYMAAsLIABCju7qlb623vMAIAVBGGpBAxCygICAABCzgICAACAFQTBqJICAgIAADwsgBUEYaiAGakICNwMAIAZBCGohBgwACwtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ+ICAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABCxoAIACtQiCGQgSEIAGtQiCGQgSEEJiAgIAACyEAAkAgACABIAIQjoCAgABC/wGDQgJRDQAQy4CAgAAACwslACAAELWAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQgoCAgAAaC8QJAgF/BH4jgICAgABBwABrIgEkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAODwABAgMEBQYHCAkKCwwNDgALIAFBCGpB3IjAgABBAxDggICAACABKAIIDREgAUEIaiABKQMQEOGAgIAADA8LIAFBCGpB34jAgABBCBDggICAACABKAIIDRAgAUEIaiABKQMQIAApAwgQ4oCAgAAMDgsgAUEwakHniMCAAEEQEOCAgIAAIAEoAjANDyABIAEpAzg3AwggASAAKQMQNwMgIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AxggAUEwaiABQQhqEOOAgIAADAwLIAFBMGpB94jAgABBEhDggICAACABKAIwDQ4gASkDOCECIAApAxAhAyAANQIEIQQgACkDCCEFIAFBMGogACkDGBCvgICAACABKAIwDQ4gASABKQM4NwMoIAEgAzcDICABIAU3AxAgASACNwMIIAEgBEIghkIEhDcDGCABQTBqIAFBCGoQ5ICAgAAMCwsgAUEwakGJicCAAEENEOCAgIAAIAEoAjANDSABIAEpAzg3AwggASAAKQMQNwMgIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AxggAUEwaiABQQhqEOOAgIAADAoLIAFBCGpBlonAgABBFhDggICAACABKAIIDQwgAUEIaiABKQMQEOGAgIAADAoLIAFBCGpBrInAgABBDhDggICAACABKAIIDQsgAUEIaiABKQMQIAApAwgQ4oCAgAAMCQsgAUEIakG6icCAAEEOEOCAgIAAIAEoAggNCiABQQhqIAEpAxAgADUCBEIghkIEhBDigICAAAwICyABQQhqQciJwIAAQRIQ4ICAgAAgASgCCA0JIAFBCGogASkDECAANQIEQiCGQgSEEOKAgIAADAcLIAFBCGpB2onAgABBFRDggICAACABKAIIDQggAUEIaiABKQMQIAA1AgRCIIZCBIQQ4oCAgAAMBgsgAUEIakHvicCAAEEcEOCAgIAAIAEoAggNByABQQhqIAEpAxAgADUCBEIghkIEhBDigICAAAwFCyABQTBqQYuKwIAAQQsQ4ICAgAAgASgCMA0GIAEgASkDODcDCCABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBMGogAUEIahDlgICAAAwDCyABQTBqQZaKwIAAQQ4Q4ICAgAAgASgCMA0FIAEgASkDODcDCCABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBMGogAUEIahDlgICAAAwCCyABQTBqQaSKwIAAQRUQ4ICAgAAgASgCMA0EIAEgASkDODcDCCABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBMGogAUEIahDlgICAAAwBCyABQTBqQbmKwIAAQQwQ4ICAgAAgASgCMA0DIAEgASkDODcDCCABIAApAxg3AyAgASAAKQMQNwMYIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AyggAUEwaiABQQhqEOSAgIAACyABKQM4IQMgASkDMCECDAELIAEpAxAhAyABKQMIIQILIAJQDQELAAsgAUHAAGokgICAgAAgAwtNAQJ+QgAhAgJAAkAgARC1gICAACIDQgEQt4CAgABFDQAgA0IBEIOAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDAA8LAAsPACAAIAEQpYCAgABCAVELdAIBfwJ+I4CAgIAAQRBrIgIkgICAgABCACEDAkACQCABELWAgIAAIgRCARC3gICAAEUNACACIARCARCDgICAABCsgICAACACKAIAQQFGDQEgACACKQMINwMIQgEhAwsgACADNwMAIAJBEGokgICAgAAPCwALdAIBfwJ+I4CAgIAAQRBrIgIkgICAgABCACEDAkACQCABELWAgIAAIgRCARC3gICAAEUNACACIARCARCDgICAABCugICAACACKAIAQQFGDQEgACACKQMINwMIQgEhAwsgACADNwMAIAJBEGokgICAgAAPCwALhQECAX8CfiOAgICAAEEgayICJICAgIAAQgAhAwJAAkAgARC1gICAACIEQgEQt4CAgABFDQAgAkEIaiAEQgEQg4CAgAAQqYCAgAAgAigCCEEBRg0BIAIpAxAhAyAAIAIpAxg3AxAgACADNwMIQgEhAwsgACADNwMAIAJBIGokgICAgAAPCwALEgAgABC1gICAAEIBELeAgIAAC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQtYCAgAAhBCADIAEgAhC9gICAAAJAIAMoAgBBAUcNAAALIAQgAykDCEIBEISAgIAAGiADQRBqJICAgIAAC28BAX8jgICAgABBEGsiAySAgICAACADIAIQr4CAgABCASECAkAgAygCAA0AIAMpAwghAiADIAE3AwggAyACNwMAIABB4IbAgABBAiADQQIQ24CAgAA3AwhCACECCyAAIAI3AwAgA0EQaiSAgICAAAsVACAAELWAgIAAIAFCARCEgICAABoLGwAgABC1gICAACABEMCAgIAAQgEQhICAgAAaC0EBAX8jgICAgABBEGsiASSAgICAACABIAAQr4CAgAACQCABKAIAQQFHDQAACyABKQMIIQAgAUEQaiSAgICAACAACw4AIAAgAUIBEMKAgIAACxUAIAAQtYCAgAAgASACEISAgIAAGgscACAAELWAgIAAIAGtQiCGQgSEIAIQhICAgAAaCzUBAX8gACAChKchBAJAIACnQQFxRQ0AIAKnQQFxRQ0AIAEgAxDFgICAAEEBcyEECyAEQQFxCw0AIAAgARChgICAAFALDwAgACABEMeAgIAAQQFzCxwAAkAgAA0AQQAPCyAAKQMAIAEpAwAQxYCAgAALJQAgACgCBCkDACAAKAIIKAIAIAAoAgwpAwAgARDJgICAAEEBcwt8AQF/I4CAgIAAQTBrIgQkgICAgAAgBCADNwMYIAQgAjcDECAEIAE2AgQgBCAANwMIIARBAzYCAAJAIAQQu4CAgAAiAUUNACAEQSRqEIeBgIAAIAQoAiRBAUcNACAEIAQoAiggBCgCLBC0gICAAAsgBEEwaiSAgICAACABC2cBAX4CQAJAAkAgASkDACICQgKFIAEpAwiEUEUNAEIAIQIMAQsgAqdBAXENASAAIAEpAxg3AxggACABKQMQNwMQIAAgASkDIDcDIEIBIQILIAAgAjcDACAAQgA3AwgPCxDLgICAAAALCQAQ74GAgAAAC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqEM2AgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDOgICAAAtBACEBAkBBABDPgICAACICQgIQt4CAgABFDQBBASEBAkACQCACQgIQg4CAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABCwwAIABBARDzgYCAAAsbACAArUIghkIEhCABrUIghkIEhBCmgICAABoLwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQaKNwIAAQQYQ4ICAgAAgASgCAA0DIAEgASkDCBDhgICAAAwCCyABQaiNwIAAQQgQ4ICAgAAgASgCAA0CIAEgASkDCBDhgICAAAwBCyABQbCNwIAAQQoQ4ICAgAAgASgCAA0BIAEgASkDCBDhgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AENGAgIAAEIWAgIAAGgtmAgF/AX4jgICAgABBEGsiACSAgICAACAAEM2AgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBDOgICAAAsgABDTgICAACAAKQMIIQEgACkDAEGKCBDUgICAACAAQRBqJICAgIAAIAELSgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDTgICAACAAKQMIIQEgACkDAEGKCBDUgICAACABEIWAgIAAGiAAQRBqJICAgIAAIAELUAEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQzYCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEM6AgIAACyAAENmAgIAAIAFBEGokgICAgAALKQACQCAAp0EBcUUNAA8LIAFB+ndqrUIghkKDgICA4IABfBDXgICAAAALQgEBfyOAgICAAEEQayIAJICAgIAAIAAQ1oCAgAACQCAAKQMAUA0AQoOAgICwgQEQ14CAgAAACyAAQRBqJICAgIAAC5MBAgF/An4jgICAgABBEGsiASSAgICAACABQQRqEM2AgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBDOgICAAAtCACECAkACQEEBENiAgIAAIgNCABC3gICAAEUNACADQgAQg4CAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMAIAFBEGokgICAgAAPCwALCwAgABCngICAABoLkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQbWMwIAAQQwQ4ICAgAAgASgCAA0CIAEgASkDCBDhgICAAAwBCyABQbCMwIAAQQUQ4ICAgAAgASgCAA0BIAEgASkDCBDhgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC00BAn5CACEBAkACQEEAENiAgIAAIgJCAhC3gICAAEUNACACQgIQg4CAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC7oBAgF/A34jgICAgABB0ABrIgEkgICAgAAgACkDICECIAApAxghAyAANQIsIQQgAUHAAGogACkDABCvgICAAAJAIAEoAkBBAUcNAAALIAEgASkDSDcDICABIAI3AxggASADNwMQIAEgACkDCDcDMCABIAApAxA3AyggASAEQiCGQgSENwMIIAEgADUCKEIghkIEhDcDOEGMh8CAAEEHIAFBCGpBBxDbgICAACECIAFB0ABqJICAgIAAIAILLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBCfgICAAAu/AQIBfwF+I4CAgIAAQdAAayIBJICAgIAAIAEgACkDIDcDICABIAApAxA3AxggASAAKQMINwMQIAEgACkDADcDCCABIAAoAhgpAwA3AwBBACEAA34CQCAAQShHDQBBACEAAkADQCAAQShGDQEgAUEoaiAAaiABIABqKQMANwMAIABBCGohAAwACwsgAUEoakEFELKAgIAAIQIgAUHQAGokgICAgAAgAg8LIAFBKGogAGpCAjcDACAAQQhqIQAMAAsLfQIBfwF+I4CAgIAAQTBrIgEkgICAgAAgAUEgaiAAKQMIEK+AgIAAAkAgASgCIEEBRw0AAAsgASABKQMoNwMIIAEgACkDADcDECABIAA1AhBCIIZCBIQ3AxhB/ITAgABBAyABQQhqQQMQ24CAgAAhAiABQTBqJICAgIAAIAILSQEBfyOAgICAAEEQayICJICAgIAAIAIgADcDCCACIAGtQv8BgzcDAEH8hsCAAEECIAJBAhDbgICAACEAIAJBEGokgICAgAAgAAtfAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAAKAIADQBCAiECDAELIAEgACkDCCAAKQMQEL2AgIAAIAEoAgBBAXENASABKQMIIQILIAFBEGokgICAgAAgAg8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDwgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQsoCAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECELKAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC2QCAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDGDcDGCACIAEpAxA3AxAgAiABKQMINwMIIAIgASkDADcDACACQQQQsoCAgAAhAyAAQgA3AwAgACADNwMIIAJBIGokgICAgAALcQIBfwF+I4CAgIAAQTBrIgIkgICAgAAgAiABKQMgNwMoIAIgASkDGDcDICACIAEpAxA3AxggAiABKQMINwMQIAIgASkDADcDCCACQQhqQQUQsoCAgAAhAyAAQgA3AwAgACADNwMIIAJBMGokgICAgAALXQIBfwF+I4CAgIAAQSBrIgIkgICAgAAgAiABKQMQNwMYIAIgASkDCDcDECACIAEpAwA3AwggAkEIakEDELKAgIAAIQMgAEIANwMAIAAgAzcDCCACQSBqJICAgIAACw0AIAFCAiAAp0EBcRsLqQECAX8BfiOAgICAAEEwayIBJICAgIAAIAEgACkDEDcDECABIAApAwA3AwggASAAKAIIKQMANwMAQQAhAAN+AkAgAEEYRw0AQQAhAAJAA0AgAEEYRg0BIAFBGGogAGogASAAaikDADcDACAAQQhqIQAMAAsLIAFBGGpBAxCygICAACECIAFBMGokgICAgAAgAg8LIAFBGGogAGpCAjcDACAAQQhqIQAMAAsLPgECfyACpyEEAkACQCAAp0EBcUUNAEEAIQUgBEEBcUUNASABIAMQxYCAgAAhBQwBCyAEQQFzIQULIAVBAXELJgACQCAAp0EBcUUNAA8LIAFBf2qtQiCGQoOAgIAQfBDXgICAAAALqwIEAn8BfgF/A34jgICAgABBMGsiAiSAgICAAAJAAkAgASgCCCIDIAEoAgxJDQAgAEIANwMIIABCAjcDAAwBCyABKQMAIAOtQiCGQgSEEIaAgIAAIQRBACEFAkADQCAFQRBGDQEgAiAFakICNwMAIAVBCGohBQwACwtCASEGAkACQCAEQv8Bg0LMAFINACAEQcyHwIAAQQIgAkECEKuAgIAAIAJBEGogAikDABDrgICAACACKAIQQQFGDQAgAikDCCIHQv8Bg0LNAFKtIQYgAikDKCEIIAIpAyAhBAwBCwsCQCADQQFqIgVFDQAgACAENwMQIAAgBjcDACAAIAc3AyAgASAFNgIIIAAgCDcDGCAAQgA3AwgMAQsQy4CAgAAACyACQTBqJICAgIAAC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQmYCAgAAhAyABEJqAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMAC7MEAwF/AX4CfyOAgICAAEEgayIEJICAgIAAEIeAgIAAIQUgBCAAQjiGIABCgP4Dg0IohoQgAEKAgPwHg0IYhiAAQoCAgPgPg0IIhoSEIABCCIhCgICA+A+DIABCGIhCgID8B4OEIABCKIhCgP4DgyAAQjiIhISENwMQIAQgBSAFEIiAgIAAQoCAgIBwg0IEhCAEQRBqQQgQ7YCAgAA3AwggBEEIakHA7QEQ7oCAgAAhBiABEImAgIAAIQAgBEEQaiAAQoSAgIDAACAAEIiAgIAAQoCAgIBwg0IEhBCKgICAACIAQgRChICAgMAAEIqAgIAAEO+AgIAAAkAgBCgCEEEBRg0AIAQpAxghBSAEQQA2AhAgBSAEQRBqQQQQ8ICAgAACQCAEKAIQIgdB////B3ENAAJAAkACQCAHQRh2DgIAAQMLIARBEGogAEKEgICAwABChICAgIABEIqAgIAAEO+AgIAAIAQoAhBBAUYNAyAEKQMYIQUgBEEANgIQIAUgBEEQakEEEPCAgIAAIAQoAhANAiAEQRBqIABChICAgIABQoSAgICABRCKgICAABDxgICAACAEKAIQQQFHDQEMAwsgBEEQaiAAQoSAgIDAAEKEgICAwAQQioCAgAAQ8YCAgAAgBCgCEEEBRg0CCyAGIAQpAxgQ8oCAgAAgAhDugICAACADEPKAgIAAKQMAEIuAgIAAIQAgBEEgaiSAgICAACAADwtCg4CAgKD+ABDXgICAAAALAAseACAAIAEgAq1CIIZCBIQgA61CIIZCBIQQnYCAgAALdwIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiABQRh0IAFBgP4DcUEIdHIgAUEIdkGA/gNxIAFBGHZycjYCDCAAKQMAIQMgACADIAMQiICAgABCgICAgHCDQgSEIAJBDGpBBBDtgICAADcDACACQRBqJICAgIAAIAALNgEBfkIBIQICQCABEIiAgIAAQoCAgIBwg0KAgICAwABSDQAgACABNwMIQgAhAgsgACACNwMACx8AIABCBCABrUIghkIEhCACrUIghkIEhBCXgICAABoLNgEBfkIBIQICQCABEIiAgIAAQoCAgIBwg0KAgICAgARSDQAgACABNwMIQgAhAgsgACACNwMAC8ABAQR/I4CAgIAAQcAAayICJICAgIAAIAJBIGpBGGoiA0IANwMAIAJBIGpBEGoiBEIANwMAIAJBIGpBCGoiBUIANwMAIAJCADcDICABIAJBIGoQzoGAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCIgICAAEKAgICAcINCBIQgAkEgEO2AgIAANwMAIAJBwABqJICAgIAAIAALbgIBfwF+I4CAgIAAQRBrIgEkgICAgABB/4LAgABBHxD0gICAACAANQIYQiCGQgSEEPWAgIAAIQIgASAAEN+AgIAANwMIIAJBqIPAgABBASABQQhqQQEQ24CAgAAQjICAgAAaIAFBEGokgICAgAALRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ8IGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC5QBAQJ/I4CAgIAAQSBrIgIkgICAgAAgAiABNwMIIAIgADcDAEEAIQMDfgJAIANBEEcNAEEAIQMCQANAIANBEEYNASACQRBqIANqIAIgA2opAwA3AwAgA0EIaiEDDAALCyACQRBqQQIQsoCAgAAhASACQSBqJICAgIAAIAEPCyACQRBqIANqQgI3AwAgA0EIaiEDDAALC4sBAgF/AX4jgICAgABBIGsiASSAgICAACABQdODwIAAQRsQ9ICAgAA3AxggASAAKQMYNwMAIAEgADUCIEIghkIEhDcDECABIAFBGGo2AgggARDngICAACECIAEgABDfgICAADcDACACQaiDwIAAQQEgAUEBENuAgIAAEIyAgIAAGiABQSBqJICAgIAAC4cBAQF/I4CAgIAAQRBrIgUkgICAgAAgBSABIAIQ+ICAgABCASECAkAgBSgCAA0AIAUpAwghASAFIAMgBBD4gICAACAFKAIADQAgBSAFKQMINwMIIAUgATcDACAAQaiFwIAAQQIgBUECENuAgIAANwMIQgAhAgsgACACNwMAIAVBEGokgICAgAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQm4CAgAAhAQsgAEIANwMAIAAgATcDCAvRAQIBfgF/AkAgAEHEhsCAAEEQEPSAgIAAEI2AgIAAEI6AgIAAIgBC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AAuhAQEBfyOAgICAAEEwayICJICAgIAAAkACQCABKAIAQQFHDQAgAkEKNgIQIAIgADYCFCACQRBqIAEpAwggASkDEBC8gICAACACQQRqEIeBgIAAIAIoAgRBAUcNASACQRBqIAIoAgggAigCDBC0gICAAAwBCyACQQo2AhAgAiAANgIUIAJBEGoQtYCAgABCARCRgICAABoLIAJBMGokgICAgAALbwEBfyOAgICAAEEwayIDJICAgIAAIAMgAjYCBCADIAE3AwggA0ELNgIAIAAgAxC2gICAAAJAIAApAwBQDQAgA0EkahCHgYCAACADKAIkRQ0AIAMgAygCKCADKAIsELSAgIAACyADQTBqJICAgIAAC28BAX8jgICAgABBMGsiAySAgICAACADIAI2AgQgAyABNwMIIANBDDYCACAAIAMQtoCAgAACQCAAKQMAUA0AIANBJGoQh4GAgAAgAygCJEUNACADIAMoAiggAygCLBC0gICAAAsgA0EwaiSAgICAAAuvAQEBfyOAgICAAEEwayIDJICAgIAAAkACQCACKAIAQQFHDQAgAyABNgIUIAMgADcDGCADQQ02AhAgA0EQaiACKQMIIAIpAxAQvICAgAAgA0EEahCHgYCAACADKAIEQQFHDQEgA0EQaiADKAIIIAMoAgwQtICAgAAMAQsgAyABNgIUIAMgADcDGCADQQ02AhAgA0EQahC1gICAAEIBEJGAgIAAGgsgA0EwaiSAgICAAAt3AQF/I4CAgIAAQTBrIgUkgICAgAAgBSACNwMYIAUgATcDECAFIAA3AwggBSADNgIEIAVBDjYCACAFIAQQvoCAgAAgBUEkahCHgYCAAAJAIAUoAiRBAUcNACAFIAUoAiggBSgCLBC0gICAAAsgBUEwaiSAgICAAAv/AgECfyOAgICAAEHAAGsiBSSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACAFQRBqIAIQrICAgAAgBSgCEEEBRg0AIANC/wGDQgRSDQAgBEL/AYNCyABSDQAgBSkDGCECIAVBEGoQzYCAgAACQCAFKAIQQQFHDQAgBSgCFCAFKAIYEM6AgIAACyAAEIWAgIAAGiADQoCAgICAgMAAWg0BIAUgACABIAIgA0IgiKciBhCTgYCAACAFKQMAUEUNAiAAIAEgAiAGIAQQi4CA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AygCCBDOgICAAAsgAyACNwMQIAMgATYCBCADIAA3AwggA0ECNgIAIANBIGogAxC5gICAAAJAIAMpAyAiAlANACADQTRqEIeBgIAAIAMoAjRBAUcNACADIAMoAjggAygCPBC0gICAAAsgAykDKCEAIANBwABqJICAgIAAIABCACACpxsL0QMBAn8jgICAgABB0ABrIgYkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgBiAANwMIIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgBkEgaiADEKyAgIAAIAYoAiBBAUYNACAGKQMoIQAgBkEgaiAEEK6AgIAAIAYoAiBBAUYNACAGKQMoIQMgBkEgaiAFEKyAgIAAIAYoAiBBAUYNACACQiCIpyEHIAYpAyghBCAGQSBqEM2AgIAAAkAgBigCIEEBRw0AIAYoAiQgBigCKBDOgICAAAsgBkEIaiABEP2AgIAAIAZBEGogASAHIAAgAxCbgYCAACAGKAIQQQFHDQEgBikDGCAEEMWAgIAARQ0BIAMgASAHIAAQnIGAgABWDQIgASAHIAAgAxCJgYCAACAGQZyCwIAAQQwQ9ICAgAA3A0ggBiADEMCAgIAANwNAIAYgATcDMCAGIAA3AyggBiACQoSAgIBwgzcDICAGIAZByABqNgI4IAZBIGoQ3ICAgAAhASAGIAQ3AyAgAUHggMCAAEEBIAZBIGpBARDbgICAABCMgICAABogBkHQAGokgICAgABCAg8LAAtCg4CAgMACENeAgIAAAAtCg4CAgLABENeAgIAAAAu8AQECfyOAgICAAEEQayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAMgAhCsgICAACADKAIAQQFGDQAgAUIgiKchBCADKQMIIQEgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAAgBCABEJ+BgIAAQgF8IgJCAFENARD8gICAACACIAAgBCABEOyAgIAAIQAgA0EQaiSAgICAACAADwsACxDLgICAAAALswEBAX8jgICAgABBwABrIgMkgICAgAAgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAMgAjcDECADIAE2AgQgAyAANwMIIANBBDYCACADQSBqIAMQuYCAgAACQCADKQMgIgJQDQAgA0E0ahCHgYCAACADKAI0QQFHDQAgAyADKAI4IAMoAjwQtICAgAALIAMpAyghACADQcAAaiSAgICAACAAQgAgAqcbC20BAX8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAyACEKyAgIAAIAMoAgBBAUYNACAAIAFCIIinIAMpAwgQn4GAgAAQwICAgAAhACADQRBqJICAgIAAIAAPCwALbQEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACADIAIQrICAgAAgAygCAEEBRg0AIAAgAUIgiKcgAykDCBCZgYCAABDAgICAACEAIANBEGokgICAgAAgAA8LAAttAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAMgAhCsgICAACADKAIAQQFGDQAgACABQiCIpyADKQMIEJyBgIAAEMCAgIAAIQAgA0EQaiSAgICAACAADwsAC5YBAQF/I4CAgIAAQRBrIgQkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAQgAhCsgICAACAEKAIAQQFGDQAgBCkDCCECIAQgAxCugICAACAEKAIAQQFGDQAgBCAAIAFCIIinIAIgBCkDCBCbgYCAACAEKQMAIAQpAwgQ5oCAgAAhACAEQRBqJICAgIAAIAAPCwALhQMCAn8BfiOAgICAAEEwayIBJICAgIAAAkACQAJAIABC/wGDQs0AUg0AENCAgIAAIAFBEGoQzYCAgAACQCABKAIQQQFHDQAgASgCFCABKAIYEM6AgIAACyAAEPmAgIAAGiAAEICBgIAADQEQpYGAgAAhAiABQQY2AhAgASAANwMYIAFBEGogAkIBEMOAgIAAIAFBBGoQh4GAgAACQCABKAIEQQFHDQAgAUEQaiABKAIIIAEoAgwQtICAgAALIAFBBzYCECABIAI2AhQgAUEQaiAAEMGAgIAAIAFBBGoQh4GAgAACQCABKAIEQQFHDQAgAUEQaiABKAIIIAEoAgwQtICAgAALIAJBAWoiAkUNAiABQQU2AhAgAUEQaiACQgIQw4CAgABBqILAgABBEhD0gICAABCmgYCAACEDIAEgADcDECADQcSCwIAAQQEgAUEQakEBENuAgIAAEIyAgIAAGiABQTBqJICAgIAAQgIPCwALQoOAgIAQENeAgIAAAAsQy4CAgAAAC1IBAn8jgICAgABBEGsiACSAgICAACAAQQRqEM2AgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDOgICAAAsQioGAgAAhASAAQRBqJICAgIAAIAELYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBELKAgIAAIQAgAUEQaiSAgICAACAAC9ACAQJ/I4CAgIAAQdAAayICJICAgIAAAkACQCAAQv8Bg0IEUg0AIAFC/wGDQs0AUg0AIABCIIinIQMgAiABNwMIENCAgIAAIAJBIGoQzYCAgAACQCACKAIgQQFHDQAgAigCJCACKAIoEM6AgIAACyABIAMQg4GAgAAgAkEQaiADEKiBgIAAIAJBEGpBCGpBACACKAIQGyACQQhqEMaAgIAARQ0BIAJBCDYCICACIAM2AiQgAkEgaiABEMGAgIAAIAJBxABqEIeBgIAAAkAgAigCREEBRw0AIAJBIGogAigCSCACKAJMELSAgIAAC0HMgsCAAEEYEPSAgIAAIABChICAgHCDEPWAgIAAIQAgAiABNwMgIABBxILAgABBASACQSBqQQEQ24CAgAAQjICAgAAaIAJB0ABqJICAgIAAQgIPCwALQoOAgIDQAhDXgICAAAALUgEBfyOAgICAAEEQayICJICAgIAAIAJBBGoQzYCAgAACQCACKAIEQQFHDQAgAigCCCACKAIMEM6AgIAACyAAIAEQi4GAgAAgAkEQaiSAgICAAAv1AwICfwF+I4CAgIAAQdAAayIDJICAgIAAAkACQAJAIABC/wGDQgRSDQAgAUL/AYNCzQBSDQAgAyABNwMAIANBMGogAhCugICAACADKAIwQQFGDQAgAEIgiKchBCADKQM4IQUQ0ICAgAAgA0EwahDNgICAAAJAIAMoAjBBAUcNACADKAI0IAMoAjgQzoCAgAALIAEgBBCEgYCAACADQQhqIAQQqoGAgAAgA0EQakEAIAMoAggbIAMQxoCAgABFDQEgA0EJNgIwIAMgBDYCNCADQTBqIAEQwYCAgAAgA0EYahCHgYCAAAJAIAMoAhhBAUcNACADQTBqIAMoAhwg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BAJAIAEQu4CAgAAiAkUNACABQSRqEIeBgIAAIAEoAiRBAUcNACABIAEoAiggASgCLBC0gICAAAsgAq0hAAwCCwALQgAhAAsgAUEwaiSAgICAACAAC1EBAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABIABCIIinEKiBgIAAIAEpAwAgASkDCBDmgICAACEAIAFBEGokgICAgAAgAAtRAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgASAAQiCIpxCqgYCAACABKQMAIAEpAwgQ5oCAgAAhACABQRBqJICAgIAAIAALTwEBfyOAgICAAEEgayIBJICAgIAAAkAgAEL/AYNCBFENAAALIAFBCGogAEIgiKcQvIGAgAAgAUEIahDfgICAACEAIAFBIGokgICAgAAgAAuPAQEBfyOAgICAAEEwayICJICAgIAAIAIQzYCAgAACQCACKAIAQQFHDQAgAigCBCACKAIIEM6AgIAACyACQQo2AgAgAiABNgIEIAAgAhC6gICAAAJAIAApAwBQDQAgAkEkahCHgYCAACACKAIkQQFHDQAgAiACKAIoIAIoAiwQtICAgAALIAJBMGokgICAgAALYAEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACIAAgAUIgiKcQvoGAgAAgAikDACACLQAIEN6AgIAAIQAgAkEQaiSAgICAACAADwsAC54BAQF/I4CAgIAAQRBrIgMkgICAgAAgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAMgASACEI6BgIAAAkACQCADKAIAQQFHDQAgAykDCCEBQQAhAgwBCyADIAIQi4GAgAAgAykDCCEBIAMpAwBBBRDpgICAAEEBIQILIAAgAjoACCAAIAE3AwAgA0EQaiSAgICAAAtgAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAIgACABQiCIpxCxgYCAACACKQMAIAItAAgQ3oCAgAAhACACQRBqJICAgIAAIAAPCwALXgEBfyOAgICAAEEgayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQhqIAAgAUIgiKcQwYGAgAAgAkEIahDfgICAACEAIAJBIGokgICAgAAgAA8LAAuWAQEBfyOAgICAAEEwayIDJICAgIAAIAMQzYCAgAACQCADKAIAQQFHDQAgAygCBCADKAIIEM6AgIAACyADIAI2AgQgAyABNwMIIANBDTYCACAAIAMQuoCAgAACQCAAKQMAUA0AIANBJGoQh4GAgAAgAygCJEEBRw0AIAMgAygCKCADKAIsELSAgIAACyADQTBqJICAgIAACzsAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQv8Bg0LNAFINACAAIAFCIIinIAIQw4GAgACtDwsAC9IBAQN/I4CAgIAAQSBrIgMkgICAgAAgA0EIahDNgICAAEEBIQQCQCADKAIIQQFHDQAgAygCDCADKAIQEM6AgIAACyADQQhqIAAgARCxgYCAACADLQAQIQUCQCACIAMpAwgQxYCAgAANAAJAAkAgBUEBcQ0AIANBCGogACABEMGBgIAADAELIANBCGogARC8gYCAAAtBACEEIAMoAghBAXFFDQAgAykDGCEAIAMpAxAgAhDFgICAAEUNACAAEKuBgIAAViEECyADQSBqJICAgIAAIAQLvQIDAX8BfgF/I4CAgIAAQTBrIgQkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQgRSDQAgBEEYahDNgICAAAJAIAQoAhhBAUcNACAEKAIcIAQoAiAQzoCAgAALIAEQ/4CAgABBqobAgABBChD0gICAACEFIAQgA0KEgICAcIM3AxAgBCAANwMIIAQgAkKEgICAcIM3AwBBACEGAkADQAJAIAZBGEcNAEEAIQYCQANAIAZBGEYNASAEQRhqIAZqIAQgBmopAwA3AwAgBkEIaiEGDAALCyABIAUgBEEYakEDELKAgIAAEI6AgIAAIgFC/wGDQsgAUg0CIARBMGokgICAgAAgAQ8LIARBGGogBmpCAjcDACAGQQhqIQYMAAsLEMuAgIAAAAsAC9MEAgN/BH4jgICAgABB8ABrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAkEIaiABEKqAgIAAIAItACQiA0ECRg0AIAIoAiAhBCACKQMYIQUgAikDECEGIAIpAwghASACQQhqEM2AgIAAAkAgAigCCEEBRw0AIAIoAgwgAigCEBDOgICAAAsCQCADQQFxRQ0AEIWBgIAADQBCg4CAgJADENeAgIAAAAsgAkEIaiAAIAQQvoGAgAAgAikDCCEHIAAgBCABEJ+BgIAAQgF8IghQDQEgAkEIaiAAIAQgASAGIAgQ+4CAgAAgAkEIahDagICAACEAIAIgA603A0ggAiAFNwNAIAIgADcDOEEAIQQCQANAIARBGEYNASACQdAAaiAEakICNwMAIARBCGohBAwACwtBACEEAkADQCAEQRhGDQEgAkHQAGogBGogAkE4aiAEaikDADcDACAEQQhqIQQMAAsLIAdCjtS52u4GIAJB0ABqQQMQsoCAgAAQjoCAgAAhAEEAIQQCQANAIARBEEYNASACQThqIARqQgI3AwAgBEEIaiEEDAALCyAAQv8Bg0LMAFINASAAQaiFwIAAQQIgAkE4akECEKuAgIAAIAJB0ABqIAIpAzgQ64CAgAAgAigCUEEBRg0BIAIpA2ghACACKQNgIQEgAkHQAGogAikDQBDrgICAACACKAJQQQFGDQEgAkEIaiABIAAgAikDYCACKQNoEPeAgIAAIAIoAghBAUcNAgsACxDLgICAAAALIAIpAxAhACACQfAAaiSAgICAACAAC7wMAgN/Dn4jgICAgABBwAFrIgMkgICAgAACQCAAQv8Bg0LNAFINACADQZABaiABEKqAgIAAIAMtAKwBIgRBAkYNACACQv8Bg0LNAFINACADKAKoASEFIAMpA6ABIQYgAykDmAEhByADKQOQASEBIANBkAFqEM2AgIAAAkAgAygCkAFBAUcNACADKAKUASADKAKYARDOgICAAAsgABCFgICAABoCQCAEQQFxRQ0AEIWBgIAADQBCg4CAgJADENeAgIAADAELIANBkAFqIAAgBRC+gYCAACADKQOQASEIAkAgACAFIAEQn4GAgABCAXwiCVANACAErSEKIAMgATcDoAEgAyAFNgKUASADIAA3A5gBIANBBDYCkAEgA0GQAWogCRC/gICAACADQeAAahCHgYCAAAJAIAMoAmBBAUcNACADQZABaiADKAJkIAMoAmgQtICAgAALIAMgACAFIAEgByAJEPuAgIAAIAMQ2oCAgAAhACADIAo3A3AgAyAGNwNoIAMgADcDYEEAIQUCQAJAAkACQAJAA0ACQCAFQRhHDQBBACEFAkADQCAFQRhGDQEgA0GQAWogBWogA0HgAGogBWopAwA3AwAgBUEIaiEFDAALCyAIQo7Ss5UOIANBkAFqQQMQsoCAgAAQjoCAgAAhAEEAIQUCQANAIAVBGEYNASADQZABaiAFakICNwMAIAVBCGohBQwACwsgAEL/AYNCzABSDQcgAEGEiMCAAEEDIANBkAFqQQMQq4CAgAAgAykDkAEiC0L/AYNCyABSDQcgAykDmAEiAEL/AYNCywBSDQcgAykDoAEiDEL/AYNCywBSDQcQk4CAgAAhDSADQTBqEMeBgIAAIg4gDRDIgYCAACAAEI+AgIAAIQEgA0EANgJYIAMgADcDUCADIAFCIIg+AlwgAykDOCEHIAMpAzAhCkIAIQ9CACEQAkADQCADQZABaiADQdAAahDqgICAACADQeAAaiADQZABahDKgICAACADKAJgQQFxRQ0BIAMpA3giAEJ/Vw0EIAMpA3AiASAAhFANACAKIAFaIAcgAFkgByAAURtFDQUgDiANIAMpA4ABIAEgABCwgICAACAQIACFQn+FIBAgECAAfCAPIAF8IhEgD1StfCIShYNCAFMNCSAHIAB9IAogAVStfSEHIAogAX0hCiARIQ8gEiEQDAALC0IAIRICQCAKUCAHQgBTIAdQGw0AIA4gDSACIAogBxCwgICAAAtCACEHAkAgBEEBcUUNACADQZABahDJgYCAACADKQOYASETIAMpA5ABQRkQ6YCAgAAgA0HAAGogEyANEMiBgIAAIAMpA0AiEUIAUiADKQNIIgpCAFUgClAbRQ0FIAwQj4CAgAAhACADQQA2AlggAyAMNwNQIAMgAEIgiD4CXEIAIRJCACEHAkADQCADQZABaiADQdAAahDqgICAACADQeAAaiADQZABahDKgICAACADKAJgQQFxRQ0BIAMpA3giAEJ/Vw0IIAMpA3AiASAAhFANACARIAFaIAogAFkgCiAAURtFDQkgEyANIAMpA4ABIAEgABCwgICAACAHIACFQn+FIAcgByAAfCASIAF8Ig4gElStfCIMhYNCAFMNCiAKIAB9IBEgAVStfSEKIBEgAX0hESAOIRIgDCEHDAALCyARUCAKQgBTIApQGw0AIBMgDSACIBEgChCwgICAAAtBgIDAgABBCxD0gICAABCmgYCAACEAIAMgCDcDoAEgAyAGNwOYASADIAs3A5ABIABBrIDAgABBAyAD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IAY3A1AgCUH4gMCAAEEQEPSAgIAANwNwIAlBMGoQ3YCAgAAhCyAJIAE3A5gBIAkgCzcDiAEgCSAANwOAASAJIAI3A3ggCSAJQfAAajYCkAEgCUH4AGoQ3ICAgAAhACAEIAMQsYCAgAAhAiAJIA0gBRCxgICAADcDmAEgCSAINwOQASAJIAY3A4gBIAkgAjcDgAEgCSAHNwN4IABBqIHAgABBBSAJQfgAakEFENuAgIAAEIyAgIAAGiAJQaABaiSAgICAAEICDwsAC6YBAgF/AX4jgICAgABBIGsiASSAgICAAAJAIABC/wGDQs0AUg0AENCAgIAAIAEQzYCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEM6AgIAACyABQQA2AgAgASAAQgIQwoCAgABCjvKqvMC+/wEQpoGAgAAhAiABIAA3AwAgAkHUgcCAAEEBIAFBARDbgICAABCMgICAABogAUEgaiSAgICAAEICDwsAC80CAgF/AX4jgICAgABBMGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACACQRBqIAEQroGAgAAgAikDECIDQgJRDQAgAikDGCEBIAJBEGoQzYCAgAACQCACKAIQQQFHDQAgAigCFCACKAIYEM6AgIAACyAAEIWAgIAAGiADp0EBcUUNASACIAA3AxggAkEBNgIQIAJBEGogARDBgICAACACQQRqEIeBgIAAAkAgAigCBEEBRw0AIAJBEGogAigCCCACKAIMELSAgIAAC0IBIQMMAgsACyACQQE2AhAgAiAANwMYIAJBEGoQtYCAgABCARCRgICAABpCACEDC0HcgcCAAEEMEPSAgIAAIAAQ9YCAgAAhACACIAMgARDmgICAADcDECAAQfCBwIAAQQEgAkEQakEBENuAgIAAEIyAgIAAGiACQTBqJICAgIAAQgILEAAQ/ICAgABChICAgIDYHQuMAQECfyOAgICAAEHAAGsiAiSAgICAACACQSBqIAAQrYCAgAACQCACKAIgQQFGDQAgAkEIakEQaiACQThqKQMANwMAIAJBEGogAkEgakEQaikDADcDACACIAIpAyg3AwggAUL/AYNCzQBSDQAgAkEIaiABEMuBgIAAIQMgAkHAAGokgICAgAAgA60PCwALjAEBAn8jgICAgABBwABrIgIkgICAgAAgAkEgaiAAEK2AgIAAAkAgAigCIEEBRg0AIAJBCGpBEGogAkE4aikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAiACKQMoNwMIIAFC/wGDQs0AUg0AIAJBCGogARDMgYCAACEDIAJBwABqJICAgIAAIAOtDwsACwgAEMeBgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyYGAgAAgACkDACAAKQMIEOaAgIAAIQEgAEEQaiSAgICAACABC04BAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUQ0AAAsgASAAEP6AgIAAIAEpAwAgASkDCBDmgICAACEAIAFBEGokgICAgAAgAAtBAAJAAkAgAEL/AYNCzQBSDQBBABDYgICAAEICELeAgIAADQEgABDZgYCAAEICDwsAC0KDgICAkIEBENeAgIAAAAsOAEEAIABCAhDsgYCAAAuiAQIBfwF+I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACADIAIQ64CAgAAgAygCAEEBRg0AIAMpAxghAiADKQMQIQQQ0ICAgAAgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAAQk4CAgAAgASAEIAIQsICAgAAgA0EgaiSAgICAAEICDwsACwgAENGAgIAAC+IEAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABDdgYCAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEN2BgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQzYCAgAACQCACKAIoQQFHDQAgAigCLCACKAIwEM6AgIAACxDQgICAAAJAAkACQBDMgICAAA0AEN6BgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AENeAgIAAAAtCg4CAgMD/ABDXgICAAAALAkACQCACKAIIQQFHDQBBASACKAIMIAIoAhAQ34GAgAAMAQtBARDPgICAAEICEJGAgIAAGgsCQAJAIAIoAhhBAUcNAEECIAIoAhwgAigCIBDfgYCAAAwBC0ECEM+AgIAAQgIQkYCAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRB3IzAgABBDxD0gICAABCmgYCAACEAIAJBKGoQ4IGAgAAhASACIAJBNGoQ4IGAgAA3A0ggAiABNwNAIABBgI3AgABBAiACQcAAakECENuAgIAAEIyAgIAAGiACQdAAaiSAgICAAEICDwsAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARDxgYCAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAACzMBAn4Qo4CAgAAhAAJAEKSAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEMuAgIAAAAtWAgF/AX4jgICAgABBEGsiAySAgICAACAAEM+AgIAAIQQgAyABIAIQ8oGAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCEgICAABogA0EQaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ4oGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC8IBAgJ/AX4jgICAgABBwABrIgAkgICAgAAgAEEIahDNgICAAAJAIAAoAghBAUcNACAAKAIMIAAoAhAQzoCAgAALIABBCGoQzYCAgAAgAEEUaiIBEIeBgIAAIABBMGogAEEIahDigYCAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQ4oGAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECELKAgIAAIQIgAEHAAGokgICAgAAgAgswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBDygYCAAA8LIABCADcDACAAQgI3AwgLqgEBAX8jgICAgABBIGsiACSAgICAACAAQQxqEM2AgIAAAkAgACgCDEEBRw0AIAAoAhAgACgCFBDOgICAAAsQ0ICAgAACQBDMgICAAEUNAEKDgICA4P8AENeAgIAAAAtBABDPgICAAEIBQgIQhICAgAAaQZCNwIAAQRIQ9ICAgAAQpoGAgABBBEEAIABBGGpBABDbgICAABCMgICAABogAEEgaiSAgICAAEICCwkAEMyAgIAArQsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDOgICAAEICDwsACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ04CAgAAgACkDACAAKQMIEOaAgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ1oCAgAAgACkDACAAKQMIEOaAgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahDNgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQzoCAgAALENKAgIAAIQIQ1YCAgAAgABDZgYCAACACIAAQ6YGAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQaaLwIAAQRUQ9ICAgAAQpoGAgAAhAyACIAA3AwggAiABNwMAIANB0IvAgABBAiACQQIQ24CAgAAQjICAgAAaIAJBEGokgICAgAAL3AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahDNgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQzoCAgAALENKAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDWgICAACACKQMQIQEgAikDCEGICBDUgICAACABIAAQxYCAgABFDQMQ64GAgAAMAQsQ3oGAgAAgAUIgiKdJDQNBASAAQgAQ7IGAgABBARDYgICAAEIAIAFChICAgHCDIgEgARCCgICAABpB4IvAgABBFhD0gICAABCmgYCAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARB/IvAgABBAyACQQhqQQMQ24CAgAAQjICAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDggAEQ14CAgAAAC0KDgICA8IABENeAgIAAAAsTAEEBENiAgIAAQgAQkYCAgAAaCxUAIAAQ2ICAgAAgASACEISAgIAAGgunAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABDNgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQzoCAgAALIAAQ1oCAgAAgACkDCCEBIAApAwBBiAgQ1ICAgAAgARCFgICAABogABDZgICAAAJAIAAoAgANABC3gYCAAAALIAApAwghAhDrgYCAACABENmBgIAAIAIgARDpgYCAACAAQRBqJICAgIAAQgILoAECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQzYCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEM6AgIAACxDSgICAACEBENWAgIAAQQAQ2ICAgABCAhCRgICAABpBlIzAgABBExD0gICAABCmgYCAACECIAAgATcDACACQaiMwIAAQQEgAEEBENuAgIAAEIyAgIAAGiAAQRBqJICAgIAAQgILAwAAC9sBAgF+BH8CQAJAIAJBCUsNAEIAIQMgAiEEIAEhBQNAAkAgBA0AIANCCIZCDoQhAwwDC0EBIQYCQCAFLQAAIgdB3wBGDQACQCAHQVBqQf8BcUEKSQ0AAkAgB0G/f2pB/wFxQRpJDQAgB0Gff2pB/wFxQRlLDQQgB0FFaiEGDAILIAdBS2ohBgwBCyAHQVJqIQYLIANCBoYgBq1C/wGDhCEDIARBf2ohBCAFQQFqIQUMAAsLIAGtQiCGQgSEIAKtQiCGQgSEEJyAgIAAIQMLIABCADcDACAAIAM3AwgLrQECAn8BfiOAgICAAEEQayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQQEhAwJAIAFC/wGDQswAUg0AIAFBzIzAgABBAiACQQIQq4CAgAAgAikDACIBQv8Bg0IEUg0AIAIpAwgiBEL/AYNCBFINACAAIAFCIIinNgIIIAAgBEIgiD4CBEEAIQMLIAAgAzYCACACQRBqJICAgIAAC2ACAX8BfiOAgICAAEEQayIDJICAgIAAIAMgAa1CIIZCBIQ3AwggAyACrUIghkIEhDcDAEHMjMCAAEECIANBAhDbgICAACEEIABCADcDACAAIAQ3AwggA0EQaiSAgICAAAt3AgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQAJAIAEQz4CAgAAiBEICELeAgIAARQ0AIAJBBGogBEICEIOAgIAAEPGBgIAAQQEhAyACKAIEQQFGDQEgACACKQIINwIECyAAIAM2AgAgAkEQaiSAgICAAA8LAAsLxA0BAEGAgMAAC7oNcGFja2V0X3NlbnRlbmNvZGVkX3BhY2tldG9wdGlvbnNzZW5kX2xpYnJhcnkLABAADgAAABkAEAAHAAAAIAAQAAwAAABwYWNrZXRfdmVyaWZpZWRwYXlsb2FkX2hhc2gAUwAQAAwAAABwYWNrZXRfZGVsaXZlcmVkbHpfcmVjZWl2ZV9hbGVydGV4dHJhX2RhdGFnYXNtZXNzYWdlcmVhc29udmFsdWUAiAAQAAoAAACSABAAAwAAAJUAEAAHAAAAnAAQAAYAAACiABAABQAAAHpybwDQABAAAwAAAGRlbGVnYXRlX3NldGRlbGVnYXRl6AAQAAgAAABpbmJvdW5kX25vbmNlX3NraXBwZWRwYWNrZXRfbmlsaWZpZWRwYWNrZXRfYnVybnRsaWJyYXJ5X3JlZ2lzdGVyZWRuZXdfbGliAAAAOgEQAAcAAABkZWZhdWx0X3NlbmRfbGlicmFyeV9zZXRkZWZhdWx0X3JlY2VpdmVfbGlicmFyeV9zZXRkZWZhdWx0X3JlY2VpdmVfbGliX3RpbWVvdXRfc2V0dGltZW91dAAAAJ4BEAAHAAAAc2VuZF9saWJyYXJ5X3NldHJlY2VpdmVfbGlicmFyeV9zZXRyZWNlaXZlX2xpYnJhcnlfdGltZW91dF9zZXRjb21wb3NlX3NlbnQAAJUAEAAHAAAAY29tcG9zZV9kZWxpdmVyZWRsel9jb21wb3NlX2FsZXJ0ZHN0X2VpZHBheV9pbl96cm9yZWNlaXZlcgAAJQIQAAcAAACVABAABwAAABkAEAAHAAAALAIQAAoAAAA2AhAACAAAAG5vbmNlc2VuZGVyc3JjX2VpZAAAaAIQAAUAAABtAhAABgAAAHMCEAAHAAAAbmF0aXZlX2ZlZXpyb19mZWUAAACUAhAACgAAAJ4CEAAHAAAAZmVlZ3VpZAC4AhAAAwAAALsCEAAEAAAAaAIQAAUAAABhbGxvd19pbml0aWFsaXplX3BhdGhTZW5kUmVjZWl2ZVNlbmRBbmRSZWNlaXZlAADtAhAABAAAAPECEAAHAAAA+AIQAA4AAABzZXRfY29uZmlnZ2V0X2NvbmZpZ2lzX3N1cHBvcnRlZF9laWRtZXNzYWdlX2xpYl90eXBlZXhwaXJ5bGliAAAAVAMQAAYAAABaAxAAAwAAAGlzX2RlZmF1bHQAAHADEAAKAAAAWgMQAAMAAAAlAhAABwAAALsCEAAEAAAAlQAQAAcAAABoAhAABQAAADYCEAAIAAAAbQIQAAYAAABzAhAABwAAAGFtb3VudHRvxAMQAAYAAADKAxAAAgAAAG5hdGl2ZV9mZWVfcmVjaXBpZW50c3pyb19mZWVfcmVjaXBpZW50cwALABAADgAAANwDEAAVAAAA8QMQABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////WnJvRGVsZWdhdGVMYXp5SW5ib3VuZE5vbmNlSW5ib3VuZFBheWxvYWRIYXNoT3V0Ym91bmROb25jZVJlZ2lzdGVyZWRMaWJyYXJ5Q291bnRMaWJyYXJ5VG9JbmRleEluZGV4VG9MaWJyYXJ5RGVmYXVsdFNlbmRMaWJyYXJ5RGVmYXVsdFJlY2VpdmVMaWJyYXJ5RGVmYXVsdFJlY2VpdmVMaWJyYXJ5VGltZW91dFNlbmRMaWJyYXJ5UmVjZWl2ZUxpYnJhcnlSZWNlaXZlTGlicmFyeVRpbWVvdXRDb21wb3NlUXVldWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNETUxGTUtNTUQ3TVdaUDNGS1VCWlBWSFRVRURMU1g0QllHWUtINEdDRVNYWUhTM0lIUTRFSUc0dGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyAAAAuwUQAAkAAADEBRAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAAC7BRAACQAAAMQFEAAJAAAA9gUQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAMQFEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AAEEGEAAJAAAAnQUQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAABrBhAACAAAAHMGEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50AO+4AQ5jb250cmFjdHNwZWN2MAAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAAFAAAAAAAAAAAAAAAKUGFja2V0U2VudAAAAAAAAQAAAAtwYWNrZXRfc2VudAAAAAADAAAAAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAAAAAADHNlbmRfbGlicmFyeQAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA5QYWNr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ciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2Vu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AAAAAAAAAEVSZXR1cm5zIHRoZSBsYXp5IGluYm91bmQgbm9uY2UgKGxhc3QgY2hlY2twb2ludCkgZm9yIGEgc3BlY2lmaWMgcGF0aC4AAAAAAAASbGF6eV9pbmJvdW5kX25vbmNlAAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAGAAAAAAAAADZSZXR1cm5zIHRoZSBwYXlsb2FkIGhhc2ggZm9yIGEgc3BlY2lmaWMgaW5ib3VuZCBub25jZS4AAAAAABRpbmJvdW5kX3BheWxvYWRfaGFzaAAAAAQAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAD6AAAA+4AAAAgAAAAAAAAADJSZWdpc3RlcnMgYSBuZXcgbWVzc2FnZSBsaWJyYXJ5IHdpdGggdGhlIGVuZHBvaW50LgAAAAAAEHJlZ2lzdGVyX2xpYnJhcnkAAAABAAAAAAAAAAduZXdfbGliAAAAABMAAAAAAAAAAAAAADlTZXRzIHRoZSBkZWZhdWx0IHNlbmQgbGlicmFyeSBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAAAAAYc2V0X2RlZmF1bHRfc2VuZF9saWJyYXJ5AAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAduZXdfbGliAAAAABMAAAAAAAAAAAAAALZTZXRzIHRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSBmb3IgYSBzb3VyY2UgZW5kcG9pbnQuCgpJZiBhIGdyYWNlIHBlcmlvZCBpcyBwcm92aWRlZCBhbmQgdGhlcmUgd2FzIGEgcHJldmlvdXMgbGlicmFyeSwgdGhlIG9sZCBsaWJyYXJ5CnJlbWFpbnMgdmFsaWQgdW50aWwgdGhlIGdyYWNlIHBlcmlvZCBleHBpcmVzLgAAAAAAG3NldF9kZWZhdWx0X3JlY2VpdmVfbGlicmFyeQAAAAADAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAMZ3JhY2VfcGVyaW9kAAAABgAAAAAAAAAAAAAA0lNldHMgb3IgcmVtb3ZlcyB0aGUgZGVmYXVsdCByZWNlaXZlIGxpYnJhcnkgdGltZW91dCBmb3IgYSBzb3VyY2UgZW5kcG9pbnQuCgpJZiBhIHRpbWVvdXQgaXMgcHJvdmlkZWQsIGl0IG11c3QgYmUgdmFsaWQgYW5kIG5vdCBleHBpcmVkLiBJZiBubyB0aW1lb3V0IGlzIHByb3ZpZGVkLAp0aGUgZGVmYXVsdCByZWNlaXZlIGxpYnJhcnkgdGltZW91dCBpcyByZW1vdmVkLgAAAAAAH3NldF9kZWZhdWx0X3JlY2VpdmVfbGliX3RpbWVvdXQAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAAAAABVU2V0cyBvciByZW1vdmVzIGEgY3VzdG9tIHNlbmQgbGlicmFyeSBmb3IgYW4gT0FwcCB0byBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAABBzZXRfc2VuZF9saWJyYXJ5AAAABAAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAHbmV3X2xpYgAAAAPoAAAAEwAAAAAAAAAAAAAA0lNldHMgb3IgcmVtb3ZlcyBhIGN1c3RvbSByZWNlaXZlIGxpYnJhcnkgZm9yIGFuIE9BcHAgdG8gYSBzcGVjaWZpYyBzb3VyY2UgZW5kcG9pbnQuCgpJZiBhIGdyYWNlIHBlcmlvZCBpcyBwcm92aWRlZCBhbmQgdGhlcmUgd2FzIGEgcHJldmlvdXMgbGlicmFyeSwgdGhlIG9sZCBsaWJyYXJ5CnJlbWFpbnMgdmFsaWQgdW50aWwgdGhlIGdyYWNlIHBlcmlvZCBleHBpcmVzLgAAAAAAE3NldF9yZWNlaXZlX2xpYnJhcnkAAAAABQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAHbmV3X2xpYgAAAAPoAAAAEwAAAAAAAAAMZ3JhY2VfcGVyaW9kAAAABgAAAAAAAAAAAAAAsVNldHMgb3IgcmVtb3ZlcyB0aGUgY3VzdG9tIHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGZvciBhbiBPQXBwLgoKQWxsb3dzIGFuIE9BcHAgdG8gZXh0ZW5kIG9yIHJlbW92ZSB0aGUgdmFsaWRpdHkgcGVyaW9kIG9mIGEgcHJldmlvdXNseSBzZXQgbGlicmFyeQphZnRlciBzd2l0Y2hpbmcgdG8gYSBuZXcgb25lLgAAAAAAABtzZXRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAAAAABAAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAHdGltZW91dAAAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAAAAAAAAg1NldHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKUmVxdWlyZXMgdGhlIGNhbGxlciB0byBiZSB0aGUgT0FwcCBvciBpdHMgZGVsZWdhdGUgYW5kIHRoZSBsaWJyYXJ5IHRvIGJlIHJlZ2lzdGVyZWQuAAAAAApzZXRfY29uZmlnAAAAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABG9hcHAAAAATAAAAAAAAAANsaWIAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5TZXRDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAqQ2hlY2tzIGlmIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHJlZ2lzdGVyZWQuAAAAAAAVaXNfcmVnaXN0ZXJlZF9saWJyYXJ5AAAAAAAAAQAAAAAAAAADbGliAAAAABMAAAABAAAAAQAAAAAAAAAnUmV0dXJucyB0aGUgaW5kZXggb2YgYSBtZXNzYWdlIGxpYnJhcnkuAAAAABFnZXRfbGlicmFyeV9pbmRleAAAAAAAAAEAAAAAAAAAA2xpYgAAAAATAAAAAQAAA+gAAAAEAAAAAAAAADNSZXR1cm5zIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXJlZCBtZXNzYWdlIGxpYnJhcmllcy4AAAAAGnJlZ2lzdGVyZWRfbGlicmFyaWVzX2NvdW50AAAAAAAAAAAAAQAAAAQAAAAAAAAASlJldHVybnMgYSBsaXN0IG9mIHJlZ2lzdGVyZWQgbWVzc2FnZSBsaWJyYXJpZXMgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UuAAAAAAAYZ2V0X3JlZ2lzdGVyZWRfbGlicmFyaWVzAAAAAgAAAAAAAAAFc3RhcnQAAAAAAAAEAAAAAAAAAAltYXhfY291bnQAAAAAAAAEAAAAAQAAA+oAAAATAAAAAAAAAH1DaGVja3MgaWYgYW4gZW5kcG9pbnQgSUQgaXMgc3VwcG9ydGVkLgpSZXR1cm5zIHRydWUgb25seSBpZiBib3RoIHRoZSBkZWZhdWx0IHNlbmQvcmVjZWl2ZSBsaWJyYXJpZXMgYXJlIHNldCBmb3IgdGhlIGdpdmVuIGVpZAAAAAAAABBpc19zdXBwb3J0ZWRfZWlkAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAQAAAAAAAAA8UmV0dXJucyB0aGUgZGVmYXVsdCBzZW5kIGxpYnJhcnkgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAFGRlZmF1bHRfc2VuZF9saWJyYXJ5AAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAATAAAAAAAAADpSZXR1cm5zIHRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSBmb3IgYSBzb3VyY2UgZW5kcG9pbnQuAAAAAAAXZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnkAAAAAAQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAATAAAAAAAAAEJSZXR1cm5zIHRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAAAB9kZWZhdWx0X3JlY2VpdmVfbGlicmFyeV90aW1lb3V0AAAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAABIUmV0dXJucyB0aGUgZWZmZWN0aXZlIHNlbmQgbGlicmFyeSBmb3IgYW4gT0FwcCBhbmQgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAEGdldF9zZW5kX2xpYnJhcnkAAAACAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAfQAAAAD1Jlc29sdmVkTGlicmFyeQAAAAAAAAAARlJldHVybnMgdGhlIGVmZmVjdGl2ZSByZWNlaXZlIGxpYnJhcnkgZm9yIGFuIE9BcHAgYW5kIHNvdXJjZSBlbmRwb2ludC4AAAAAABNnZXRfcmVjZWl2ZV9saWJyYXJ5AAAAAAIAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAB9AAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAAAAABEUmV0dXJucyB0aGUgcmVjZWl2ZSBsaWJyYXJ5IHRpbWVvdXQgZm9yIGFuIE9BcHAgYW5kIHNvdXJjZSBlbmRwb2ludC4AAAAXcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAAAAAAgAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAARUNoZWNrcyBpZiBhIHJlY2VpdmUgbGlicmFyeSBpcyB2YWxpZCBmb3IgYW4gT0FwcCBhbmQgc291cmNlIGVuZHBvaW50LgAAAAAAABhpc192YWxpZF9yZWNlaXZlX2xpYnJhcnkAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAKYWN0dWFsX2xpYgAAAAAAEwAAAAEAAAABAAAAAAAAAGJSZXR1cm5zIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeSBmb3IgYSBzcGVjaWZpYyBlbmRwb2ludCBJRCBhbmQgY29uZmlndXJhdGlvbiB0eXBlLgAAAAAACmdldF9jb25maWcAAAAAAAQAAAAAAAAABG9hcHAAAAATAAAAAAAAAANsaWIAAAAAEwAAAAAAAAADZWlkAAAAAAQAAAAAAAAAC2NvbmZpZ190eXBlAAAAAAQAAAABAAAADgAAAAAAAAA7UXVvdGVzIHRoZSBtZXNzYWdpbmcgZmVlIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAABXF1b3RlAAAAAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAB9AAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAEAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAAAAAAACJU2VuZHMgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIHRvIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgpPQXBwIHNlbmRlciBuZWVkcyB0byB0cmFuc2ZlciB0aGUgZmVlcyB0byB0aGUgZW5kcG9pbnQgYmVmb3JlIHNlbmRpbmcgdGhlIG1lc3NhZ2UAAAAAAAAEc2VuZAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAfQAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAAAAAADnJlZnVuZF9hZGRyZXNzAAAAAAATAAAAAQAAB9AAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAAAAABKVmVyaWZpZXMgYW4gaW5ib3VuZCBjcm9zcy1jaGFpbiBtZXNzYWdlIGZyb20gYSBjb25maWd1cmVkIHJlY2VpdmUgbGlicmFyeS4AAAAAAAZ2ZXJpZnkAAAAAAAQAAAAAAAAAC3JlY2VpdmVfbGliAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAAAAAAAZ0NsZWFycyBhIHZlcmlmaWVkIG1lc3NhZ2UgZnJvbSB0aGUgZW5kcG9pbnQuCgpUaGlzIGlzIGEgUFVMTCBtb2RlIHZlcnN1cyB0aGUgUFVTSCBtb2RlIG9mIGBsel9yZWNlaXZlYC4AAAAABWNsZWFyAAAAAAAABQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAIFFbWl0cyBhbiBhbGVydCBldmVudCB3aGVuIGBsel9yZWNlaXZlYCBleGVjdXRpb24gZmFpbHMuCgpDYWxsZWQgYnkgdGhlIGV4ZWN1dG9yIHRvIG5vdGlmeSBhYm91dCBmYWlsZWQgbWVzc2FnZSBkZWxpdmVyeSBhdHRlbXB0cy4AAAAAAAAQbHpfcmVjZWl2ZV9hbGVydAAAAAkAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAADZ2FzAAAAAAsAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAAAAACxTZXRzIHRoZSBaUk8gdG9rZW4gYWRkcmVzcyBmb3IgZmVlIHBheW1lbnRzLgAAAAdzZXRfenJvAAAAAAEAAAAAAAAAA3pybwAAAAATAAAAAAAAAAAAAABGU2V0cyBvciByZW1vdmVzIGEgZGVsZWdhdGUgYWRkcmVzcyB0aGF0IGNhbiBhY3Qgb24gYmVoYWxmIG9mIHRoZSBPQXBwLgAAAAAADHNldF9kZWxlZ2F0ZQAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAxuZXdfZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAAAAAAAGFJldHVybnMgdGhlIGVuZHBvaW50IElELgAAAANlaWQAAAAAAAAAAAEAAAAEAAAAAAAAAFlDaGVja3MgaWYgYSBtZXNzYWdpbmcgcGF0aCBjYW4gYmUvaGFzIGJlZW4gaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4gYW5kIHJlY2VpdmVyLgAAAAAAAA1pbml0aWFsaXphYmxlAAAAAAAAAgAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAQAAAAAAAABGQ2hlY2tzIGlmIGEgbWVzc2FnZSBjYW4gYmUgdmVyaWZpZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4gYW5kIHJlY2VpdmVyLgAAAAAACnZlcmlmaWFibGUAAAAAAAIAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAEAAAAAAAAAN1JldHVybnMgdGhlIG5hdGl2ZSB0b2tlbiBhZGRyZXNzIHVzZWQgZm9yIGZlZSBwYXltZW50cy4AAAAADG5hdGl2ZV90b2tlbgAAAAAAAAABAAAAEwAAAAAAAAAlUmV0dXJucyB0aGUgWlJPIHRva2VuIGFkZHJlc3MgaWYgc2V0LgAAAAAAAAN6cm8AAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAAwUmV0dXJucyB0aGUgZGVsZWdhdGUgYWRkcmVzcyBmb3IgYW4gT0FwcCBpZiBzZXQuAAAACGRlbGVnYXRlAAAAAQAAAAAAAAAEb2FwcAAAABMAAAABAAAD6AAAABMAAAAAAAAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAACxUmVjb3ZlcnMgdG9rZW5zIHNlbnQgdG8gdGhpcyBjb250cmFjdCBieSBtaXN0YWtlLgoKIyBBcmd1bWVudHMKKiBgdG9rZW5gIC0gVGhlIHRva2VuIGFkZHJlc3MgdG8gcmVjb3ZlcgoqIGB0b2AgLSBUaGUgYWRkcmVzcyB0byBzZW5kIHRoZSB0b2tlbiB0bwoqIGBhbW91bnRgIC0gVGhlIGFtb3VudCB0byBzZW5kAAAAAAAADXJlY292ZXJfdG9rZW4AAAAAAAADAAAAAAAAAAV0b2tlbgAAAAAAABMAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgb3duZXIgYWRkcmVzcywgb3IgTm9uZSBpZiBubyBvd25lciBpcyBzZXQuAAAAAAAFb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAABAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBoAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
13
+ /**
14
+ * Pre-computed WASM hash (SHA-256)
15
+ * Use this when the WASM is already uploaded on-chain
16
+ */
17
+ export declare const WASM_HASH = "d7c15e83a1ac049aa09b98bdf584d2eee06cbc273de60ec732ab08f67f5a9b9d";
18
+ /**
19
+ * Get the WASM bytecode as a Buffer
20
+ * Use this to upload the WASM to the network
21
+ */
22
+ export declare function getWasmBuffer(): Buffer;
8
23
  export declare const EndpointError: {
9
24
  1: {
10
25
  message: string;
@@ -78,6 +93,9 @@ export declare const EndpointError: {
78
93
  24: {
79
94
  message: string;
80
95
  };
96
+ 25: {
97
+ message: string;
98
+ };
81
99
  };
82
100
  /**
83
101
  * Parameters for sending a cross-chain message.
@@ -291,7 +309,7 @@ export interface FeesAndPacket {
291
309
  zro_fee_recipients: Array<FeeRecipient>;
292
310
  }
293
311
  export type EndpointStorage = {
294
- tag: "ZRO";
312
+ tag: "Zro";
295
313
  values: void;
296
314
  } | {
297
315
  tag: "Delegate";
@@ -336,6 +354,9 @@ export type EndpointStorage = {
336
354
  tag: "ComposeQueue";
337
355
  values: readonly [string, string, Buffer, u32];
338
356
  };
357
+ /**
358
+ * BufferReaderError: 1000-1009
359
+ */
339
360
  export declare const BufferReaderError: {
340
361
  1000: {
341
362
  message: string;
@@ -344,43 +365,109 @@ export declare const BufferReaderError: {
344
365
  message: string;
345
366
  };
346
367
  };
368
+ /**
369
+ * BufferWriterError: 1010-1019
370
+ */
347
371
  export declare const BufferWriterError: {
348
- 1100: {
372
+ 1010: {
349
373
  message: string;
350
374
  };
351
375
  };
376
+ /**
377
+ * TtlConfigurableError: 1020-1029
378
+ */
352
379
  export declare const TtlConfigurableError: {
353
- 1200: {
380
+ 1020: {
354
381
  message: string;
355
382
  };
356
- 1201: {
383
+ 1021: {
357
384
  message: string;
358
385
  };
359
- 1202: {
386
+ 1022: {
360
387
  message: string;
361
388
  };
362
389
  };
390
+ /**
391
+ * OwnableError: 1030-1039
392
+ */
363
393
  export declare const OwnableError: {
364
- 1300: {
394
+ 1030: {
395
+ message: string;
396
+ };
397
+ 1031: {
398
+ message: string;
399
+ };
400
+ 1032: {
401
+ message: string;
402
+ };
403
+ 1033: {
404
+ message: string;
405
+ };
406
+ 1034: {
365
407
  message: string;
366
408
  };
367
- 1301: {
409
+ 1035: {
368
410
  message: string;
369
411
  };
370
412
  };
413
+ /**
414
+ * BytesExtError: 1040-1049
415
+ */
371
416
  export declare const BytesExtError: {
372
- 1400: {
417
+ 1040: {
373
418
  message: string;
374
419
  };
375
420
  };
421
+ /**
422
+ * UpgradeableError: 1050-1059
423
+ */
376
424
  export declare const UpgradeableError: {
377
- 1500: {
425
+ 1050: {
426
+ message: string;
427
+ };
428
+ };
429
+ /**
430
+ * MultisigError: 1060-1069
431
+ */
432
+ export declare const MultisigError: {
433
+ 1060: {
434
+ message: string;
435
+ };
436
+ 1061: {
437
+ message: string;
438
+ };
439
+ 1062: {
440
+ message: string;
441
+ };
442
+ 1063: {
443
+ message: string;
444
+ };
445
+ 1064: {
446
+ message: string;
447
+ };
448
+ 1065: {
449
+ message: string;
450
+ };
451
+ 1066: {
452
+ message: string;
453
+ };
454
+ 1067: {
378
455
  message: string;
379
456
  };
380
457
  };
458
+ export type MultisigStorage = {
459
+ tag: "Signers";
460
+ values: void;
461
+ } | {
462
+ tag: "Threshold";
463
+ values: void;
464
+ };
381
465
  export type OwnableStorage = {
382
466
  tag: "Owner";
383
467
  values: void;
468
+ } | {
469
+ tag: "PendingOwner";
470
+ values: void;
384
471
  };
385
472
  /**
386
473
  * TTL configuration: threshold (when to extend) and extend_to (target TTL).
@@ -1482,18 +1569,9 @@ export interface Client {
1482
1569
  simulate?: boolean;
1483
1570
  }) => Promise<AssembledTransaction<null>>;
1484
1571
  /**
1485
- * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1486
- * Extends the instance TTL.
1487
- *
1488
- * # Arguments
1489
- *
1490
- * * `threshold` - The threshold to extend the TTL.
1491
- * * `extend_to` - The TTL to extend to.
1572
+ * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1492
1573
  */
1493
- extend_instance_ttl: ({ threshold, extend_to }: {
1494
- threshold: u32;
1495
- extend_to: u32;
1496
- }, txnOptions?: {
1574
+ authorizer: (txnOptions?: {
1497
1575
  /**
1498
1576
  * The fee to pay for the transaction. Default: BASE_FEE
1499
1577
  */
@@ -1506,7 +1584,7 @@ export interface Client {
1506
1584
  * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1507
1585
  */
1508
1586
  simulate?: boolean;
1509
- }) => Promise<AssembledTransaction<null>>;
1587
+ }) => Promise<AssembledTransaction<string>>;
1510
1588
  /**
1511
1589
  * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1512
1590
  * Sets TTL configs for instance and persistent storage.
@@ -1599,6 +1677,32 @@ export interface Client {
1599
1677
  */
1600
1678
  simulate?: boolean;
1601
1679
  }) => Promise<AssembledTransaction<boolean>>;
1680
+ /**
1681
+ * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1682
+ * Extends the instance TTL.
1683
+ *
1684
+ * # Arguments
1685
+ *
1686
+ * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
1687
+ * * `extend_to` - The TTL to extend to.
1688
+ */
1689
+ extend_instance_ttl: ({ threshold, extend_to }: {
1690
+ threshold: u32;
1691
+ extend_to: u32;
1692
+ }, txnOptions?: {
1693
+ /**
1694
+ * The fee to pay for the transaction. Default: BASE_FEE
1695
+ */
1696
+ fee?: number;
1697
+ /**
1698
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1699
+ */
1700
+ timeoutInSeconds?: number;
1701
+ /**
1702
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1703
+ */
1704
+ simulate?: boolean;
1705
+ }) => Promise<AssembledTransaction<null>>;
1602
1706
  /**
1603
1707
  * Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1604
1708
  * Returns the current owner address, or None if no owner is set.
@@ -1617,9 +1721,34 @@ export interface Client {
1617
1721
  */
1618
1722
  simulate?: boolean;
1619
1723
  }) => Promise<AssembledTransaction<Option<string>>>;
1724
+ /**
1725
+ * Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1726
+ * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
1727
+ */
1728
+ pending_owner: (txnOptions?: {
1729
+ /**
1730
+ * The fee to pay for the transaction. Default: BASE_FEE
1731
+ */
1732
+ fee?: number;
1733
+ /**
1734
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1735
+ */
1736
+ timeoutInSeconds?: number;
1737
+ /**
1738
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1739
+ */
1740
+ simulate?: boolean;
1741
+ }) => Promise<AssembledTransaction<Option<string>>>;
1620
1742
  /**
1621
1743
  * Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1622
- * Transfers ownership to a new address. Requires current owner authorization.
1744
+ * Transfers ownership immediately to a new address.
1745
+ *
1746
+ * Use with caution - if you transfer to a wrong address, ownership is lost forever.
1747
+ * Consider using `propose_ownership_transfer` instead.
1748
+ *
1749
+ * # Panics
1750
+ * - `OwnerNotSet` if no owner is currently set
1751
+ * - `TransferInProgress` if a 2-step transfer is in progress
1623
1752
  */
1624
1753
  transfer_ownership: ({ new_owner }: {
1625
1754
  new_owner: string;
@@ -1637,9 +1766,71 @@ export interface Client {
1637
1766
  */
1638
1767
  simulate?: boolean;
1639
1768
  }) => Promise<AssembledTransaction<null>>;
1769
+ /**
1770
+ * Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1771
+ * Proposes an ownership transfer to a new address.
1772
+ *
1773
+ * The new owner must call `accept_ownership()` within `ttl` ledgers
1774
+ * to complete the transfer. The pending transfer will automatically expire after.
1775
+ *
1776
+ * # Arguments
1777
+ * - `new_owner` - The proposed new owner
1778
+ * - `ttl` - Number of ledgers the new owner has to accept.
1779
+ * Use `0` to cancel a pending transfer (new_owner must match pending).
1780
+ *
1781
+ * # Panics
1782
+ * - `OwnerNotSet` if no owner is currently set
1783
+ * - `NoPendingTransfer` when cancelling and no pending transfer exists
1784
+ * - `InvalidTtl` if ttl exceeds max TTL
1785
+ * - `InvalidPendingOwner` when cancelling with wrong new_owner address
1786
+ */
1787
+ propose_ownership_transfer: ({ new_owner, ttl }: {
1788
+ new_owner: string;
1789
+ ttl: u32;
1790
+ }, txnOptions?: {
1791
+ /**
1792
+ * The fee to pay for the transaction. Default: BASE_FEE
1793
+ */
1794
+ fee?: number;
1795
+ /**
1796
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1797
+ */
1798
+ timeoutInSeconds?: number;
1799
+ /**
1800
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1801
+ */
1802
+ simulate?: boolean;
1803
+ }) => Promise<AssembledTransaction<null>>;
1804
+ /**
1805
+ * Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1806
+ * Accepts a pending 2-step ownership transfer.
1807
+ *
1808
+ * Must be called by the pending owner before the TTL expires.
1809
+ *
1810
+ * # Panics
1811
+ * - `NoPendingTransfer` if there is no pending transfer (or it expired)
1812
+ */
1813
+ accept_ownership: (txnOptions?: {
1814
+ /**
1815
+ * The fee to pay for the transaction. Default: BASE_FEE
1816
+ */
1817
+ fee?: number;
1818
+ /**
1819
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1820
+ */
1821
+ timeoutInSeconds?: number;
1822
+ /**
1823
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1824
+ */
1825
+ simulate?: boolean;
1826
+ }) => Promise<AssembledTransaction<null>>;
1640
1827
  /**
1641
1828
  * Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1642
- * Permanently renounces ownership. Requires current owner authorization.
1829
+ * Permanently renounces ownership.
1830
+ *
1831
+ * # Panics
1832
+ * - `OwnerNotSet` if no owner is currently set
1833
+ * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
1643
1834
  */
1644
1835
  renounce_ownership: (txnOptions?: {
1645
1836
  /**
@@ -1721,13 +1912,17 @@ export declare class Client extends ContractClient {
1721
1912
  zro: (json: string) => AssembledTransaction<Option<string>>;
1722
1913
  delegate: (json: string) => AssembledTransaction<Option<string>>;
1723
1914
  recover_token: (json: string) => AssembledTransaction<null>;
1724
- extend_instance_ttl: (json: string) => AssembledTransaction<null>;
1915
+ authorizer: (json: string) => AssembledTransaction<string>;
1725
1916
  set_ttl_configs: (json: string) => AssembledTransaction<null>;
1726
1917
  ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
1727
1918
  freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
1728
1919
  is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
1920
+ extend_instance_ttl: (json: string) => AssembledTransaction<null>;
1729
1921
  owner: (json: string) => AssembledTransaction<Option<string>>;
1922
+ pending_owner: (json: string) => AssembledTransaction<Option<string>>;
1730
1923
  transfer_ownership: (json: string) => AssembledTransaction<null>;
1924
+ propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
1925
+ accept_ownership: (json: string) => AssembledTransaction<null>;
1731
1926
  renounce_ownership: (json: string) => AssembledTransaction<null>;
1732
1927
  };
1733
1928
  }