@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
@@ -0,0 +1,345 @@
1
+ import { Buffer } from "buffer";
2
+ import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
3
+ export * from '@stellar/stellar-sdk';
4
+ export * as contract from '@stellar/stellar-sdk/contract';
5
+ export * as rpc from '@stellar/stellar-sdk/rpc';
6
+ /**
7
+ * Embedded WASM bytecode (base64-encoded)
8
+ * Size: 59520 bytes (58.12 KB)
9
+ */
10
+ export const WASM_BASE64 = "AGFzbQEAAAAB+gEoYAF+AX5gAn5+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAF+AX9gAn9/AX9gBX5+fn5+AGACf38BfmADfn5+AGADf39/AGAEf39/fwBgBH9/fn4AYAN/f38BfmABfwBgAn9/AGACfn8BfmABfgBgAn5+AX9gAn9+AGAAAGAAAX9gAX8BfmACfn8AYAN/fn4AYAV/fn9+fgBgA35/fwBgAX8Bf2ACf34Bf2AFfn9/f38AYAR/f39/AX5gBn9+fn5+fwBgBX9+fn5+AGAGfn5+fn5+AX5gBH5+fn4AYAJ+fwF/YAR+fn9/AX5gAn5+AGAEf35+fwBgA39/fwF/AuUBJgF2ATMAAAF2ATEAAQFiAW0AAgFsATcAAwFsAV8AAgFiATgAAAFiAWUAAQFsATEAAQFiATQABAFhATAAAAFiAV8AAAFiAWYAAgF4ATEAAQFsATIAAQF2AV8ABAF4ATcABAFkAV8AAgFhATYAAAFpAV8AAAFpATAAAAFiATEAAwFiATMAAQF2AWcAAQFpATgAAAFpATcAAAFpATYAAQFiAWoAAQFiATIAAwFtATkAAgFtAWEAAwF4ATAAAQFiATAAAAF4ATQABAF4ATMABAF4ATgABAFsATAAAQFsATgAAQF4ATUAAAO2AbQBBQYHAQgJBwoICwgMAA0ODwgOEBEIEg4LDwgTCgQUFRYUBAQOFxQOFg4EChMPBBYYERkOExoTGxwcFA4EBBQVCgYKBA8KDAwEEw8bDhYdExgTHgofAwgAAQEBAQABAAASAAAEAAQABAATCCACFhMgBAQFFAQEAxUAEyERIhYEBAEAAgATASEWCCMBFCQCBAQAAQEAARMVChYEDwQEAQQEACUBFBgEBBQKEwoPHyYgICYgJycgBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEGQicAAC38AQb6LwAALfwBBwIvAAAsHqwc2Bm1lbW9yeQIADnNldF9yYXRlX2xpbWl0AHoQdW5zZXRfcmF0ZV9saW1pdAB9EXJhdGVfbGltaXRfY29uZmlnAH4UcmF0ZV9saW1pdF9pbl9mbGlnaHQAfxNyYXRlX2xpbWl0X2NhcGFjaXR5AIABE3NldF9kZWZhdWx0X2ZlZV9icHMAgQELc2V0X2ZlZV9icHMAggENdW5zZXRfZmVlX2JwcwCDARdzZXRfZmVlX2RlcG9zaXRfYWRkcmVzcwCEAQtoYXNfZmVlX2JwcwCGARFlZmZlY3RpdmVfZmVlX2JwcwCHAQ9kZWZhdWx0X2ZlZV9icHMAiAEHZmVlX2JwcwCJARNmZWVfZGVwb3NpdF9hZGRyZXNzAIoBCnNldF9wYXVzZWQAiwEJaXNfcGF1c2VkAIwBCXF1b3RlX29mdACNAQpxdW90ZV9zZW5kAJEBBXRva2VuAJUBD3NoYXJlZF9kZWNpbWFscwCWARdkZWNpbWFsX2NvbnZlcnNpb25fcmF0ZQCZARFhcHByb3ZhbF9yZXF1aXJlZACaAQRzZW5kAJsBDV9fY29uc3RydWN0b3IAnwEIb2Z0X3R5cGUAowEKYXV0aG9yaXplcgCkARBlbmZvcmNlZF9vcHRpb25zAKUBFHNldF9lbmZvcmNlZF9vcHRpb25zAKYBD2NvbWJpbmVfb3B0aW9ucwCnARVhbGxvd19pbml0aWFsaXplX3BhdGgAqAEKbmV4dF9ub25jZQCqAQpsel9yZWNlaXZlAKsBFWlzX2NvbXBvc2VfbXNnX3NlbmRlcgCyAQxvYXBwX3ZlcnNpb24AswEIZW5kcG9pbnQAtAEEcGVlcgC1AQhzZXRfcGVlcgC3AQxzZXRfZGVsZWdhdGUAuAEPc2V0X3R0bF9jb25maWdzALkBC3R0bF9jb25maWdzAL4BEmZyZWV6ZV90dGxfY29uZmlncwDAARVpc190dGxfY29uZmlnc19mcm96ZW4AwQETZXh0ZW5kX2luc3RhbmNlX3R0bADCAQVvd25lcgDDAQ1wZW5kaW5nX293bmVyAMQBEnRyYW5zZmVyX293bmVyc2hpcADFARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgDHARBhY2NlcHRfb3duZXJzaGlwAMoBEnJlbm91bmNlX293bmVyc2hpcADLAQFfAwELb2Z0X3ZlcnNpb24AswEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKzusBtAGuAQMBfwF+An9BAiEBAkAgAEL/AYNCywBSDQAgABCAgICAACICQoCAgIAQVA0AAkAgAEIEEIGAgIAAIgCnQf8BcSIDQcoARg0AIANBDkcNAQsgAkIgiKchAwJAAkACQCAAQeCBwIAArUIghkIEhEKEgICAIBCCgICAAEIgiKcOAgABAwtBASADEKeAgIAADQJBACEEDAELQQEhBEEBIAMQp4CAgAANAQsgBCEBCyABCxkAAkAgASAASQ0AIAEgAGsPCxDfgICAAAALsQEBAn8jgICAgABBMGsiBSSAgICAACAFIAMgBBCpgICAADcDECAFIAI3AwggBSABNwMAQQAhBgNAAkAgBkEYRw0AQQAhBgJAA0AgBkEYRg0BIAVBGGogBmogBSAGaikDADcDACAGQQhqIQYMAAsLIABCju7qlb623vMAIAVBGGpBAxCqgICAABCrgICAACAFQTBqJICAgIAADwsgBUEYaiAGakICNwMAIAZBCGohBgwACwtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ9YCAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABCxoAIACtQiCGQgSEIAGtQiCGQgSEEJaAgIAACyEAAkAgACABIAIQkICAgABC/wGDQgJRDQAQ34CAgAAACwuxAQECfyOAgICAAEEwayIFJICAgIAAIAUgAyAEEKmAgIAANwMQIAUgAjcDCCAFIAE3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBUEYaiAGaiAFIAZqKQMANwMAIAZBCGohBgwACwsgAEKO7uqVvrbe8wAgBUEYakEDEKqAgIAAEKuAgIAAIAVBMGokgICAgAAPCyAFQRhqIAZqQgI3AwAgBkEIaiEGDAALCycAQQEgABCugICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEIOAgIAAGgvHAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAAkAgAA4DAAECAAsgAkGAgMCAAEENENCAgIAAIAIoAgANAyACIAIpAwgQ0YCAgAAMAgsgAkGNgMCAAEEGENCAgIAAIAIoAgANAiACIAIpAwggAa1CIIZCBIQQ1YCAgAAMAQsgAkGTgMCAAEERENCAgIAAIAIoAgANASACIAIpAwgQ0YCAgAALIAIpAwghAyACKQMAUA0BCwALIAJBEGokgICAgAAgAwsnACAAIAEQsICAgABCASACrUIghkIEhCADrUIghkIEhBCDgICAABoL+gECAX8CfiOAgICAAEEwayICJICAgIAAIAJBIGpByILAgABBCRDQgICAAAJAAkAgAigCIA0AIAIpAyghAwJAAkAgAUEBcUUNACACQSBqQdeBwIAAQQgQ0ICAgAAgAigCIA0CIAJBIGogAikDKBDRgICAAAwBCyACQSBqQdCBwIAAQQcQ0ICAgAAgAigCIA0BIAJBIGogAikDKBDRgICAAAsgAikDKCEEIAIpAyCnDQAgAiAENwMQIAIgAzcDCCACIACtQiCGQgSENwMYIAJBIGogAkEIahDSgICAACACKAIgRQ0BCwALIAIpAyghAyACQTBqJICAgIAAIAMLHQAgACABEK6AgIAAIAIQsoCAgAAgAxCEgICAABoLQQEBfyOAgICAAEEQayIBJICAgIAAIAEgABD2gICAAAJAIAEoAgBBAUcNAAALIAEpAwghACABQRBqJICAgIAAIAALzwECAX8DfiOAgICAAEEQayIDJICAgIAAIANBBGoQtICAgAACQCADKAIEQQFHDQAgAygCCCADKAIMELWAgIAACyAAIAEQtoCAgAAiBBCFgICAACEFIAIpAwAhBgJAAkAgBUKAgICAEFQNAAJAIAYQhYCAgABCgICAgBBaDQAgBCEGDAELIAYQhYCAgABC/////x9YDQEgAhC3gICAACAEIAZBAhC4gICAABCGgICAACEGCyADQRBqJICAgIAAIAYPC0KDgICAgPoBELmAgIAAAAsMACAAQQEQ0IGAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQpICAgAAaC70BBAF/AX4BfwF+I4CAgIAAQRBrIgIkgICAgAAgAkEEahC0gICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQtYCAgAALAkACQCAAIAEQuoCAgAAiA0IBELuAgIAAIgRFDQAgA0IBEIeAgIAAIgVC/wGDQsgAUg0BIAJBBGoQvICAgAAgAigCBEEBRw0AIAAgASACKAIIIAIoAgwQvYCAgAALEIiAgIAAIQMgAkEQaiSAgICAACAFIAMgBBsPCwALvQECAX8BfiOAgICAAEEQayIBJICAgIAAIAFBADYCCCABIAA2AgQCQAJAAkAgAUEEakECEK2BgIAAIgIQhYCAgABCgICAgHCDQoCAgIAgUg0AIAFBADsBDiACEIWAgIAAQoCAgIBwg0KAgICAIFINASACIAFBDmpBAhDagICAACABLwEOQYAGRw0CIAFBEGokgICAgAAPC0KDgICAgIIBELmAgIAAAAsQsIGAgAAAC0KDgICAgPoBELmAgIAAAAslACAAIAGtQiCGQgSEIAAQhYCAgABCgICAgHCDQgSEEIuAgIAACwsAIAAQpYCAgAAaC4oBAgF/AX4jgICAgABBMGsiAiSAgICAACACQSBqQeCFwIAAQQ8Q0ICAgAACQAJAIAIoAiANACACIAIpAyg3AwggAiABrUIghkIEhDcDGCACIACtQiCGQgSENwMQIAJBIGogAkEIahDSgICAACACKAIgRQ0BCwALIAIpAyghAyACQTBqJICAgIAAIAMLDwAgACABEKOAgIAAQgFRCwwAIABBAhDQgYCAAAsnACAAIAEQuoCAgABCASACrUIghkIEhCADrUIghkIEhBCDgICAABoLxgECAX8BfiOAgICAAEEQayICJICAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAACwJAAkACQEEBIAEQv4CAgAAiA0IBELuAgIAARQ0AIAIgA0IBEIeAgIAAEMCAgIAAIAIoAgBBAUcNAQALIABCADcDAAwBCyACKQMIIQMgAEIBNwMAIAAgAzcDCCACELyAgIAAIAIoAgBBAUcNACABIAIoAgQgAigCCBDBgICAAAsgAkEQaiSAgICAAAubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBnIXAgABBBBDQgICAACACKAIADQIgAiACKQMIIAGtQiCGQgSEENWAgIAADAELIAJBlIXAgABBCBDQgICAACACKAIADQEgAiACKQMIENGAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLIwACQCABQv8Bg0LIAFENACAAQgE3AwAPCyAAIAEQ24CAgAALJwBBASAAEL+AgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQg4CAgAAaC4cBAgF/AX4jgICAgABBEGsiACSAgICAACAAQQRqELSAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC1gICAAAsCQAJAQQAgABC/gICAACIBQgIQu4CAgABFDQAgAUICEIeAgIAAIgFC/wGDQs0AUQ0BAAsQw4CAgAAACyAAQRBqJICAgIAAIAELCQAQ34CAgAAAC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELSAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC1gICAAAtBACEBAkBBABDFgICAACICQgIQu4CAgABFDQBBASEBAkACQCACQgIQh4CAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUGmi8CAAEEGENCAgIAAIAEoAgANAyABIAEpAwgQ0YCAgAAMAgsgAUGsi8CAAEEIENCAgIAAIAEoAgANAiABIAEpAwgQ0YCAgAAMAQsgAUG0i8CAAEEKENCAgIAAIAEoAgANASABIAEpAwgQ0YCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABDHgICAABCJgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABC0gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtYCAgAALIAAQyYCAgAAgACkDCCEBIAApAwBBiggQyoCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyYCAgAAgACkDCCEBIAApAwBBiggQyoCAgAAgARCJgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqELSAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC1gICAAAsgABDOgICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQuYCAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEMyAgIAAAkAgACkDAFANAEKDgICAsIEBELmAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahC0gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtYCAgAALQgAhAgJAAkBBARDNgICAACIDQgAQu4CAgABFDQAgA0IAEIeAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUG5isCAAEEMENCAgIAAIAEoAgANAiABIAEpAwgQ0YCAgAAMAQsgAUG0isCAAEEFENCAgIAAIAEoAgANASABIAEpAwgQ0YCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABDNgICAACICQgIQu4CAgABFDQAgAkICEIeAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQcODwIAAQQcQ0ICAgAACQAJAIAAoAgANACAAIAApAwgQ0YCAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQzYGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEKqAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCqgICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQbCBwIAAQQYQ0ICAgAACQAJAIAAoAgANACAAIAApAwgQ0YCAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQdeBwIAAQQgQ0ICAgAAgASgCAA0CIAEgASkDCBDRgICAAAwBCyABQdCBwIAAQQcQ0ICAgAAgASgCAA0BIAEgASkDCBDRgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCqgICAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAseAAJAIACnQQFxRQ0ADwtCg4CAgJD6ARC5gICAAAAL7gUDAX8FfgN/I4CAgIAAQdAAayIFJICAgIAAIAIpAzAiBhCFgICAACEHIAVBEGoQ2ICAgAACQAJAAkACQCAFKQMQIgggBSkDGCIJhFANACACKQMgIQoCQCADIARCgICAgICAgICAf4WEQgBSDQAgCCAJg0J/UQ0BCyAFIAMgBCAIIAkQ1IGAgAAgBSkDCEIBWQ0BIAUpAwAhBAJAAkAgB0L/////D1YNACAFIAQ3AzggBSAKNwMwQgAhBiAFQgA3AxAgBUEgaiELQQEhDAwBCyAFQRBqIAEQioCAgABBBBC4gICAACIDQgRChICAgMAAEIuAgIAAENmAgIAAIAUoAhBBAUYNBCAFKQMYIQggBUEANgJAIAggBUHAAGpBBBDagICAACAFKAJAIgtB////B3ENAwJAAkACQCALQRh2DgIAAQYLIAVBwABqIANChICAgMAAQoSAgICAARCLgICAABDZgICAACAFKAJAQQFGDQYgBSkDSCEIIAVBADYCQCAIIAVBwABqQQQQ2oCAgAAgBSgCQA0FIAVBwABqIANChICAgIABQoSAgICABRCLgICAABDbgICAACAFKAJAQQFHDQEMBgsgBUHAAGogA0KEgICAwABChICAgMAEEIuAgIAAENuAgIAAIAUoAkBBAUYNBQsgBSkDSCEDIAVBKGohCyAFIAQ3AzggBSAKNwMwIAVCATcDICAFIAM3AxggBUIBNwMQQQIhDAsgCyAGNwMAIAVBEGoQ3ICAgAAhCyAFEIiAgIAANwNAIAVBwABqIAoQ3YCAgAAgBBDegICAACENAkACQCALDQAgDSkDACEEDAELIAdC/////w9YDQMgDSADEN2AgIAAIQsgBSgCIEUNAyALKQMAIAUpAygQhoCAgAAhBAsgACACKAJAIAwgAkEoahCzgICAADcDCCAAIAQ3AwAgBUHQAGokgICAgAAPCxDfgICAAAALQoOAgICg9wIQuYCAgAAACxDDgICAAAALAAuBAQIBfwF+I4CAgIAAQSBrIgEkgICAgAACQAJAQQAQooGAgAAiAkICELuAgIAARQ0AIAEgAkICEIeAgIAAEPSAgIAAIAEoAgBBAUcNAQALQoOAgICQ9wIQuYCAgAAACyABKQMQIQIgACABKQMYNwMIIAAgAjcDACABQSBqJICAgIAACzYBAX5CASECAkAgARCFgICAAEKAgICAcINCgICAgMAAUg0AIAAgATcDCEIAIQILIAAgAjcDAAsfACAAQgQgAa1CIIZCBIQgAq1CIIZCBIQQlICAgAAaCzYBAX5CASECAkAgARCFgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAszAQF/QQAhAQJAIAApAwBQDQAgACgCEEEBRw0AIAApAxgQhYCAgABC/////w9WIQELIAELwgEBBH8jgICAgABBwABrIgIkgICAgAAgAkEgakEYaiIDQgA3AwAgAkEgakEQaiIEQgA3AwAgAkEgakEIaiIFQgA3AwAgAkIANwMgIAEgAkEgakEgENqAgIAAIAJBGGogAykDADcDACACQRBqIAQpAwA3AwAgAkEIaiAFKQMANwMAIAIgAikDIDcDACAAKQMAIQEgACABIAEQhYCAgABCgICAgHCDQgSEIAJBIBCxgYCAADcDACACQcAAaiSAgICAACAAC6cBAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISENwMIIAApAwAhASAAIAEgARCFgICAAEKAgICAcINCBIQgAkEIakEIELGBgIAANwMAIAJBEGokgICAgAAgAAsJABDMgYCAAAALUAEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQtICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELWAgIAACyAAENiAgIAAIAFBEGokgICAgAALVAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC0gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQtYCAgAALEOKAgIAAIQEgAEEQaiSAgICAACABC0cBAX4CQAJAQQEQooGAgAAiAEICELuAgIAARQ0AIABCAhCHgICAACIAQv8Bg0LNAFENAQALQoOAgICQ9wIQuYCAgAAACyAACx0AAkAQ5ICAgAANAA8LQoOAgIDAnwIQuYCAgAAAC0UCAX8BfkEAIQACQBDTgICAACIBQgIQu4CAgABFDQBBASEAAkACQCABQgIQh4CAgACnQf8BcQ4CAQIACwALQQAhAAsgAAvNAgIBfwd+I4CAgIAAQfAAayIDJICAgIAAQgAhBEIAIQUCQAJAAkACQCABIAIQ5oCAgABFDQAgA0EwaiABIAIQ54CAgAAgAygCMEEBcUUNAiADKQNYIQYgAykDUCEHIAMpA0ghBCADKQNAIQggAykDYCEJIAMpA2ghBRDogICAACIKIAVUDQMgA0EANgIsIANBEGogCiAFfUIAIAggBCADQSxqENGBgIAAIAMoAiwNASAJUA0BQgAhBCADIAMpAxAgAykDGCAJQgAQ1IGAgABCACEFIAMpAwAiCCAHWiADKQMIIgkgBlkgCSAGURsNACAGIAmFIAYgBiAJfSAHIAhUrX0iBYWDQgBTDQEgByAIfSEECyAAIAQ3AwAgACAFNwMIIANB8ABqJICAgIAADwsQ34CAgAAACxDDgICAAAALQoOAgICQrAIQuYCAgAAAC2UBAn8jgICAgABBEGsiAiSAgICAAAJAIAEgABCwgICAAEIBELuAgIAAIgNFDQAgAkEEahC8gICAACACKAIEQQFHDQAgASAAIAIoAgggAigCDBCvgICAAAsgAkEQaiSAgICAACADC5oDBAF/AX4BfwV+I4CAgIAAQcAAayIDJICAgIAAAkACQAJAIAIgARCwgICAACIEQgEQu4CAgABFDQAgBEIBEIeAgIAAIQRBACEFAkADQCAFQSBGDQEgAyAFakICNwMAIAVBCGohBQwACwsCQCAEQv8Bg0LMAFINACAEQaiCwIAAQQQgA0EEEPOAgIAAIANBIGogAykDABD0gICAACADKAIgQQFGDQAgAykDOCEEIAMpAzAhBiADQSBqIAMpAwgQ7oCAgAAgAygCIA0AIAMpAyghByADQSBqIAMpAxAQ9ICAgAAgAygCIEEBRg0AIAMpAzghCCADKQMwIQkgA0EgaiADKQMYEO6AgIAAIAMoAiBBAUcNAgsACyAAQgA3AwggAEIANwMADAELIAMpAyghCiAAIAY3AyAgACAJNwMQIABCADcDCCAAQgE3AwAgACAHNwM4IAAgCjcDMCAAIAQ3AyggACAINwMYIANBIGoQvICAgAAgAygCIEUNACACIAEgAygCJCADKAIoEK+AgIAACyADQcAAaiSAgICAAAs9AgF+AX8CQBCggICAACIAp0H/AXEiAUEGRg0AAkAgAUHAAEcNACAAEJOAgIAADwsQ34CAgAAACyAAQgiIC5kBAgF/An4jgICAgABB8ABrIgIkgICAgAAgAkEwaiAAIAEQ5YCAgAAgAikDOCEDIAIpAzAhBCACQTBqIAAgARDngICAAAJAIAIoAjBBAXENABDDgICAAAALIAIgAkHAAGpBMBDYgYCAACICIAM3AxggAiAENwMQIAIQ6ICAgAA3AyggACABIAIQ6oCAgAAgAkHwAGokgICAgAALlgICAX8EfiOAgICAAEEwayIDJICAgIAAIAEgABCwgICAACEEIANBIGogAikDECACKQMYEPWAgIAAAkAgAygCIA0AIAMpAyghBSADQSBqIAIpAygQ9oCAgAAgAygCIA0AIAMpAyghBiADQSBqIAIpAwAgAikDCBD1gICAACADKAIgDQAgAykDKCEHIANBIGogAikDIBD2gICAACADKAIgQQFGDQAgAyADKQMoNwMYIAMgBzcDECADIAY3AwggAyAFNwMAIARBqILAgABBBCADQQQQ94CAgABCARCEgICAABogAxC8gICAAAJAIAMoAgBBAUcNACABIAAgAygCBCADKAIIEK+AgIAACyADQTBqJICAgIAADwsAC7gCBAF/An4BfwR+I4CAgIAAQfAAayIEJICAgIAAAkACQAJAAkAgACABEOaAgIAARQ0AIAAgARDpgICAACAEQTBqIAAgARDngICAACAEKAIwQQFxRQ0CQgAhBUIAIQYCQCAEIARBwABqQTAQ2IGAgAAiBykDACIIIAcpAxAiCVYgBykDCCIKIAcpAxgiC1UgCiALURtFDQAgCiALhSAKIAogC30gCCAJVK19IgaFg0IAUw0CIAggCX0hBQsgAiAFViADIAZVIAMgBlEbDQMgCyADhUJ/hSALIAsgA3wgCSACfCIDIAlUrXwiAoWDQgBTDQEgByADNwMQIAcgAjcDGCAAIAEgBxDqgICAAAsgBEHwAGokgICAgAAPCxDfgICAAAALEMOAgIAAAAtCg4CAgICsAhC5gICAAAAL5gEEAX8CfgF/An4jgICAgABB8ABrIgQkgICAgAACQAJAAkAgACABEOaAgIAARQ0AIAAgARDpgICAACAEQTBqIAAgARDngICAACAEKAIwQQFxRQ0BQgAhBUIAIQYCQCACIAQgBEHAAGpBMBDYgYCAACIHKQMQIghUIAMgBykDGCIJUyADIAlRG0UNACAJIAOFIAkgCSADfSAIIAJUrX0iBoWDQgBTDQMgCCACfSEFCyAHIAU3AxAgByAGNwMYIAAgASAHEOqAgIAACyAEQfAAaiSAgICAAA8LEMOAgIAAAAsQ34CAgAAAC2oCAX8CfiOAgICAAEEQayIAJICAgIAAQgAhAQJAAkBBACAAEK6AgIAAIgJCAhC7gICAAEUNACAAIAJCAhCHgICAABDugICAACAAKAIAQQFGDQEgACkDCCEBCyAAQRBqJICAgIAAIAEPCwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCTgICAACEBCyAAIAM3AwAgACABNwMIC58BAgF/AX4jgICAgABBEGsiAiSAgICAAAJAAkACQEEBIAEQroCAgAAiA0IBELuAgIAARQ0AIAIgA0IBEIeAgIAAEO6AgIAAIAIoAgBBAUcNAQALIABCADcDAAwBCyACKQMIIQMgAEIBNwMAIAAgAzcDCCACELyAgIAAIAIoAgBFDQAgASACKAIEIAIoAggQrYCAgAALIAJBEGokgICAgAALYwECfyOAgICAAEEQayIBJICAgIAAAkBBASAAEK6AgIAAQgEQu4CAgAAiAkUNACABQQRqELyAgIAAIAEoAgRBAUcNACAAIAEoAgggASgCDBCtgICAAAsgAUEQaiSAgICAACACC08BAn5CACEBAkACQEECIAAQroCAgAAiAkICELuAgIAARQ0AIAJCAhCHgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALhwECAX8BfiOAgICAAEEQayIBJICAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACwJAAkACQCAAEPCAgIAADQAQ7YCAgAAhAgwBCyABIAAQ74CAgAAgASgCAEUNASABKQMIIQILIAFBEGokgICAgAAgAg8LEMOAgIAAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQnYCAgAAaC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQl4CAgAAhAyABEJiAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMAC1sAAkACQCABQoCAgICAgIDAAHxC//////////8AVg0AIAEgAYUgAiABQj+HhYRCAFINACABQgiGQguEIQEMAQsgAiABEJmAgIAAIQELIABCADcDACAAIAE3AwgLOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEJKAgIAAIQELIABCADcDACAAIAE3AwgLLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBCcgICAAAuKAgIBfwZ+I4CAgIAAQcAAayIDJICAgIAAIAMQtICAgAACQCADKAIAQQFHDQAgAygCBCADKAIIELWAgIAACwJAAkACQAJAIAEgAhDmgICAAA0AQv///////////wAhBEJ/IQUMAQsgAyABIAIQ54CAgAAgAygCAEEBcUUNAiADKQMQIQYgAykDGCEHIAMgASACEOWAgIAAQgAhBUIAIQQgBiADKQMAIghWIAcgAykDCCIJVSAHIAlRG0UNACAHIAmFIAcgByAJfSAGIAhUrX0iBIWDQgBTDQEgBiAIfSEFCyAAIAU3AwAgACAENwMIIANBwABqJICAgIAADwsQ34CAgAAACxDDgICAAAALjQQCAX8FfiOAgICAAEHwAGsiBiSAgICAACAGQeAAahDggICAACAGKQNoIQcgBikDYCEIAkACQAJAAkACQAJAIAUQ8ICAgAANABDtgICAACEJDAELIAZB4ABqIAUQ74CAgAAgBigCYEUNASAGKQNoIQkLAkACQCAJUEUNAEIAIQpCACEJDAELIAZB4ABqEPGAgIAAIAYoAmBFDQIgBkEANgJcIAZBwABqIAEgAiAJQgAgBkHcAGoQ0YGAgAAgBigCXA0DIAZBMGogBikDQCAGKQNIQpDOAEIAENSBgIAAIAYpAzghCSAGKQMwIQoLIAIgCYUgAiACIAl9IAEgClStfSILhYNCAFMNAiAIIAeEUA0CAkAgASAKfSICIAtCgICAgICAgICAf4WEQgBSDQAgCCAHg0J/UQ0DCyAGQSBqIAIgCyAIIAcQ1IGAgAAgBkEANgIcIAYgBikDICAGKQMoIAggByAGQRxqENGBgIAAIAYoAhwNAiAGKQMIIgIgCYVCf4UgAiACIAl8IAYpAwAiCSAKfCIHIAlUrXwiCIWDQgBTDQIgCSADVCACIARTIAIgBFEbDQMgACAJNwMQIAAgBzcDACAAIAI3AxggACAINwMIIAZB8ABqJICAgIAADwsQw4CAgAAAC0KDgICAkJMCELmAgIAAAAsQ34CAgAAAC0KDgICAsPcCELmAgIAAAAvnBQMDfwJ+AX8jgICAgABB8ABrIgQkgICAgAACQAJAAkACQAJAIAAQpoCAgABB/wFxIgVBAkYNACABQv8Bg0IEUg0AIARBMGogAhD0gICAACAEKAIwQQFGDQAgBCkDSCEAIAQpA0AhAiAEQTBqIAMQ7oCAgAAgBCgCMEEBRg0AIAQpAzghAxDGgICAACAEQTBqELSAgIAAAkAgBCgCMEEBRw0AIAQoAjQgBCgCOBC1gICAAAsgAkIAUiAAQgBVIABQG0UNASADQgBRDQICQAJAIAUgAUIgiKciBhDmgICAAA0AEOiAgIAAIQcgBCAANwM4IAQgAjcDMCAEQgA3A0ggBEIANwNAIAQgAzcDUCAEIAc3A1ggBSAGIARBMGoQ6oCAgABB0YLAgABBDhD7gICAABD8gICAACEHIAUQ1ICAgAAhCCACIAAQqYCAgAAhACAEIAMQsoCAgAA3A0ggBCAANwNAIAQgAUKEgICAcIM3AzggBCAINwMwIAdB6ILAgABBBCAEQTBqQQQQ94CAgAAQjICAgAAaDAELIARBMGogBSAGEOeAgIAAIAQoAjBBAXFFDQQCQCACIAQpA0CFIAAgBCkDSIWEQgBSDQAgAyAEKQNgUQ0GCyAFIAYQ6YCAgAAgBEEwaiAFIAYQ54CAgAAgBCgCMEEBcUUNBCAEIARBwABqQTAQ2IGAgAAiCSAANwMIIAkgAjcDACAJIAM3AyAgBSAGIAkQ6oCAgABBiIPAgABBEhD7gICAABD8gICAACEHIAUQ1ICAgAAhCCACIAAQqYCAgAAhACAJIAMQsoCAgAA3A0ggCSAANwNAIAkgAUKEgICAcIM3AzggCSAINwMwIAdB6ILAgABBBCAJQTBqQQQQ94CAgAAQjICAgAAaCyAEQfAAaiSAgICAAEICDwsAC0KDgICAsKwCELmAgIAAAAtCg4CAgKCsAhC5gICAAAALEMOAgIAAAAtCg4CAgMCsAhC5gICAAAALRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQzYGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCqgICAACEAIAFBEGokgICAgAAgAAv8AQIDfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAIAAQpoCAgABB/wFxIgNBAkYNACABQv8Bg0IEUg0AIAFCIIinIQQQxoCAgAAgAhC0gICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtYCAgAALIAMgBBDmgICAAEUNASAEIAMQsICAgABCARCNgICAABpBmoPAgABBEBD7gICAABD8gICAACEAIAMQ1ICAgAAhBSACIAFChICAgHCDNwMIIAIgBTcDACAAQayDwIAAQQIgAkECEPeAgIAAEIyAgIAAGiACQRBqJICAgIAAQgIPCwALQoOAgIDArAIQuYCAgAAAC50CAgN/AX4jgICAgABB0ABrIgIkgICAgAACQAJAAkAgABCmgICAAEH/AXEiA0ECRg0AIAFC/wGDQgRSDQAgAUIgiKchBCACELSAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC1gICAAAsCQAJAIAMgBBDmgICAAA0AQgAhBUIAIQFCACEADAELIAIgAyAEEOeAgIAAIAIoAgBBAXFFDQIgAikDGCEAIAIpAxAhASACKQMwIQULIAIgASAAEPWAgIAAIAIoAgANACACKQMIIQEgAiAFEPaAgIAAIAIoAgBBAUcNAgsACxDDgICAAAALIAIgAikDCDcDSCACIAE3A0AgAkHAAGpBAhCqgICAACEBIAJB0ABqJICAgIAAIAELjAEBAn8jgICAgABBEGsiAiSAgICAAAJAIAAQpoCAgABB/wFxIgNBAkYNACABQv8Bg0IEUg0AIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAACyACIAMgAUIgiKcQ5YCAgAAgAikDACACKQMIEKmAgIAAIQEgAkEQaiSAgICAACABDwsAC2cBAn8jgICAgABBEGsiAiSAgICAAAJAIAAQpoCAgABB/wFxIgNBAkYNACABQv8Bg0IEUg0AIAIgAyABQiCIpxD4gICAACACKQMAIAIpAwgQqYCAgAAhASACQRBqJICAgIAAIAEPCwAL8wECAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDugICAAAJAAkACQCABKAIAQQFGDQAgASkDCCEAEMaAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACyAAQpHOAFoNARDtgICAACAAUQ0CQQAgASAAQgIQsYCAgABBpIDAgABBExD7gICAABD8gICAACECIAEgABCygICAADcDACACQcCAwIAAQQEgAUEBEPeAgIAAEIyAgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgICAkwIQuYCAgAAAC0KDgICAsJMCELmAgIAAAAvdAgICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQv8Bg0IEUg0AIAIgARDugICAACACKAIAQQFGDQAgAikDCCEBEMaAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAACyABQpHOAFoNASAAQiCIpyIDEPCAgIAARQ0DIAIgAxDvgICAACACKAIARQ0CIAIpAwggAVINA0KDgICAsJMCELmAgIAACwALQoOAgICAkwIQuYCAgAAACxDDgICAAAALQQEgAyABQgEQsYCAgAAgAhC8gICAAAJAIAIoAgBBAUcNACADIAIoAgQgAigCCBCtgICAAAtByIDAgABBCxD7gICAABD8gICAACEEIAIgARCygICAADcDCCACIABChICAgHCDNwMAIARB1IDAgABBAiACQQIQ94CAgAAQjICAgAAaIAJBEGokgICAgABCAgvWAQICfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABC/wGDQgRSDQAgAEIgiKchAhDGgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsgAhDwgICAAEUNAUEBIAIQroCAgABCARCNgICAABpB5IDAgABBDRD7gICAABD8gICAACEDIAEgAEKEgICAcIM3AwAgA0H0gMCAAEEBIAFBARD3gICAABCMgICAABogAUEQaiSAgICAAEICDwsAC0KDgICAoJMCELmAgIAAAAvjAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABC/wGDQs0AUg0AEMaAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACyABEPGAgIAAAkAgASgCAEEBRw0AIAEp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QQhqIQMMAAsLEN+AgIAAAAsgBCkDWCEAIARB4AFqJICAgIAAIAAPCwALcwIBfwF+I4CAgIAAQTBrIgEkgICAgAAgASAAKQMANwMoIAEgADEAHDcDICABIAApAxA3AxggASAAKQMINwMQIAEgADUCGEIghkIEhDcDCEHkg8CAAEEFIAFBCGpBBRD3gICAACECIAFBMGokgICAgAAgAgvvAQICfwN+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFBxITAgABBAiACQQIQ84CAgAAgAkEQaiACKQMAEPSAgIAAIAIoAhBBAUYNACACKQMoIQEgAikDICEGIAJBEGogAikDCBD0gICAACACKAIQQQFGDQAgAikDICEEIAAgAikDKDcDKCAAIAQ3AyAgACABNwMYIAAgBjcDEEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBMGokgICAgAALhwEBAX8jgICAgABBEGsiBSSAgICAACAFIAEgAhD1gICAAEIBIQICQCAFKAIADQAgBSkDCCEBIAUgAyAEEPWAgIAAIAUoAgANACAFIAUpAwg3AwggBSABNwMAIABBxITAgABBAiAFQQIQ94CAgAA3AwhCACECCyAAIAI3AwAgBUEQaiSAgICAAAsIABDhgICAAAvkAwMCfwJ+A38jgICAgABBMGsiACSAgICAACAAQSBqELSAgIAAAkAgACgCIEEBRw0AIAAoAiQgACgCKBC1gICAAAsQ4oCAgAAQl4GAgAAhASAAQSBqENiAgIAAAkACQCAAKQMgIgJCAFIgACkDKCIDQgBVIANQIgQbRQ0AAkACQCACQv////+P8LvWhX9WIANC24K16+KdAVYgA0LbgrXr4p0BURsNACAAQRBqIAIgA0KAgIT+pt7hEUIAENaBgIAAQQpBACAAKQMQIAIgAkL//4P+pt7hEVYgA0IAUiAEGyIFGyIDQv/Hr6AlViIGGyEEIAVBBHQhBQJAIANCgMivoCWAIAMgBhsiA0KgjQZUDQAgBEEFciEEIANCoI0GgCEDCyAEIAVqIAOnIgRB9v8XaiAEQZz/H2pxIARBmPg3aiAEQfCxH2pxc0ERdmohBAwBCyAAIAIgA0KAgICAkPC71oV/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gICAABoQz4CAgAAgA0ICEISAgIAAGiAGQdAAaiSAgICAAEICCw4AQQAgAEICEMmBgIAAC7YBAwF/AX4BfyOAgICAAEEgayIEJICAgIAAQfyEwIAAQQwQ+4CAgAAhBSAEIAIgAxC2gYCAADcDCCAEIAE3AwBBACEGA0ACQCAGQRBHDQBBACEGAkADQCAGQRBGDQEgBEEQaiAGaiAEIAZqKQMANwMAIAZBCGohBgwACwsgACAFIARBEGpBAhCqgICAABCrgICAACAEQSBqJICAgIAADwsgBEEQaiAGakICNwMAIAZBCGohBgwACwuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBxYfAgABBBRDQgICAACABKAIADQIgASABKQMIENGAgIAADAELIAFBsIfAgABBFRDQgICAACABKAIADQEgASABKQMIENGAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILEQBChICAgBBCBBCcgYCAABsLCAAQx4CAgAALLwACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQtoCAgAAPCwALjwQHAX8DfgF/AX4BfwF+An8jgICAgABBMGsiASSAgICAAAJAAkAgAEL/AYNCywBSDQAQxoCAgAAgAUEIahC0gICAAAJAIAEoAghBAUcNACABKAIMIAEoAhAQtYCAgAALIAAQgICAgABCIIghAkIAIQMCQANAIAMgAlENASAAIANCIIZCBIQQgYCAgAAhBEEAIQUCQANAIAVBGEYNASABQQhqIAVqQgI3AwAgBUEIaiEFDAALC0EBIQUCQCAEQv8Bg0LMAFINACAEQciFwIAAQQMgAUEIakEDEPOAgIAAIAEpAwgiBEL/AYNCBFINACABKQMQIgZC/wGDQgRSDQAgByAGQiCIpyABKQMYIgZC/wGDQsgAUiIFGyEHIAggBiAFGyEIIAkgBEIgiKcgBRshCQsgA0L/////D1ENAyAFDQMgASAHNgIUIAEgCTYCECABIAg3AwggAUEIahC3gICAACABKQMIIQQgASgCECIFIAEoAhQiChC6gICAACAEQgEQhICAgAAaIAFBJGoQvICAgAACQCABKAIkQQFHDQAgBSAKIAEoAiggASgCLBC9gICAAAsgA0IBfCEDDAALC0HvhcCAAEETEPuAgIAAEPyAgIAAIQMgASAANwMIIANBmIbAgABBASABQQhqQQEQ94CAgAAQjICAgAAaIAFBMGokgICAgABCAg8LAAsQ34CAgAAAC2kBAX8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACACQv8Bg0LIAFINACADIAI3AwggAEIgiKcgAUIgiKcgA0EIahCzgICAACEAIANBEGokgICAgAAgAA8LAAubAQICfwF+I4CAgIAAQSBrIgEkgICAgAAgASAAEKmBgIAAAkAgASgCAEEBRg0AIAEoAhghAiABKQMIIQMgARC0gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtYCAgAALIAEgAhC+gICAAEIAIQACQCABKAIAQQFHDQAgASkDCCADEIWBgIAArSEACyABQSBqJICAgIAAIAAPCwAL4gECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EYRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBmITAgABBAyACQQhqQQMQ84CAgAAgAkEgaiACKQMIEO6AgIAAIAIoAiANACACKQMoIQEgAkEgaiACKQMQEMCAgIAAIAIoAiANACACKQMYIgVC/wGDQgRSDQAgAikDKCEEIAAgATcDECAAIAQ3AwggACAFQiCIPgIYQgAhBAsgACAENwMAIAJBMGokgICAgAALdQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCBFINACACIAEQwICAgAAgAigCAEEBRg0AIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAAC0IAELKAgIAAIQAgAkEQaiSAgICAACAADwsAC7oPBAJ/A34BfwF+I4CAgIAAQbABayIGJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAZBIGogARCpgYCAACAGKAIgQQFGDQAgBigCOCEHIAYpAzAhCCAGKQMoIQEgBkEgaiACEMCAgIAAIAYoAiBBAUYNACADQv8Bg0LIAFINACAGKQMoIQkgBiADNwMYIARC/wGDQsgAUg0AIAZBIGogBRD0gICAACAGKAIgQQFGDQAgBikDOCECIAYpAzAhBCAGQSBqELSAgIAAAkAg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gICAAAJAAkAgAEEgEK2BgIAAIgIQhYCAgABCgICAgHCDQoCAgICABFINACABQSBqQRhqIgBCADcDACABQSBqQRBqIgNCADcDACABQSBqQQhqIgRCADcDACABQgA3AyAgAhCFgICAAEKAgICAcINCgICAgIAEUg0BIAIgAUEgakEgENqAgIAAIAFBGGogACkDADcDACABQRBqIAMpAwA3AwAgAUEIaiAEKQMANwMAIAEgASkDIDcDACABQSAQj4GAgAAhAiABQcAAaiSAgICAACACDwtCg4CAgICCARC5gICAAAALELCBgIAAAAt1AgJ/AX4CQAJAIAAoAgQiAiABaiIBIAJJDQAgASAAKAIAIgMpAwAQhYCAgABCIIinSw0BIAMpAwAgAq1CIIZCBIQgAa1CIIZCBIQQi4CAgAAhBCAAIAE2AgQgBA8LEN+AgIAAAAtCg4CAgID9ABC5gICAAAALJwEBfwJAIAAQhYCAgABCIIinIgIgAUkNACACIAFrDwsQ34CAgAAAC0YBAX8CQEGcicCAAEGQicCAACAAp0EBcSICG0EIQQwgAhsQj4GAgAAgARCGgICAABCfgICAACIAQv8Bg0LNAFENAAALIAALCQAQ34CAgAAACx4AIAAgASACrUIghkIEhCADrUIghkIEhBCbgICAAAuJAQECfyOAgICAAEEgayIDJICAgIAAIAMgABCpgYCAAAJAIAMoAgBBAUYNACABQv8Bg0LIAFINACACQv8Bg0LNAFINACADELSAgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBC1gICAAAsQj4CAgAAgAhCFgYCAACEEIANBIGokgICAgAAgBK0PCwALogECAX8BfiOAgICAAEEgayIAJICAgIAAIABBEGoQtICAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELWAgIAACyAAQRBqQgEQ9oCAgAACQAJAIAAoAhANACAAKQMYIQEgAEEQakIBEPaAgIAAIAAoAhBBAUcNAQsACyAAIAApAxg3AwggACABNwMAIABBAhCqgICAACEBIABBIGokgICAgAAgAQsIABDCgICAAAtRAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgASAAQiCIpxC+gICAACABKQMAIAEpAwgQtoGAgAAhACABQRBqJICAgIAAIAALDQAgAUICIACnQQFxGwu6AgQBfwF+AX8BfiOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCBFINAAJAAkAgAUICUg0AQgAhAQwBCyACIAEQwICAgAAgAigCAEEBRg0BIAIpAwghA0IBIQELEMaAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAAC0EBIABCIIinIgQQv4CAgAAhBQJAAkAgAVANACAFIANCARCEgICAABogAhC8gICAACACKAIAQQFHDQEgBCACKAIEIAIoAggQwYCAgAAMAQsgBUIBEI2AgIAAGgtCjvKqvPDWqusAEPyAgIAAIQUgAiABIAMQtoGAgAA3AwggAiAAQoSAgIBwgzcDACAFQaiFwIAAQQIgAkECEPeAgIAAEIyAgIAAGiACQRBqJICAgIAAQgIPCwALhwECAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABCegYCAAAJAIAEpAwAiAEICUQ0AIAEpAwghAhDGgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsQwoCAgAAQj4CAgAAgACACEKGBgIAAIAFBEGokgICAgABCAg8LAAviBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQuoGAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARC6gYCAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqELSAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBC1gICAAAsQxoCAgAACQAJAAkAQxICAgAANABC7gYCAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABC5gICAAAALQoOAgIDA/wAQuYCAgAAACwJAAkAgAigCCEEBRw0AQQEgAigCDCACKAIQELyBgIAADAELQQEQxYCAgABCAhCNgICAABoLAkACQCACKAIYQQFHDQBBAiACKAIcIAIoAiAQvIGAgAAMAQtBAhDFgICAAEICEI2AgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QeCKwIAAQQ8Q+4CAgAAQ/ICAgAAhACACQShqEL2BgIAAIQEgAiACQTRqEL2BgIAANwNIIAIgATcDQCAAQYSLwIAAQQIgAkHAAGpBAhD3gICAABCMgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQzoGAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAszAQJ+EKGAgIAAIQACQBCigICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxDfgICAAAALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABDFgICAACEEIAMgASACEM+BgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQhICAgAAaIANBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEL+BgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQtICAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQELWAgIAACyAAQQhqELSAgIAAIABBFGoiARC8gICAACAAQTBqIABBCGoQv4GAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEL+BgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCqgICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQz4GAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahC0gICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQtYCAgAALEMaAgIAAAkAQxICAgABFDQBCg4CAgOD/ABC5gICAAAALQQAQxYCAgABCAUICEISAgIAAGkGUi8CAAEESEPuAgIAAEPyAgIAAQQRBACAAQRhqQQAQ94CAgAAQjICAgAAaIABBIGokgICAgABCAgsJABDEgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQtYCAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMmAgIAAIAApAwAgACkDCBC2gYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwAgACkDCBC2gYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQtICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELWAgIAACxDIgICAACECEMuAgIAAIAAQoIGAgAAgAiAAEMaBgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEGticCAAEEVEPuAgIAAEPyAgIAAIQMgAiAANwMIIAIgATcDACADQdSJwIAAQQIgAkECEPeAgIAAEIyAgIAAGiACQRBqJICAgIAAC9wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQtICAgAACQCACKAIIQQFHDQAgAigCDCACKAIQELWAgIAACxDIgICAACEDAkACQCABQv////8PVg0AIAJBCGoQzICAgAAgAikDECEBIAIpAwhBiAgQyoCAgAAgASAAEIWBgIAARQ0DEMiBgIAADAELELuBgIAAIAFCIIinSQ0DQQEgAEIAEMmBgIAAQQEQzYCAgABCACABQoSAgIBwgyIBIAEQg4CAgAAaQeSJwIAAQRYQ+4CAgAAQ/ICAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQYCKwIAAQQMgAkEIakEDEPeAgIAAEIyAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABELmAgIAAAAtCg4CAgPCAARC5gICAAAALEwBBARDNgICAAEIAEI2AgIAAGgsVACAAEM2AgIAAIAEgAhCEgICAABoLpwECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQtICAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELWAgIAACyAAEMyAgIAAIAApAwghASAAKQMAQYgIEMqAgIAA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AABuYXRpdmVfZmVlenJvX2ZlZQAAADACEAAKAAAAOgIQAAcAAABmZWUAVAIQAAMAAABLAxAABAAAAAwCEAAFAAAAbmF0aXZlX3Rva2Vuc2V0X2RlbGVnYXRlc2VuZF9jb21wb3NlRW5kcG9pbnRQZWVyZWlkcGVlcgCgAhAAAwAAAKMCEAAEAAAAbXNnX3R5cGVvcHRpb25zAKACEAADAAAAuAIQAAgAAADAAhAABwAAAEVuZm9yY2VkT3B0aW9uc2VuZm9yY2VkX29wdGlvbl9zZXRlbmZvcmNlZF9vcHRpb25fcGFyYW1zAgMQABYAAABhbW91bnRfcmVjZWl2ZWRfbGRhbW91bnRfc2VudF9sZGRzdF9laWRmcm9tZ3VpZAAgAxAAEgAAADIDEAAOAAAAQAMQAAcAAABHAxAABAAAAEsDEAAEAAAAb2Z0X3JlY2VpdmVkc3JjX2VpZHRvAAAAIAMQABIAAABLAxAABAAAAIQDEAAHAAAAiwMQAAIAAABEZWNpbWFsQ29udmVyc2lvblJhdGVUb2tlbmFtb3VudF9sZGNvbXBvc2VfbXNnZXh0cmFfb3B0aW9uc21pbl9hbW91bnRfbGRvZnRfY21kAMoDEAAJAAAA0wMQAAsAAABAAxAABwAAAN4DEAANAAAA6wMQAA0AAAD4AxAABwAAAIsDEAACAAAAbWF4X2Ftb3VudF9sZAAAADgEEAANAAAA6wMQAA0AAAAgAxAAEgAAADIDEAAOAAAAZGVzY3JpcHRpb25mZWVfYW1vdW50X2xkaAQQAAsAAABzBBAADQAAAAAAABIAAAAAAAAAAAAAABIAAAABdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVywgQQAAkAAADLBBAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAADCBBAACQAAAMsEEAAJAAAA+gQQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAMsEEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AAEUFEAAJAAAApAQQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAABvBRAACAAAAHcFEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFu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AAAmUmV0dXJucyBPRlQgdmVyc2lvbiBhcyAobWFqb3IsIG1pbm9yKS4AAAAAAAtvZnRfdmVyc2lvbgAAAAAAAAAAAQAAA+0AAAACAAAABgAAAAYAAAAAAAAAQVJldHJpZXZlcyB0aGUgc2hhcmVkIGRlY2ltYWxzIHVzZWQgZm9yIGNyb3NzLWNoYWluIG5vcm1hbGl6YXRpb24uAAAAAAAAD3NoYXJlZF9kZWNpbWFscwAAAAAAAAAAAQAAAAQAAAAAAAAASVJldHJpZXZlcyB0aGUgZGVjaW1hbCBjb252ZXJzaW9uIHJhdGUgdXNlZCBmb3IgY3Jvc3MtY2hhaW4gbm9ybWFsaXphdGlvbi4AAAAAAAAXZGVjaW1hbF9jb252ZXJzaW9uX3JhdGUAAAAAAAAAAAEAAAALAAAAAAAAAOpXaGV0aGVyIGEgc2VwYXJhdGUgdG9rZW4gYXBwcm92YWwgaXMgcmVxdWlyZWQgYmVmb3JlIHNlbmRpbmcuCgpIZWxwcyB3YWxsZXQgaW1wbGVtZW50ZXJzIGRldGVybWluZSBpbnRlZ3JhdGlvbiByZXF1aXJlbWVudHMuCgojIFJldHVybnMKLSBgdHJ1ZWAgaWYgYSBzZXBhcmF0ZSB0b2tlbiBhcHByb3ZhbCBzdGVwIGlzIHJlcXVpcmVkCi0gYGZhbHNlYCBpZiBubyBzZXBhcmF0ZSBhcHByb3ZhbCBpcyBuZWVkZWQAAAAAABFhcHByb3ZhbF9yZXF1aXJlZAAAAAAAAAAAAAABAAAAAQAAAAAAAAB2U2VuZHMgdG9rZW5zIGNyb3NzLWNoYWluIHRvIGFub3RoZXIgZW5kcG9pbnQuCgpTZW5kZXIgbXVzdCBiZSBhdXRoZW50aWNhdGVkLgoKIyBSZXR1cm5zCihNZXNzYWdpbmdSZWNlaXB0LCBPRlRSZWNlaXB0KQAAAAAABHNlbmQAAAAEAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAACnNlbmRfcGFyYW0AAAAAB9AAAAAJU2VuZFBhcmFtAAAAAAAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAAAAAAADnJlZnVuZF9hZGRyZXNzAAAAAAATAAAAAQAAA+0AAAACAAAH0AAAABBNZXNzYWdpbmdSZWNlaXB0AAAH0AAAAApPRlRSZWNlaXB0AAAAAAAAAAAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABgAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAACGVuZHBvaW50AAAAEwAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAAPc2hhcmVkX2RlY2ltYWxzAAAAAAQAAAAAAAAACG9mdF90eXBlAAAH0AAAAAdPZnRUeXBlAAAAAAAAAAAAAAAAQ1JldHVybnMgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIGZvciB0aGlzIE9GVCAoTG9ja1VubG9jayBvciBNaW50QnVybikAAAAACG9mdF90eXBlAAAAAAAAAAEAAAfQAAAAB09mdFR5cGUAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAANlSZXRyaWV2ZXMgdGhlIGVuZm9yY2VkIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gZW5kcG9pbnQgYW5kIG1lc3NhZ2UgdHlwZS4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgbXNnX3R5cGVgIC0gVGhlIE9BcHAgbWVzc2FnZSB0eXBlCgojIFJldHVybnMKVGhlIGVuZm9yY2VkIG9wdGlvbnMgZm9yIHRoZSBnaXZlbiBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlAAAAAAAAEGVuZm9yY2VkX29wdGlvbnMAAAACAAAAAAAAAANlaWQAAAAABAAAAAAAAAAIbXNnX3R5cGUAAAAEAAAAAQAAAA4AAAAAAAACm1NldHMgdGhlIGVuZm9yY2VkIG9wdGlvbnMgZm9yIHNwZWNpZmljIGVuZHBvaW50IGFuZCBtZXNzYWdlIHR5cGUgY29tYmluYXRpb25zLgoKT25seSB0aGUgYGF1dGhvcml6ZXJgIG9mIHRoZSBPQXBwIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24uClByb3ZpZGVzIGEgd2F5IGZvciB0aGUgT0FwcCB0byBlbmZvcmNlIHRoaW5ncyBsaWtlIHBheWluZyBmb3IgUHJlQ3JpbWUsIEFORC9PUiBtaW5pbXVtIGRzdCBselJlY2VpdmUgZ2FzIGFtb3VudHMgZXRjLgpUaGVzZSBlbmZvcmNlZCBvcHRpb25zIGNhbiB2YXJ5IGFzIHRoZSBwb3RlbnRpYWwgb3B0aW9ucy9leGVjdXRpb24gb24gdGhlIHJlbW90ZSBtYXkgZGlmZmVyIGFzIHBlciB0aGUgbXNnX3R5cGUuCmUuZy4gQW1vdW50IG9mIGx6UmVjZWl2ZSgpIGdhcyBuZWNlc3NhcnkgdG8gZGVsaXZlciBhIGx6Q29tcG9zZSgpIG1lc3NhZ2UgYWRkcyBvdmVyaGVhZCB5b3UgZG9uJ3Qgd2FudCB0byBwYXkKaWYgeW91IGFyZSBvbmx5IG1ha2luZyBhIHN0YW5kYXJkIExheWVyWmVybyBtZXNzYWdlIGllLiBselJlY2VpdmUoKSBXSVRIT1VUIHNlbmRDb21wb3NlKCkuCgojIEFyZ3VtZW50cwoqIGBvcHRpb25zYCAtIEEgdmVjdG9yIG9mIEVuZm9yY2VkT3B0aW9uUGFyYW0gc3RydWN0dXJlcyBzcGVjaWZ5aW5nIGVuZm9yY2VkIG9wdGlvbnMAAAAAFHNldF9lbmZvcmNlZF9vcHRpb25zAAAAAQAAAAAAAAAHb3B0aW9ucwAAAAPqAAAH0AAAABNFbmZvcmNlZE9wdGlvblBhcmFtAAAAAAAAAAAAAAACekNvbWJpbmVzIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gZW5kcG9pbnQgYW5kIG1lc3NhZ2UgdHlwZS4KCklmIHRoZXJlIGlzIGFuIGVuZm9yY2VkIGx6UmVjZWl2ZSBvcHRpb246Ci0ge2dhc19saW1pdDogMjAwaywgdmFsdWU6IDEgWExNfSBBTkQgYSBjYWxsZXIgc3VwcGxpZXMgYSBselJlY2VpdmUgb3B0aW9uOiB7Z2FzX2xpbWl0OiAxMDBrLCB2YWx1ZTogMC41IFhMTX0KLSBUaGUgcmVzdWx0aW5nIG9wdGlvbnMgd2lsbCBiZSB7Z2FzX2xpbWl0OiAzMDBrLCB2YWx1ZTogMS41IFhMTX0gd2hlbiB0aGUgbWVzc2FnZSBpcyBleGVjdXRlZCBvbiB0aGUgcmVtb3RlIGx6X3JlY2VpdmUoKSBmdW5jdGlvbi4KVGhlIHByZXNlbmNlIG9mIGR1cGxpY2F0ZWQgb3B0aW9ucyBpcyBoYW5kbGVkIG9mZi1jaGFpbiBpbiB0aGUgdmVyaWZpZXIvZXhlY3V0b3IuCgojIEFyZ3VtZW50cwoqIGBlaWRgIC0gVGhlIGVuZHBvaW50IElECiogYG1zZ190eXBlYCAtIFRoZSBPQXBwIG1lc3NhZ2UgdHlwZQoqIGBleHRyYV9vcHRpb25zYCAtIEFkZGl0aW9uYWwgb3B0aW9ucyBwYXNzZWQgYnkgdGhlIGNhbGxlcgoKIyBSZXR1cm5zClRoZSBjb21iaW5hdGlvbiBvZiBjYWxsZXIgc3BlY2lmaWVkIG9wdGlvbnMgQU5EIGVuZm9yY2VkIG9wdGlvbnMAAAAAAA9jb21iaW5lX29wdGlvbnMAAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAACG1zZ190eXBlAAAABAAAAAAAAAANZXh0cmFfb3B0aW9ucwAAAAAAAA4AAAABAAAADgAAAAAAAAC3Q2hlY2tzIGlmIGEgbWVzc2FnaW5nIHBhdGggY2FuIGJlIGluaXRpYWxpemVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luLgoKIyBBcmd1bWVudHMKKiBgb3JpZ2luYCAtIFRoZSBvcmlnaW4gb2YgdGhlIG1lc3NhZ2UKCiMgUmV0dXJucwpUcnVlIGlmIHRoZSBwYXRoIGNhbiBiZSBpbml0aWFsaXplZCwgZmFsc2Ugb3RoZXJ3aXNlAAAAABVhbGxvd19pbml0aWFsaXplX3BhdGgAAAAAAAABAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAQAAAAAAAAH4UmV0cmlldmVzIHRoZSBuZXh0IG5vbmNlIGZvciBhIGdpdmVuIHNvdXJjZSBlbmRwb2ludCBhbmQgc2VuZGVyIGFkZHJlc3MuCgpUaGUgcGF0aCBub25jZSBzdGFydHMgZnJvbSAxLiBJZiAwIGlzIHJldHVybmVkIGl0IG1lYW5zIHRoYXQgdGhlcmUgaXMgTk8gbm9uY2Ugb3JkZXJlZCBlbmZvcmNlbWVudC4KVGhpcyBpcyByZXF1aXJlZCBieSB0aGUgb2ZmLWNoYWluIGV4ZWN1dG9yIHRvIGRldGVybWluZSBpZiB0aGUgT0FwcCBleHBlY3RzIG1lc3NhZ2UgZXhlY3V0aW9uIHRvIGJlIG9yZGVyZWQuClRoaXMgaXMgYWxzbyBlbmZvcmNlZCBieSB0aGUgT0FwcC4KQnkgZGVmYXVsdCB0aGlzIGlzIE5PVCBlbmFibGVkLCBpLmUuIG5leHRfbm9uY2UgaXMgaGFyZGNvZGVkIHRvIHJldHVybiAwLgoKIyBBcmd1bWVudHMKKiBgc3JjX2VpZGAgLSBUaGUgc291cmNlIGVuZHBvaW50IElECiogYHNlbmRlcmAgLSBUaGUgc2VuZGVyIE9BcHAgYWRkcmVzcwoKIyBSZXR1cm5zClRoZSBuZXh0IG5vbmNlAAAACm5leHRfbm9uY2UAAAAAAAIAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAGAAAAAAAAAyNFbnRyeSBwb2ludCBmb3IgcmVjZWl2aW5nIG1lc3NhZ2VzIG9yIHBhY2tldHMgZnJvbSB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50LgoKVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gY2FsbHMgYGNsZWFyX3BheWxvYWRfYW5kX3RyYW5zZmVyYCB0byB2YWxpZGF0ZSB0aGUgbWVzc2FnZQphbmQgY2xlYXIgaXQgZnJvbSB0aGUgZW5kcG9pbnQsIHRoZW4gZGVsZWdhdGVzIHRvIGBfX2x6X3JlY2VpdmVgIGZvciBhcHBsaWNhdGlvbiBsb2dpYy4KCiMgQXJndW1lbnRzCiogYGV4ZWN1dG9yYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBleGVjdXRvciBmb3IgdGhlIHJlY2VpdmVkIG1lc3NhZ2UKKiBgb3JpZ2luYCAtIFRoZSBvcmlnaW4gaW5mb3JtYXRpb24gY29udGFpbmluZyB0aGUgc291cmNlIGVuZHBvaW50IGFuZCBzZW5kZXIgYWRkcmVzczoKLSBgc3JjX2VpZGA6IFRoZSBzb3VyY2UgY2hhaW4gZW5kcG9pbnQgSUQKLSBgc2VuZGVyYDogVGhlIHNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4KLSBgbm9uY2VgOiBUaGUgbm9uY2Ugb2YgdGhlIG1lc3NhZ2UKKiBgZ3VpZGAgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByZWNlaXZlZCBMYXllclplcm8gbWVzc2FnZQoqIGBtZXNzYWdlYCAtIFRoZSBwYXlsb2FkIG9mIHRoZSByZWNlaXZlZCBtZXNzYWdlCiogYGV4dHJhX2RhdGFgIC0gQWRkaXRpb25hbCBhcmJpdHJhcnkgZGF0YSBwcm92aWRlZCBieSB0aGUgY29ycmVzcG9uZGluZyBleGVjdXRvcgoqIGB2YWx1ZWAgLSBUaGUgbmF0aXZlIHRva2VuIHZhbHVlIHNlbnQgd2l0aCB0aGUgbWVzc2FnZQAAAAAKbHpfcmVjZWl2ZQAAAAAABgAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAexJbmRpY2F0ZXMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGFuIGFwcHJvdmVkIGNvbXBvc2VNc2cgc2VuZGVyIHRvIHRoZSBFbmRwb2ludC4KCkFwcGxpY2F0aW9ucyBjYW4gb3B0aW9uYWxseSBjaG9vc2UgdG8gaW1wbGVtZW50IHNlcGFyYXRlIGNvbXBvc2VNc2cgc2VuZGVycyB0aGF0IGFyZSBOT1QgdGhlIGJyaWRnaW5nIGxheWVyLgpUaGUgZGVmYXVsdCBzZW5kZXIgSVMgdGhlIE9BcHBSZWNlaXZlciBpbXBsZW1lbnRlci4KCiMgQXJndW1lbnRzCiogYG9yaWdpbmAgLSBUaGUgb3JpZ2luIGluZm9ybWF0aW9uIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBlbmRwb2ludCBhbmQgc2VuZGVyIGFkZHJlc3MKKiBgbWVzc2FnZWAgLSBUaGUgbHpSZWNlaXZlIHBheWxvYWQKKiBgc2VuZGVyYCAtIFRoZSBzZW5kZXIgYWRkcmVzcyB0byBjaGVjawoKIyBSZXR1cm5zClRydWUgaWYgdGhlIHNlbmRlciBpcyBhIHZhbGlkIGNvbXBvc2VNc2cgc2VuZGVyLCBmYWxzZSBvdGhlcndpc2UAAAAVaXNfY29tcG9zZV9tc2dfc2VuZGVyAAAAAAAAAwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAABAAAAAAAAAK5SZXRyaWV2ZXMgdGhlIE9BcHAgdmVyc2lvbiBpbmZvcm1hdGlvbi4KCiMgUmV0dXJucwpBIHR1cGxlIGNvbnRhaW5pbmc6Ci0gYHNlbmRlcl92ZXJzaW9uYDogVGhlIHZlcnNpb24gb2YgdGhlIE9BcHBTZW5kZXIKLSBgcmVjZWl2ZXJfdmVyc2lvbmA6IFRoZSB2ZXJzaW9uIG9mIHRoZSBPQXBwUmVjZWl2ZXIAAAAAAAxvYXBwX3ZlcnNpb24AAAAAAAAAAQAAA+0AAAACAAAABgAAAAYAAAAAAAAAbFJldHJpZXZlcyB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50IGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBPQXBwLgoKIyBSZXR1cm5zClRoZSBMYXllclplcm8gZW5kcG9pbnQgYWRkcmVzcwAAAAhlbmRwb2ludAAAAAAAAAABAAAAEwAAAAAAAADBUmV0cmlldmVzIHRoZSBwZWVyIChPQXBwKSBhc3NvY2lhdGVkIHdpdGggYSBjb3JyZXNwb25kaW5nIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoKIyBSZXR1cm5zClRoZSBwZWVyIGFkZHJlc3MgKE9BcHAgaW5zdGFuY2UpIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBlbmRwb2ludAAAAAAAAARwZWVyAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAD6AAAA+4AAAAgAAAAAAAAAOVTZXRzIG9yIHJlbW92ZXMgdGhlIHBlZXIgYWRkcmVzcyAoT0FwcCBpbnN0YW5jZSkgZm9yIGEgY29ycmVzcG9uZGluZyBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgcGVlcmAgLSBUaGUgYWRkcmVzcyBvZiB0aGUgcGVlciB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQsIG9yIE5vbmUgdG8gcmVtb3ZlIHRoZSBwZWVyAAAAAAAACHNldF9wZWVyAAAAAgAAAAAAAAADZWlkAAAAAAQAAAAAAAAABHBlZXIAAAPoAAAD7gAAACAAAAAAAAAAAAAAAI5TZXRzIHRoZSBkZWxlZ2F0ZSBhZGRyZXNzIGZvciB0aGUgT0FwcCBDb3JlLgoKIyBBcmd1bWVudHMKKiBgZGVsZWdhdGVgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGRlbGVnYXRlIHRvIGJlIHNldCwgb3IgTm9uZSB0byByZW1vdmUgdGhlIGRlbGVnYXRlAAAAAAAMc2V0X2RlbGVnYXRlAAAAAQAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAANRW5kcG9pbnRFcnJvcgAAAAAAABkAAAAAAAAAEUFscmVhZHlSZWdpc3RlcmVkAAAAAAAAAQAAAAAAAAANQ29tcG9zZUV4aXN0cwAAAAAAAAIAAAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAAAAAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAAAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAAAAAAAAQSW52YWxpZEZlZUFtb3VudAAAAAgAAAAAAAAADUludmFs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bmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAUT0FwcEVycm9yOiAyMDAwLTIwOTkAAAAAAAAACU9BcHBFcnJvcgAAAAAAAAQAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAAfQAAAAAAAAAAZOb1BlZXIAAAAAB9EAAAAAAAAACE9ubHlQZWVyAAAH0gAAAAAAAAATWnJvVG9rZW5VbmF2YWlsYWJsZQAAAAfTAAAAAgAAAAAAAAAAAAAAD09BcHBDb3JlU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAIRW5kcG9pbnQAAAABAAAAAAAAAARQZWVyAAAAAQAAAAQAAAAFAAAAAAAAAAAAAAAHUGVlclNldAAAAAABAAAACHBlZXJfc2V0AAAAAgAAAAAAAAADZWlkAAAAAAQAAAAAAAAAAAAAAARwZWVyAAAD6AAAA+4AAAAgAAAAAAAAAAIAAAABAAAAAAAAAAAAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAADAAAAAAAAAANlaWQAAAAABAAAAAAAAAAIbXNnX3R5cGUAAAAEAAAAAAAAAAdvcHRpb25zAAAAAA4AAAACAAAAAAAAAAAAAAAXT0FwcE9wdGlvbnNUeXBlM1N0b3JhZ2UAAAAAAQAAAAEAAAAAAAAAD0VuZm9yY2VkT3B0aW9ucwAAAAACAAAABAAAAAQAAAAFAAAAAAAAAAAAAAARRW5mb3JjZWRPcHRpb25TZXQAAAAAAAABAAAAE2VuZm9yY2VkX29wdGlvbl9zZXQAAAAAAQAAAAAAAAAWZW5mb3JjZWRfb3B0aW9uX3BhcmFtcwAAAAAD6gAAB9AAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAAAAAAAAgAAAAQAAAATT0ZURXJyb3I6IDMwMDAtMzA5OQAAAAAAAAAACE9GVEVycm9yAAAABAAAAAAAAAAUSW52YWxpZExvY2FsRGVjaW1hbHMAAAu4AAAAAAAAAA5Ob3RJbml0aWFsaXplZAAAAAALuQAAAAAAAAAIT3ZlcmZsb3cAAAu6AAAAAAAAABBTbGlwcGFnZUV4Y2VlZGVkAAALuwAAAAUAAAAAAAAAAAAAAAdPRlRTZW50AAAAAAEAAAAIb2Z0X3NlbnQAAAAFAAAAAAAAAARndWlkAAAD7gAAACAAAAAAAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAAAAAADmFtb3VudF9zZW50X2xkAAAAAAALAAAAAAAAAAAAAAASYW1vdW50X3JlY2VpdmVkX2xkAAAAAAALAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAALT0ZUUmVjZWl2ZWQAAAAAAQAAAAxvZnRfcmVjZWl2ZWQAAAAEAAAAAAAAAARndWlkAAAD7gAAACAAAAAAAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAAAAAAEmFtb3VudF9yZWNlaXZlZF9sZAAAAAAACwAAAAAAAAACAAAAAgAAAAAAAAAAAAAACk9GVFN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAABVEZWNpbWFsQ29udmVyc2lvblJhdGUAAAAAAAAAAAAAAAAAAAVUb2tlbgAAAAAAAAEAAAAtUGFyYW1ldGVycyBmb3Igc2VuZGluZyBPRlQgdG9rZW5zIGNyb3NzLWNoYWluAAAAAAAAAAAAAAlTZW5kUGFyYW0AAAAAAAAHAAAAJFRoZSBhbW91bnQgdG8gc2VuZCBpbiBsb2NhbCBkZWNpbWFscwAAAAlhbW91bnRfbGQAAAAAAAALAAAAOENvbXBvc2UgbWVzc2FnZSB0byBleGVjdXRlIG9uIHRoZSBkZXN0aW5hdGlvbiAoT3B0aW9uYWwpAAAAC2NvbXBvc2VfbXNnAAAAAA4AAAAbVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElEAAAAAAdkc3RfZWlkAAAAAAQAAAA3QWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgTGF5ZXJaZXJvIG1lc3NhZ2UgKE9wdGlvbmFsKQAAAAANZXh0cmFfb3B0aW9ucwAAAAAAAA4AAABFVGhlIG1pbmltdW0gYW1vdW50IHRvIHJlY2VpdmUgaW4gbG9jYWwgZGVjaW1hbHMgKHNsaXBwYWdlIHByb3RlY3Rpb24pAAAAAAAADW1pbl9hbW91bnRfbGQAAAAAAAALAAAAKk9GVCBjb21tYW5kIGZvciBjdXN0b20gYmVoYXZpb3IgKE9wdGlvbmFsKQAAAAAAB29mdF9jbWQAAAAADgAAADlUaGUgcmVjaXBpZW50IGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykAAAAAAAACdG8AAAAAA+4AAAAgAAAAAQAAACJUcmFuc2ZlciBsaW1pdHMgZm9yIE9GVCBvcGVyYXRpb25zAAAAAAAAAAAACE9GVExpbWl0AAAAAgAAACxUaGUgbWF4aW11bSBhbW91bnQgdG8gc2VuZCBpbiBsb2NhbCBkZWNpbWFscwAAAA1tYXhfYW1vdW50X2xkAAAAAAAACwAAACxUaGUgbWluaW11bSBhbW91bnQgdG8gc2VuZCBpbiBsb2NhbCBkZWNpbWFscwAAAA1taW5fYW1vdW50X2xkAAAAAAAACwAAAAEAAAA/UmVjZWlwdCBjb250YWluaW5nIGFtb3VudHMgc2VudCBhbmQgcmVjZWl2ZWQgaW4gYW4gT0ZUIHRyYW5zZmVyAAAAAAAAAAAKT0ZUUmVjZWlwdAAAAAAAAgAAADNUaGUgYW1vdW50IHJlY2VpdmVkIGluIGxvY2FsIGRlY2ltYWxzIG9uIHRoZSByZW1vdGUAAAAAEmFtb3VudF9yZWNlaXZlZF9sZAAAAAAACwAAACFUaGUgYW1vdW50IHNlbnQgaW4gbG9jYWwgZGVjaW1hbHMAAAAAAAAOYW1vdW50X3NlbnRfbGQAAAAAAAsAAAABAAAALkRldGFpbHMgYWJvdXQgZmVlcyBjaGFyZ2VkIGluIGFuIE9GVCBvcGVyYXRpb24AAAAAAAAAAAAMT0ZURmVlRGV0YWlsAAAAAgAAABpUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGZlZQAAAAAAC2Rlc2NyaXB0aW9uAAAAAA4AAAB/VGhlIGFtb3VudCBvZiB0aGUgZmVlIGluIGxvY2FsIGRlY2ltYWxzLiBQb3NpdGl2ZSB2YWx1ZXMgcmVwcmVzZW50IGZlZXMgY2hhcmdlZCwKd2hpbGUgbmVnYXRpdmUgdmFsdWVzIHJlcHJlc2VudCByZXdhcmRzIGdpdmVuLgAAAAANZmVlX2Ftb3VudF9sZAAAAAAAAAsAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQLAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAEAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGgAAAAQAAAAYTXVsdGlzaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aXNpZ0Vycm9yAAAAAAAACAAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJQAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCYAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEJwAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCgAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKQAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCoAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQrAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
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 = "1b2ae0ec201aefddd7d1aadd4c9fdafa9addc742333490b509be519b5e01869b";
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
+ }
23
+ export const OFTFeeError = {
24
+ 2200: { message: "InvalidFeeBps" },
25
+ 2201: { message: "InvalidFeeDepositAddress" },
26
+ 2202: { message: "NotFound" },
27
+ 2203: { message: "SameValue" }
28
+ };
29
+ export const OFTPausableError = {
30
+ 2300: { message: "Paused" },
31
+ 2301: { message: "PauseStatusUnchanged" }
32
+ };
33
+ export const RateLimitError = {
34
+ 2400: { message: "ExceededRateLimit" },
35
+ 2401: { message: "InvalidTimestamp" },
36
+ 2402: { message: "InvalidWindowSeconds" },
37
+ 2403: { message: "InvalidLimit" },
38
+ 2404: { message: "SameValue" }
39
+ };
40
+ /**
41
+ * The type of OFT operation mode
42
+ */
43
+ export var OftType;
44
+ (function (OftType) {
45
+ OftType[OftType["LockUnlock"] = 0] = "LockUnlock";
46
+ OftType[OftType["MintBurn"] = 1] = "MintBurn";
47
+ })(OftType || (OftType = {}));
48
+ export const EndpointError = {
49
+ 1: { message: "AlreadyRegistered" },
50
+ 2: { message: "ComposeExists" },
51
+ 3: { message: "ComposeNotFound" },
52
+ 4: { message: "DefaultReceiveLibUnavailable" },
53
+ 5: { message: "DefaultSendLibUnavailable" },
54
+ 6: { message: "InsufficientNativeFee" },
55
+ 7: { message: "InsufficientZroFee" },
56
+ 8: { message: "InvalidFeeAmount" },
57
+ 9: { message: "InvalidExpiry" },
58
+ 10: { message: "InvalidIndex" },
59
+ 11: { message: "InvalidNonce" },
60
+ 12: { message: "InvalidPayloadHash" },
61
+ 13: { message: "InvalidReceiveLibrary" },
62
+ 14: { message: "OnlyNonDefaultLib" },
63
+ 15: { message: "OnlyReceiveLib" },
64
+ 16: { message: "OnlyRegisteredLib" },
65
+ 17: { message: "OnlySendLib" },
66
+ 18: { message: "PathNotInitializable" },
67
+ 19: { message: "PathNotVerifiable" },
68
+ 20: { message: "PayloadHashNotFound" },
69
+ 21: { message: "SameValue" },
70
+ 22: { message: "Unauthorized" },
71
+ 23: { message: "UnsupportedEid" },
72
+ 24: { message: "ZeroZroFee" },
73
+ 25: { message: "ZroUnavailable" }
74
+ };
75
+ /**
76
+ * OAppError: 2000-2099
77
+ */
78
+ export const OAppError = {
79
+ 2000: { message: "InvalidOptions" },
80
+ 2001: { message: "NoPeer" },
81
+ 2002: { message: "OnlyPeer" },
82
+ 2003: { message: "ZroTokenUnavailable" }
83
+ };
84
+ /**
85
+ * OFTError: 3000-3099
86
+ */
87
+ export const OFTError = {
88
+ 3000: { message: "InvalidLocalDecimals" },
89
+ 3001: { message: "NotInitialized" },
90
+ 3002: { message: "Overflow" },
91
+ 3003: { message: "SlippageExceeded" }
92
+ };
93
+ /**
94
+ * BufferReaderError: 1000-1009
95
+ */
96
+ export const BufferReaderError = {
97
+ 1000: { message: "InvalidLength" },
98
+ 1001: { message: "InvalidAddressPayload" }
99
+ };
100
+ /**
101
+ * BufferWriterError: 1010-1019
102
+ */
103
+ export const BufferWriterError = {
104
+ 1010: { message: "InvalidAddressPayload" }
105
+ };
106
+ /**
107
+ * TtlConfigurableError: 1020-1029
108
+ */
109
+ export const TtlConfigurableError = {
110
+ 1020: { message: "InvalidTtlConfig" },
111
+ 1021: { message: "TtlConfigFrozen" },
112
+ 1022: { message: "TtlConfigAlreadyFrozen" }
113
+ };
114
+ /**
115
+ * OwnableError: 1030-1039
116
+ */
117
+ export const OwnableError = {
118
+ 1030: { message: "InvalidPendingOwner" },
119
+ 1031: { message: "InvalidTtl" },
120
+ 1032: { message: "NoPendingTransfer" },
121
+ 1033: { message: "OwnerAlreadySet" },
122
+ 1034: { message: "OwnerNotSet" },
123
+ 1035: { message: "TransferInProgress" }
124
+ };
125
+ /**
126
+ * BytesExtError: 1040-1049
127
+ */
128
+ export const BytesExtError = {
129
+ 1040: { message: "LengthMismatch" }
130
+ };
131
+ /**
132
+ * UpgradeableError: 1050-1059
133
+ */
134
+ export const UpgradeableError = {
135
+ 1050: { message: "MigrationNotAllowed" }
136
+ };
137
+ /**
138
+ * MultisigError: 1060-1069
139
+ */
140
+ export const MultisigError = {
141
+ 1060: { message: "AlreadyInitialized" },
142
+ 1061: { message: "InvalidSigner" },
143
+ 1062: { message: "SignatureError" },
144
+ 1063: { message: "SignerAlreadyExists" },
145
+ 1064: { message: "SignerNotFound" },
146
+ 1065: { message: "TotalSignersLessThanThreshold" },
147
+ 1066: { message: "UnsortedSigners" },
148
+ 1067: { message: "ZeroThreshold" }
149
+ };
150
+ export class Client extends ContractClient {
151
+ options;
152
+ static async deploy(
153
+ /** Constructor/Initialization Args for the contract's `__constructor` method */
154
+ { token, owner, endpoint, delegate, shared_decimals, oft_type },
155
+ /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
156
+ options) {
157
+ return ContractClient.deploy({ token, owner, endpoint, delegate, shared_decimals, oft_type }, options);
158
+ }
159
+ constructor(options) {
160
+ super(new ContractSpec(["AAAAAgAAAAAAAAAAAAAADU9GVEZlZVN0b3JhZ2UAAAAAAAADAAAAAAAAAAAAAAANRGVmYXVsdEZlZUJwcwAAAAAAAAEAAAAAAAAABkZlZUJwcwAAAAAAAQAAAAQAAAAAAAAAAAAAABFGZWVEZXBvc2l0QWRkcmVzcwAAAA==",
161
+ "AAAABAAAAAAAAAAAAAAAC09GVEZlZUVycm9yAAAAAAQAAAAAAAAADUludmFsaWRGZWVCcHMAAAAAAAiYAAAAAAAAABhJbnZhbGlkRmVlRGVwb3NpdEFkZHJlc3MAAAiZAAAAAAAAAAhOb3RGb3VuZAAACJoAAAAAAAAACVNhbWVWYWx1ZQAAAAAACJs=",
162
+ "AAAABQAAAAAAAAAAAAAAEERlZmF1bHRGZWVCcHNTZXQAAAABAAAAE2RlZmF1bHRfZmVlX2Jwc19zZXQAAAAAAQAAAAAAAAAHZmVlX2JwcwAAAAAGAAAAAAAAAAI=",
163
+ "AAAABQAAAAAAAAAAAAAACUZlZUJwc1NldAAAAAAAAAEAAAALZmVlX2Jwc19zZXQAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAHZmVlX2JwcwAAAAAGAAAAAAAAAAI=",
164
+ "AAAABQAAAAAAAAAAAAAAC0ZlZUJwc1Vuc2V0AAAAAAEAAAANZmVlX2Jwc191bnNldAAAAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAC",
165
+ "AAAABQAAAAAAAAAAAAAAFEZlZURlcG9zaXRBZGRyZXNzU2V0AAAAAQAAABdmZWVfZGVwb3NpdF9hZGRyZXNzX3NldAAAAAABAAAAAAAAABNmZWVfZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAg==",
166
+ "AAAAAgAAAAAAAAAAAAAAEk9GVFBhdXNhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAABlBhdXNlZAAA",
167
+ "AAAABAAAAAAAAAAAAAAAEE9GVFBhdXNhYmxlRXJyb3IAAAACAAAAAAAAAAZQYXVzZWQAAAAACPwAAAAAAAAAFFBhdXNlU3RhdHVzVW5jaGFuZ2VkAAAI/Q==",
168
+ "AAAABQAAAAAAAAAAAAAACVBhdXNlZFNldAAAAAAAAAEAAAAKcGF1c2VkX3NldAAAAAAAAQAAAAAAAAAGcGF1c2VkAAAAAAABAAAAAAAAAAI=",
169
+ "AAAAAgAAAAAAAAAAAAAACURpcmVjdGlvbgAAAAAAAAIAAAAAAAAAAAAAAAdJbmJvdW5kAAAAAAAAAAAAAAAACE91dGJvdW5k",
170
+ "AAAAAQAAAAAAAAAAAAAACVJhdGVMaW1pdAAAAAAAAAQAAAAAAAAAGGluX2ZsaWdodF9vbl9sYXN0X3VwZGF0ZQAAAAsAAAAAAAAAC2xhc3RfdXBkYXRlAAAAAAYAAAAAAAAABWxpbWl0AAAAAAAACwAAAAAAAAAOd2luZG93X3NlY29uZHMAAAAAAAY=",
171
+ "AAAAAgAAAAAAAAAAAAAAEFJhdGVMaW1pdFN0b3JhZ2UAAAABAAAAAQAAAAAAAAAJUmF0ZUxpbWl0AAAAAAAAAgAAB9AAAAAJRGlyZWN0aW9uAAAAAAAABA==",
172
+ "AAAABAAAAAAAAAAAAAAADlJhdGVMaW1pdEVycm9yAAAAAAAFAAAAAAAAABFFeGNlZWRlZFJhdGVMaW1pdAAAAAAACWAAAAAAAAAAEEludmFsaWRUaW1lc3RhbXAAAAlhAAAAAAAAABRJbnZhbGlkV2luZG93U2Vjb25kcwAACWIAAAAAAAAADEludmFsaWRMaW1pdAAACWMAAAAAAAAACVNhbWVWYWx1ZQAAAAAACWQ=",
173
+ "AAAABQAAAAAAAAAAAAAADFJhdGVMaW1pdFNldAAAAAEAAAAOcmF0ZV9saW1pdF9zZXQAAAAAAAQAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAAAAAAADZWlkAAAAAAQAAAAAAAAAAAAAAAVsaW1pdAAAAAAAAAsAAAAAAAAAAAAAAA53aW5kb3dfc2Vjb25kcwAAAAAABgAAAAAAAAAC",
174
+ "AAAABQAAAAAAAAAAAAAAEFJhdGVMaW1pdFVwZGF0ZWQAAAABAAAAEnJhdGVfbGltaXRfdXBkYXRlZAAAAAAABAAAAAAAAAAJZGlyZWN0aW9uAAAAAAAH0AAAAAlEaXJlY3Rpb24AAAAAAAAAAAAAAAAAAANlaWQAAAAABAAAAAAAAAAAAAAABWxpbWl0AAAAAAAACwAAAAAAAAAAAAAADndpbmRvd19zZWNvbmRzAAAAAAAGAAAAAAAAAAI=",
175
+ "AAAABQAAAAAAAAAAAAAADlJhdGVMaW1pdFVuc2V0AAAAAAABAAAAEHJhdGVfbGltaXRfdW5zZXQAAAACAAAAAAAAAAlkaXJlY3Rpb24AAAAAAAfQAAAACURpcmVjdGlvbgAAAAAAAAAAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAI=",
176
+ "AAAAAwAAAB5UaGUgdHlwZSBvZiBPRlQgb3BlcmF0aW9uIG1vZGUAAAAAAAAAAAAHT2Z0VHlwZQAAAAACAAAAJkxvY2sgdG9rZW5zIG9uIHNlbmQsIHVubG9jayBvbiByZWNlaXZlAAAAAAAKTG9ja1VubG9jawAAAAAAAAAAACRCdXJuIHRva2VucyBvbiBzZW5kLCBtaW50IG9uIHJlY2VpdmUAAAAITWludEJ1cm4AAAAB",
177
+ "AAAAAAAAAAAAAAAOc2V0X3JhdGVfbGltaXQAAAAAAAQAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAANlaWQAAAAABAAAAAAAAAAFbGltaXQAAAAAAAALAAAAAAAAAA53aW5kb3dfc2Vjb25kcwAAAAAABgAAAAA=",
178
+ "AAAAAAAAAAAAAAAQdW5zZXRfcmF0ZV9saW1pdAAAAAIAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAANlaWQAAAAABAAAAAA=",
179
+ "AAAAAAAAAAAAAAARcmF0ZV9saW1pdF9jb25maWcAAAAAAAACAAAAAAAAAAlkaXJlY3Rpb24AAAAAAAfQAAAACURpcmVjdGlvbgAAAAAAAAAAAAADZWlkAAAAAAQAAAABAAAD7QAAAAIAAAALAAAABg==",
180
+ "AAAAAAAAAAAAAAAUcmF0ZV9saW1pdF9pbl9mbGlnaHQAAAACAAAAAAAAAAlkaXJlY3Rpb24AAAAAAAfQAAAACURpcmVjdGlvbgAAAAAAAAAAAAADZWlkAAAAAAQAAAABAAAACw==",
181
+ "AAAAAAAAAAAAAAATcmF0ZV9saW1pdF9jYXBhY2l0eQAAAAACAAAAAAAAAAlkaXJlY3Rpb24AAAAAAAfQAAAACURpcmVjdGlvbgAAAAAAAAAAAAADZWlkAAAAAAQAAAABAAAACw==",
182
+ "AAAAAAAAAAAAAAATc2V0X2RlZmF1bHRfZmVlX2JwcwAAAAABAAAAAAAAAA9kZWZhdWx0X2ZlZV9icHMAAAAABgAAAAA=",
183
+ "AAAAAAAAAAAAAAALc2V0X2ZlZV9icHMAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAdmZWVfYnBzAAAAAAYAAAAA",
184
+ "AAAAAAAAAAAAAAANdW5zZXRfZmVlX2JwcwAAAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAA=",
185
+ "AAAAAAAAAAAAAAAXc2V0X2ZlZV9kZXBvc2l0X2FkZHJlc3MAAAAAAQAAAAAAAAATZmVlX2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAA==",
186
+ "AAAAAAAAAAAAAAALaGFzX2ZlZV9icHMAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAE=",
187
+ "AAAAAAAAAAAAAAARZWZmZWN0aXZlX2ZlZV9icHMAAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAABg==",
188
+ "AAAAAAAAAAAAAAAPZGVmYXVsdF9mZWVfYnBzAAAAAAAAAAABAAAABg==",
189
+ "AAAAAAAAAAAAAAAHZmVlX2JwcwAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAAAY=",
190
+ "AAAAAAAAAAAAAAATZmVlX2RlcG9zaXRfYWRkcmVzcwAAAAAAAAAAAQAAABM=",
191
+ "AAAAAAAAAAAAAAAKc2V0X3BhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VkAAAAAAABAAAAAA==",
192
+ "AAAAAAAAAAAAAAAJaXNfcGF1c2VkAAAAAAAAAAAAAAEAAAAB",
193
+ "AAAAAAAAAAAAAAAJcXVvdGVfb2Z0AAAAAAAAAQAAAAAAAAAKc2VuZF9wYXJhbQAAAAAH0AAAAAlTZW5kUGFyYW0AAAAAAAABAAAD7QAAAAMAAAfQAAAACE9GVExpbWl0AAAD6gAAB9AAAAAMT0ZURmVlRGV0YWlsAAAH0AAAAApPRlRSZWNlaXB0AAA=",
194
+ "AAAAAAAAAAAAAAAKcXVvdGVfc2VuZAAAAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAApzZW5kX3BhcmFtAAAAAAfQAAAACVNlbmRQYXJhbQAAAAAAAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAAAEAAAfQAAAADE1lc3NhZ2luZ0ZlZQ==",
195
+ "AAAAAAAAADVSZXRyaWV2ZXMgdGhlIHRva2VuIGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIHRoaXMgT0ZULgAAAAAAAAV0b2tlbgAAAAAAAAAAAAABAAAAEw==",
196
+ "AAAAAAAAACZSZXR1cm5zIE9GVCB2ZXJzaW9uIGFzIChtYWpvciwgbWlub3IpLgAAAAAAC29mdF92ZXJzaW9uAAAAAAAAAAABAAAD7QAAAAIAAAAGAAAABg==",
197
+ "AAAAAAAAAEFSZXRyaWV2ZXMgdGhlIHNoYXJlZCBkZWNpbWFscyB1c2VkIGZvciBjcm9zcy1jaGFpbiBub3JtYWxpemF0aW9uLgAAAAAAAA9zaGFyZWRfZGVjaW1hbHMAAAAAAAAAAAEAAAAE",
198
+ "AAAAAAAAAElSZXRyaWV2ZXMgdGhlIGRlY2ltYWwgY29udmVyc2lvbiByYXRlIHVzZWQgZm9yIGNyb3NzLWNoYWluIG5vcm1hbGl6YXRpb24uAAAAAAAAF2RlY2ltYWxfY29udmVyc2lvbl9yYXRlAAAAAAAAAAABAAAACw==",
199
+ "AAAAAAAAAOpXaGV0aGVyIGEgc2VwYXJhdGUgdG9rZW4gYXBwcm92YWwgaXMgcmVxdWlyZWQgYmVmb3JlIHNlbmRpbmcuCgpIZWxwcyB3YWxsZXQgaW1wbGVtZW50ZXJzIGRldGVybWluZSBpbnRlZ3JhdGlvbiByZXF1aXJlbWVudHMuCgojIFJldHVybnMKLSBgdHJ1ZWAgaWYgYSBzZXBhcmF0ZSB0b2tlbiBhcHByb3ZhbCBzdGVwIGlzIHJlcXVpcmVkCi0gYGZhbHNlYCBpZiBubyBzZXBhcmF0ZSBhcHByb3ZhbCBpcyBuZWVkZWQAAAAAABFhcHByb3ZhbF9yZXF1aXJlZAAAAAAAAAAAAAABAAAAAQ==",
200
+ "AAAAAAAAAHZTZW5kcyB0b2tlbnMgY3Jvc3MtY2hhaW4gdG8gYW5vdGhlciBlbmRwb2ludC4KClNlbmRlciBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQuCgojIFJldHVybnMKKE1lc3NhZ2luZ1JlY2VpcHQsIE9GVFJlY2VpcHQpAAAAAAAEc2VuZAAAAAQAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAKc2VuZF9wYXJhbQAAAAAH0AAAAAlTZW5kUGFyYW0AAAAAAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAAAAAAAAOcmVmdW5kX2FkZHJlc3MAAAAAABMAAAABAAAD7QAAAAIAAAfQAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAfQAAAACk9GVFJlY2VpcHQAAA==",
201
+ "AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAYAAAAAAAAABXRva2VuAAAAAAAAEwAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAhlbmRwb2ludAAAABMAAAAAAAAACGRlbGVnYXRlAAAD6AAAABMAAAAAAAAAD3NoYXJlZF9kZWNpbWFscwAAAAAEAAAAAAAAAAhvZnRfdHlwZQAAB9AAAAAHT2Z0VHlwZQAAAAAA",
202
+ "AAAAAAAAAENSZXR1cm5zIHRoZSB0eXBlIG9mIG9wZXJhdGlvbiBmb3IgdGhpcyBPRlQgKExvY2tVbmxvY2sgb3IgTWludEJ1cm4pAAAAAAhvZnRfdHlwZQAAAAAAAAABAAAH0AAAAAdPZnRUeXBlAA==",
203
+ "AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAAT",
204
+ "AAAAAAAAANlSZXRyaWV2ZXMgdGhlIGVuZm9yY2VkIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gZW5kcG9pbnQgYW5kIG1lc3NhZ2UgdHlwZS4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgbXNnX3R5cGVgIC0gVGhlIE9BcHAgbWVzc2FnZSB0eXBlCgojIFJldHVybnMKVGhlIGVuZm9yY2VkIG9wdGlvbnMgZm9yIHRoZSBnaXZlbiBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlAAAAAAAAEGVuZm9yY2VkX29wdGlvbnMAAAACAAAAAAAAAANlaWQAAAAABAAAAAAAAAAIbXNnX3R5cGUAAAAEAAAAAQAAAA4=",
205
+ "AAAAAAAAAptTZXRzIHRoZSBlbmZvcmNlZCBvcHRpb25zIGZvciBzcGVjaWZpYyBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlIGNvbWJpbmF0aW9ucy4KCk9ubHkgdGhlIGBhdXRob3JpemVyYCBvZiB0aGUgT0FwcCBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uLgpQcm92aWRlcyBhIHdheSBmb3IgdGhlIE9BcHAgdG8gZW5mb3JjZSB0aGluZ3MgbGlrZSBwYXlpbmcgZm9yIFByZUNyaW1lLCBBTkQvT1IgbWluaW11bSBkc3QgbHpSZWNlaXZlIGdhcyBhbW91bnRzIGV0Yy4KVGhlc2UgZW5mb3JjZWQgb3B0aW9ucyBjYW4gdmFyeSBhcyB0aGUgcG90ZW50aWFsIG9wdGlvbnMvZXhlY3V0aW9uIG9uIHRoZSByZW1vdGUgbWF5IGRpZmZlciBhcyBwZXIgdGhlIG1zZ190eXBlLgplLmcuIEFtb3VudCBvZiBselJlY2VpdmUoKSBnYXMgbmVjZXNzYXJ5IHRvIGRlbGl2ZXIgYSBsekNvbXBvc2UoKSBtZXNzYWdlIGFkZHMgb3ZlcmhlYWQgeW91IGRvbid0IHdhbnQgdG8gcGF5CmlmIHlvdSBhcmUgb25seSBtYWtpbmcgYSBzdGFuZGFyZCBMYXllclplcm8gbWVzc2FnZSBpZS4gbHpSZWNlaXZlKCkgV0lUSE9VVCBzZW5kQ29tcG9zZSgpLgoKIyBBcmd1bWVudHMKKiBgb3B0aW9uc2AgLSBBIHZlY3RvciBvZiBFbmZvcmNlZE9wdGlvblBhcmFtIHN0cnVjdHVyZXMgc3BlY2lmeWluZyBlbmZvcmNlZCBvcHRpb25zAAAAABRzZXRfZW5mb3JjZWRfb3B0aW9ucwAAAAEAAAAAAAAAB29wdGlvbnMAAAAD6gAAB9AAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAAA",
206
+ "AAAAAAAAAnpDb21iaW5lcyBvcHRpb25zIGZvciBhIGdpdmVuIGVuZHBvaW50IGFuZCBtZXNzYWdlIHR5cGUuCgpJZiB0aGVyZSBpcyBhbiBlbmZvcmNlZCBselJlY2VpdmUgb3B0aW9uOgotIHtnYXNfbGltaXQ6IDIwMGssIHZhbHVlOiAxIFhMTX0gQU5EIGEgY2FsbGVyIHN1cHBsaWVzIGEgbHpSZWNlaXZlIG9wdGlvbjoge2dhc19saW1pdDogMTAwaywgdmFsdWU6IDAuNSBYTE19Ci0gVGhlIHJlc3VsdGluZyBvcHRpb25zIHdpbGwgYmUge2dhc19saW1pdDogMzAwaywgdmFsdWU6IDEuNSBYTE19IHdoZW4gdGhlIG1lc3NhZ2UgaXMgZXhlY3V0ZWQgb24gdGhlIHJlbW90ZSBsel9yZWNlaXZlKCkgZnVuY3Rpb24uClRoZSBwcmVzZW5jZSBvZiBkdXBsaWNhdGVkIG9wdGlvbnMgaXMgaGFuZGxlZCBvZmYtY2hhaW4gaW4gdGhlIHZlcmlmaWVyL2V4ZWN1dG9yLgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoqIGBtc2dfdHlwZWAgLSBUaGUgT0FwcCBtZXNzYWdlIHR5cGUKKiBgZXh0cmFfb3B0aW9uc2AgLSBBZGRpdGlvbmFsIG9wdGlvbnMgcGFzc2VkIGJ5IHRoZSBjYWxsZXIKCiMgUmV0dXJucwpUaGUgY29tYmluYXRpb24gb2YgY2FsbGVyIHNwZWNpZmllZCBvcHRpb25zIEFORCBlbmZvcmNlZCBvcHRpb25zAAAAAAAPY29tYmluZV9vcHRpb25zAAAAAAMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAhtc2dfdHlwZQAAAAQAAAAAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAAAQAAAA4=",
207
+ "AAAAAAAAALdDaGVja3MgaWYgYSBtZXNzYWdpbmcgcGF0aCBjYW4gYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4uCgojIEFyZ3VtZW50cwoqIGBvcmlnaW5gIC0gVGhlIG9yaWdpbiBvZiB0aGUgbWVzc2FnZQoKIyBSZXR1cm5zClRydWUgaWYgdGhlIHBhdGggY2FuIGJlIGluaXRpYWxpemVkLCBmYWxzZSBvdGhlcndpc2UAAAAAFWFsbG93X2luaXRpYWxpemVfcGF0aAAAAAAAAAEAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAEAAAAB",
208
+ "AAAAAAAAAfhSZXRyaWV2ZXMgdGhlIG5leHQgbm9uY2UgZm9yIGEgZ2l2ZW4gc291cmNlIGVuZHBvaW50IGFuZCBzZW5kZXIgYWRkcmVzcy4KClRoZSBwYXRoIG5vbmNlIHN0YXJ0cyBmcm9tIDEuIElmIDAgaXMgcmV0dXJuZWQgaXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBOTyBub25jZSBvcmRlcmVkIGVuZm9yY2VtZW50LgpUaGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBvZmYtY2hhaW4gZXhlY3V0b3IgdG8gZGV0ZXJtaW5lIGlmIHRoZSBPQXBwIGV4cGVjdHMgbWVzc2FnZSBleGVjdXRpb24gdG8gYmUgb3JkZXJlZC4KVGhpcyBpcyBhbHNvIGVuZm9yY2VkIGJ5IHRoZSBPQXBwLgpCeSBkZWZhdWx0IHRoaXMgaXMgTk9UIGVuYWJsZWQsIGkuZS4gbmV4dF9ub25jZSBpcyBoYXJkY29kZWQgdG8gcmV0dXJuIDAuCgojIEFyZ3VtZW50cwoqIGBzcmNfZWlkYCAtIFRoZSBzb3VyY2UgZW5kcG9pbnQgSUQKKiBgc2VuZGVyYCAtIFRoZSBzZW5kZXIgT0FwcCBhZGRyZXNzCgojIFJldHVybnMKVGhlIG5leHQgbm9uY2UAAAAKbmV4dF9ub25jZQAAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAY=",
209
+ "AAAAAAAAAyNFbnRyeSBwb2ludCBmb3IgcmVjZWl2aW5nIG1lc3NhZ2VzIG9yIHBhY2tldHMgZnJvbSB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50LgoKVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gY2FsbHMgYGNsZWFyX3BheWxvYWRfYW5kX3RyYW5zZmVyYCB0byB2YWxpZGF0ZSB0aGUgbWVzc2FnZQphbmQgY2xlYXIgaXQgZnJvbSB0aGUgZW5kcG9pbnQsIHRoZW4gZGVsZWdhdGVzIHRvIGBfX2x6X3JlY2VpdmVgIGZvciBhcHBsaWNhdGlvbiBsb2dpYy4KCiMgQXJndW1lbnRzCiogYGV4ZWN1dG9yYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBleGVjdXRvciBmb3IgdGhlIHJlY2VpdmVkIG1lc3NhZ2UKKiBgb3JpZ2luYCAtIFRoZSBvcmlnaW4gaW5mb3JtYXRpb24gY29udGFpbmluZyB0aGUgc291cmNlIGVuZHBvaW50IGFuZCBzZW5kZXIgYWRkcmVzczoKLSBgc3JjX2VpZGA6IFRoZSBzb3VyY2UgY2hhaW4gZW5kcG9pbnQgSUQKLSBgc2VuZGVyYDogVGhlIHNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4KLSBgbm9uY2VgOiBUaGUgbm9uY2Ugb2YgdGhlIG1lc3NhZ2UKKiBgZ3VpZGAgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByZWNlaXZlZCBMYXllclplcm8gbWVzc2FnZQoqIGBtZXNzYWdlYCAtIFRoZSBwYXlsb2FkIG9mIHRoZSByZWNlaXZlZCBtZXNzYWdlCiogYGV4dHJhX2RhdGFgIC0gQWRkaXRpb25hbCBhcmJpdHJhcnkgZGF0YSBwcm92aWRlZCBieSB0aGUgY29ycmVzcG9uZGluZyBleGVjdXRvcgoqIGB2YWx1ZWAgLSBUaGUgbmF0aXZlIHRva2VuIHZhbHVlIHNlbnQgd2l0aCB0aGUgbWVzc2FnZQAAAAAKbHpfcmVjZWl2ZQAAAAAABgAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAA",
210
+ "AAAAAAAAAexJbmRpY2F0ZXMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGFuIGFwcHJvdmVkIGNvbXBvc2VNc2cgc2VuZGVyIHRvIHRoZSBFbmRwb2ludC4KCkFwcGxpY2F0aW9ucyBjYW4gb3B0aW9uYWxseSBjaG9vc2UgdG8gaW1wbGVtZW50IHNlcGFyYXRlIGNvbXBvc2VNc2cgc2VuZGVycyB0aGF0IGFyZSBOT1QgdGhlIGJyaWRnaW5nIGxheWVyLgpUaGUgZGVmYXVsdCBzZW5kZXIgSVMgdGhlIE9BcHBSZWNlaXZlciBpbXBsZW1lbnRlci4KCiMgQXJndW1lbnRzCiogYG9yaWdpbmAgLSBUaGUgb3JpZ2luIGluZm9ybWF0aW9uIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBlbmRwb2ludCBhbmQgc2VuZGVyIGFkZHJlc3MKKiBgbWVzc2FnZWAgLSBUaGUgbHpSZWNlaXZlIHBheWxvYWQKKiBgc2VuZGVyYCAtIFRoZSBzZW5kZXIgYWRkcmVzcyB0byBjaGVjawoKIyBSZXR1cm5zClRydWUgaWYgdGhlIHNlbmRlciBpcyBhIHZhbGlkIGNvbXBvc2VNc2cgc2VuZGVyLCBmYWxzZSBvdGhlcndpc2UAAAAVaXNfY29tcG9zZV9tc2dfc2VuZGVyAAAAAAAAAwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAAB",
211
+ "AAAAAAAAAK5SZXRyaWV2ZXMgdGhlIE9BcHAgdmVyc2lvbiBpbmZvcm1hdGlvbi4KCiMgUmV0dXJucwpBIHR1cGxlIGNvbnRhaW5pbmc6Ci0gYHNlbmRlcl92ZXJzaW9uYDogVGhlIHZlcnNpb24gb2YgdGhlIE9BcHBTZW5kZXIKLSBgcmVjZWl2ZXJfdmVyc2lvbmA6IFRoZSB2ZXJzaW9uIG9mIHRoZSBPQXBwUmVjZWl2ZXIAAAAAAAxvYXBwX3ZlcnNpb24AAAAAAAAAAQAAA+0AAAACAAAABgAAAAY=",
212
+ "AAAAAAAAAGxSZXRyaWV2ZXMgdGhlIExheWVyWmVybyBlbmRwb2ludCBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGUgT0FwcC4KCiMgUmV0dXJucwpUaGUgTGF5ZXJaZXJvIGVuZHBvaW50IGFkZHJlc3MAAAAIZW5kcG9pbnQAAAAAAAAAAQAAABM=",
213
+ "AAAAAAAAAMFSZXRyaWV2ZXMgdGhlIHBlZXIgKE9BcHApIGFzc29jaWF0ZWQgd2l0aCBhIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBlaWRgIC0gVGhlIGVuZHBvaW50IElECgojIFJldHVybnMKVGhlIHBlZXIgYWRkcmVzcyAoT0FwcCBpbnN0YW5jZSkgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGVuZHBvaW50AAAAAAAABHBlZXIAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAPoAAAD7gAAACA=",
214
+ "AAAAAAAAAOVTZXRzIG9yIHJlbW92ZXMgdGhlIHBlZXIgYWRkcmVzcyAoT0FwcCBpbnN0YW5jZSkgZm9yIGEgY29ycmVzcG9uZGluZyBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgcGVlcmAgLSBUaGUgYWRkcmVzcyBvZiB0aGUgcGVlciB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQsIG9yIE5vbmUgdG8gcmVtb3ZlIHRoZSBwZWVyAAAAAAAACHNldF9wZWVyAAAAAgAAAAAAAAADZWlkAAAAAAQAAAAAAAAABHBlZXIAAAPoAAAD7gAAACAAAAAA",
215
+ "AAAAAAAAAI5TZXRzIHRoZSBkZWxlZ2F0ZSBhZGRyZXNzIGZvciB0aGUgT0FwcCBDb3JlLgoKIyBBcmd1bWVudHMKKiBgZGVsZWdhdGVgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGRlbGVnYXRlIHRvIGJlIHNldCwgb3IgTm9uZSB0byByZW1vdmUgdGhlIGRlbGVnYXRlAAAAAAAMc2V0X2RlbGVnYXRlAAAAAQAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAA=",
216
+ "AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==",
217
+ "AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==",
218
+ "AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==",
219
+ "AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==",
220
+ "AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==",
221
+ "AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
222
+ "AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
223
+ "AAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==",
224
+ "AAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAA=",
225
+ "AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=",
226
+ "AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA",
227
+ "AAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAAAAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQ==",
228
+ "AAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAALcGFja2V0X3NlbnQAAAAAAwAAAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAAAAAAAAxzZW5kX2xpYnJhcnkAAAATAAAAAAAAAAI=",
229
+ "AAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAAC",
230
+ "AAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAEHBhY2tldF9kZWxpdmVyZWQAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAg==",
231
+ "AAAABQAAAAAAAAAAAAAADkx6UmVjZWl2ZUFsZXJ0AAAAAAABAAAAEGx6X3JlY2VpdmVfYWxlcnQAAAAJAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAg==",
232
+ "AAAABQAAAAAAAAAAAAAABlpyb1NldAAAAAAAAQAAAAd6cm9fc2V0AAAAAAEAAAAAAAAAA3pybwAAAAATAAAAAAAAAAI=",
233
+ "AAAABQAAAAAAAAAAAAAAC0RlbGVnYXRlU2V0AAAAAAEAAAAMZGVsZWdhdGVfc2V0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAABAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAAI=",
234
+ "AAAABQAAAAAAAAAAAAAAE0luYm91bmROb25jZVNraXBwZWQAAAAAAQAAABVpbmJvdW5kX25vbmNlX3NraXBwZWQAAAAAAAAEAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAI=",
235
+ "AAAABQAAAAAAAAAAAAAADlBhY2tldE5pbGlmaWVkAAAAAAABAAAAD3BhY2tldF9uaWxpZmllZAAAAAAFAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD6AAAA+4AAAAgAAAAAAAAAAI=",
236
+ "AAAABQAAAAAAAAAAAAAAC1BhY2tldEJ1cm50AAAAAAEAAAAMcGFja2V0X2J1cm50AAAABQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAI=",
237
+ "AAAABQAAAAAAAAAAAAAAEUxpYnJhcnlSZWdpc3RlcmVkAAAAAAAAAQAAABJsaWJyYXJ5X3JlZ2lzdGVyZWQAAAAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAC",
238
+ "AAAABQAAAAAAAAAAAAAAFURlZmF1bHRTZW5kTGlicmFyeVNldAAAAAAAAAEAAAAYZGVmYXVsdF9zZW5kX2xpYnJhcnlfc2V0AAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAI=",
239
+ "AAAABQAAAAAAAAAAAAAAGERlZmF1bHRSZWNlaXZlTGlicmFyeVNldAAAAAEAAAAbZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnlfc2V0AAAAAAIAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAC",
240
+ "AAAABQAAAAAAAAAAAAAAG0RlZmF1bHRSZWNlaXZlTGliVGltZW91dFNldAAAAAABAAAAH2RlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dF9zZXQAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAHdGltZW91dAAAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAAAC",
241
+ "AAAABQAAAAAAAAAAAAAADlNlbmRMaWJyYXJ5U2V0AAAAAAABAAAAEHNlbmRfbGlicmFyeV9zZXQAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAI=",
242
+ "AAAABQAAAAAAAAAAAAAAEVJlY2VpdmVMaWJyYXJ5U2V0AAAAAAAAAQAAABNyZWNlaXZlX2xpYnJhcnlfc2V0AAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAD6AAAABMAAAAAAAAAAg==",
243
+ "AAAABQAAAAAAAAAAAAAAGFJlY2VpdmVMaWJyYXJ5VGltZW91dFNldAAAAAEAAAAbcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXRfc2V0AAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAAAAAAAAHdGltZW91dAAAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAAAC",
244
+ "AAAABQAAAAAAAAAAAAAAC0NvbXBvc2VTZW50AAAAAAEAAAAMY29tcG9zZV9zZW50AAAABQAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAC",
245
+ "AAAABQAAAAAAAAAAAAAAEENvbXBvc2VEZWxpdmVyZWQAAAABAAAAEWNvbXBvc2VfZGVsaXZlcmVkAAAAAAAABAAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAC",
246
+ "AAAABQAAAAAAAAAAAAAADkx6Q29tcG9zZUFsZXJ0AAAAAAABAAAAEGx6X2NvbXBvc2VfYWxlcnQAAAAKAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAI=",
247
+ "AAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACA=",
248
+ "AAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQ=",
249
+ "AAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAs=",
250
+ "AAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAG",
251
+ "AAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAA=",
252
+ "AAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABA==",
253
+ "AAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAAT",
254
+ "AAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQ=",
255
+ "AAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAAT",
256
+ "AAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQ=",
257
+ "AAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAAT",
258
+ "AAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50",
259
+ "AAAABAAAABRPQXBwRXJyb3I6IDIwMDAtMjA5OQAAAAAAAAAJT0FwcEVycm9yAAAAAAAABAAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAAB9AAAAAAAAAABk5vUGVlcgAAAAAH0QAAAAAAAAAIT25seVBlZXIAAAfSAAAAAAAAABNacm9Ub2tlblVuYXZhaWxhYmxlAAAAB9M=",
260
+ "AAAAAgAAAAAAAAAAAAAAD09BcHBDb3JlU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAIRW5kcG9pbnQAAAABAAAAAAAAAARQZWVyAAAAAQAAAAQ=",
261
+ "AAAABQAAAAAAAAAAAAAAB1BlZXJTZXQAAAAAAQAAAAhwZWVyX3NldAAAAAIAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAAAAAAEcGVlcgAAA+gAAAPuAAAAIAAAAAAAAAAC",
262
+ "AAAAAQAAAAAAAAAAAAAAE0VuZm9yY2VkT3B0aW9uUGFyYW0AAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAACG1zZ190eXBlAAAABAAAAAAAAAAHb3B0aW9ucwAAAAAO",
263
+ "AAAAAgAAAAAAAAAAAAAAF09BcHBPcHRpb25zVHlwZTNTdG9yYWdlAAAAAAEAAAABAAAAAAAAAA9FbmZvcmNlZE9wdGlvbnMAAAAAAgAAAAQAAAAE",
264
+ "AAAABQAAAAAAAAAAAAAAEUVuZm9yY2VkT3B0aW9uU2V0AAAAAAAAAQAAABNlbmZvcmNlZF9vcHRpb25fc2V0AAAAAAEAAAAAAAAAFmVuZm9yY2VkX29wdGlvbl9wYXJhbXMAAAAAA+oAAAfQAAAAE0VuZm9yY2VkT3B0aW9uUGFyYW0AAAAAAAAAAAI=",
265
+ "AAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAEAAAAAAAAABRJbnZhbGlkTG9jYWxEZWNpbWFscwAAC7gAAAAAAAAADk5vdEluaXRpYWxpemVkAAAAAAu5AAAAAAAAAAhPdmVyZmxvdwAAC7oAAAAAAAAAEFNsaXBwYWdlRXhjZWVkZWQAAAu7",
266
+ "AAAABQAAAAAAAAAAAAAAB09GVFNlbnQAAAAAAQAAAAhvZnRfc2VudAAAAAUAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAABGZyb20AAAATAAAAAAAAAAAAAAAOYW1vdW50X3NlbnRfbGQAAAAAAAsAAAAAAAAAAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAAAAAAAg==",
267
+ "AAAABQAAAAAAAAAAAAAAC09GVFJlY2VpdmVkAAAAAAEAAAAMb2Z0X3JlY2VpdmVkAAAABAAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAAAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAAAAAACdG8AAAAAABMAAAAAAAAAAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAAAAAAAg==",
268
+ "AAAAAgAAAAAAAAAAAAAACk9GVFN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAABVEZWNpbWFsQ29udmVyc2lvblJhdGUAAAAAAAAAAAAAAAAAAAVUb2tlbgAAAA==",
269
+ "AAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIE9GVCB0b2tlbnMgY3Jvc3MtY2hhaW4AAAAAAAAAAAAACVNlbmRQYXJhbQAAAAAAAAcAAAAkVGhlIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAACWFtb3VudF9sZAAAAAAAAAsAAAA4Q29tcG9zZSBtZXNzYWdlIHRvIGV4ZWN1dGUgb24gdGhlIGRlc3RpbmF0aW9uIChPcHRpb25hbCkAAAALY29tcG9zZV9tc2cAAAAADgAAABtUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAB2RzdF9laWQAAAAABAAAADdBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBMYXllclplcm8gbWVzc2FnZSAoT3B0aW9uYWwpAAAAAA1leHRyYV9vcHRpb25zAAAAAAAADgAAAEVUaGUgbWluaW11bSBhbW91bnQgdG8gcmVjZWl2ZSBpbiBsb2NhbCBkZWNpbWFscyAoc2xpcHBhZ2UgcHJvdGVjdGlvbikAAAAAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAAqT0ZUIGNvbW1hbmQgZm9yIGN1c3RvbSBiZWhhdmlvciAoT3B0aW9uYWwpAAAAAAAHb2Z0X2NtZAAAAAAOAAAAOVRoZSByZWNpcGllbnQgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKQAAAAAAAAJ0bwAAAAAD7gAAACA=",
270
+ "AAAAAQAAACJUcmFuc2ZlciBsaW1pdHMgZm9yIE9GVCBvcGVyYXRpb25zAAAAAAAAAAAACE9GVExpbWl0AAAAAgAAACxUaGUgbWF4aW11bSBhbW91bnQgdG8gc2VuZCBpbiBsb2NhbCBkZWNpbWFscwAAAA1tYXhfYW1vdW50X2xkAAAAAAAACwAAACxUaGUgbWluaW11bSBhbW91bnQgdG8gc2VuZCBpbiBsb2NhbCBkZWNpbWFscwAAAA1taW5fYW1vdW50X2xkAAAAAAAACw==",
271
+ "AAAAAQAAAD9SZWNlaXB0IGNvbnRhaW5pbmcgYW1vdW50cyBzZW50IGFuZCByZWNlaXZlZCBpbiBhbiBPRlQgdHJhbnNmZXIAAAAAAAAAAApPRlRSZWNlaXB0AAAAAAACAAAAM1RoZSBhbW91bnQgcmVjZWl2ZWQgaW4gbG9jYWwgZGVjaW1hbHMgb24gdGhlIHJlbW90ZQAAAAASYW1vdW50X3JlY2VpdmVkX2xkAAAAAAALAAAAIVRoZSBhbW91bnQgc2VudCBpbiBsb2NhbCBkZWNpbWFscwAAAAAAAA5hbW91bnRfc2VudF9sZAAAAAAACw==",
272
+ "AAAAAQAAAC5EZXRhaWxzIGFib3V0IGZlZXMgY2hhcmdlZCBpbiBhbiBPRlQgb3BlcmF0aW9uAAAAAAAAAAAADE9GVEZlZURldGFpbAAAAAIAAAAaVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBmZWUAAAAAAAtkZXNjcmlwdGlvbgAAAAAOAAAAf1RoZSBhbW91bnQgb2YgdGhlIGZlZSBpbiBsb2NhbCBkZWNpbWFscy4gUG9zaXRpdmUgdmFsdWVzIHJlcHJlc2VudCBmZWVzIGNoYXJnZWQsCndoaWxlIG5lZ2F0aXZlIHZhbHVlcyByZXByZXNlbnQgcmV3YXJkcyBnaXZlbi4AAAAADWZlZV9hbW91bnRfbGQAAAAAAAAL",
273
+ "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
274
+ "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
275
+ "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
276
+ "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
277
+ "AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
278
+ "AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQa",
279
+ "AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
280
+ "AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
281
+ "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
282
+ "AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
283
+ "AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
284
+ "AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
285
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
286
+ "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
287
+ "AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
288
+ "AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
289
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
290
+ "AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
291
+ "AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA=="]), options);
292
+ this.options = options;
293
+ }
294
+ fromJSON = {
295
+ set_rate_limit: (this.txFromJSON),
296
+ unset_rate_limit: (this.txFromJSON),
297
+ rate_limit_config: (this.txFromJSON),
298
+ rate_limit_in_flight: (this.txFromJSON),
299
+ rate_limit_capacity: (this.txFromJSON),
300
+ set_default_fee_bps: (this.txFromJSON),
301
+ set_fee_bps: (this.txFromJSON),
302
+ unset_fee_bps: (this.txFromJSON),
303
+ set_fee_deposit_address: (this.txFromJSON),
304
+ has_fee_bps: (this.txFromJSON),
305
+ effective_fee_bps: (this.txFromJSON),
306
+ default_fee_bps: (this.txFromJSON),
307
+ fee_bps: (this.txFromJSON),
308
+ fee_deposit_address: (this.txFromJSON),
309
+ set_paused: (this.txFromJSON),
310
+ is_paused: (this.txFromJSON),
311
+ quote_oft: (this.txFromJSON),
312
+ quote_send: (this.txFromJSON),
313
+ token: (this.txFromJSON),
314
+ oft_version: (this.txFromJSON),
315
+ shared_decimals: (this.txFromJSON),
316
+ decimal_conversion_rate: (this.txFromJSON),
317
+ approval_required: (this.txFromJSON),
318
+ send: (this.txFromJSON),
319
+ oft_type: (this.txFromJSON),
320
+ authorizer: (this.txFromJSON),
321
+ enforced_options: (this.txFromJSON),
322
+ set_enforced_options: (this.txFromJSON),
323
+ combine_options: (this.txFromJSON),
324
+ allow_initialize_path: (this.txFromJSON),
325
+ next_nonce: (this.txFromJSON),
326
+ lz_receive: (this.txFromJSON),
327
+ is_compose_msg_sender: (this.txFromJSON),
328
+ oapp_version: (this.txFromJSON),
329
+ endpoint: (this.txFromJSON),
330
+ peer: (this.txFromJSON),
331
+ set_peer: (this.txFromJSON),
332
+ set_delegate: (this.txFromJSON),
333
+ set_ttl_configs: (this.txFromJSON),
334
+ ttl_configs: (this.txFromJSON),
335
+ freeze_ttl_configs: (this.txFromJSON),
336
+ is_ttl_configs_frozen: (this.txFromJSON),
337
+ extend_instance_ttl: (this.txFromJSON),
338
+ owner: (this.txFromJSON),
339
+ pending_owner: (this.txFromJSON),
340
+ transfer_ownership: (this.txFromJSON),
341
+ propose_ownership_transfer: (this.txFromJSON),
342
+ accept_ownership: (this.txFromJSON),
343
+ renounce_ownership: (this.txFromJSON)
344
+ };
345
+ }