@layerzerolabs/protocol-stellar-v2 0.2.33 → 0.2.35

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 (123) hide show
  1. package/.turbo/turbo-build.log +351 -367
  2. package/.turbo/turbo-lint.log +220 -223
  3. package/.turbo/turbo-test.log +1993 -1796
  4. package/Cargo.lock +10 -10
  5. package/Cargo.toml +1 -1
  6. package/contracts/common-macros/src/storage.rs +7 -5
  7. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +3 -3
  8. package/contracts/endpoint-v2/src/endpoint_v2.rs +5 -4
  9. package/contracts/endpoint-v2/src/interfaces/messaging_channel.rs +7 -8
  10. package/contracts/endpoint-v2/src/messaging_channel.rs +78 -45
  11. package/contracts/endpoint-v2/src/storage.rs +8 -3
  12. package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
  13. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +12 -15
  14. package/contracts/endpoint-v2/src/tests/endpoint_v2/verifiable.rs +46 -9
  15. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +7 -23
  16. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +23 -20
  17. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +94 -1
  18. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_nonce.rs +17 -15
  19. package/contracts/endpoint-v2/src/tests/messaging_channel/mod.rs +1 -1
  20. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +48 -13
  21. package/contracts/endpoint-v2/src/tests/messaging_channel/pending_inbound_nonces.rs +111 -0
  22. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +15 -25
  23. package/contracts/layerzero-views/src/layerzero_view.rs +2 -2
  24. package/contracts/layerzero-views/src/tests/layerzero_view_tests.rs +3 -4
  25. package/contracts/layerzero-views/src/tests/setup.rs +0 -21
  26. package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -4
  27. package/contracts/message-libs/uln-302/src/send_uln.rs +5 -5
  28. package/contracts/oapps/counter/src/counter.rs +6 -0
  29. package/contracts/oapps/oapp/src/oapp_sender.rs +3 -2
  30. package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +5 -11
  31. package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +7 -14
  32. package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +11 -22
  33. package/contracts/oapps/oft/integration-tests/setup.rs +59 -7
  34. package/contracts/oapps/oft/integration-tests/utils.rs +28 -2
  35. package/contracts/oapps/oft/src/extensions/oft_fee.rs +5 -0
  36. package/contracts/oapps/oft/src/interfaces/mintable.rs +14 -0
  37. package/contracts/oapps/oft/src/interfaces/mod.rs +2 -2
  38. package/contracts/oapps/oft/src/oft.rs +8 -7
  39. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +8 -8
  40. package/contracts/oapps/oft/src/oft_types/mod.rs +3 -4
  41. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +7 -5
  42. package/contracts/oapps/sac-manager/src/errors.rs +14 -0
  43. package/contracts/{sac-manager → oapps/sac-manager}/src/lib.rs +0 -4
  44. package/contracts/oapps/sac-manager/src/sac_manager.rs +115 -0
  45. package/contracts/oapps/sac-manager/src/storage.rs +20 -0
  46. package/contracts/{sac-manager → oapps/sac-manager}/src/tests/mod.rs +0 -4
  47. package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +86 -0
  48. package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +58 -0
  49. package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/mod.rs +1 -3
  50. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_minter.rs +69 -0
  51. package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +18 -0
  52. package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +28 -0
  53. package/contracts/{sac-manager → oapps/sac-manager}/src/tests/test_helper.rs +16 -59
  54. package/docs/layerzero-v2-on-stellar.md +46 -2
  55. package/package.json +8 -3
  56. package/sdk/.turbo/turbo-test.log +424 -429
  57. package/sdk/dist/generated/bml.d.ts +3 -3
  58. package/sdk/dist/generated/bml.js +3 -3
  59. package/sdk/dist/generated/counter.d.ts +32 -3
  60. package/sdk/dist/generated/counter.js +6 -3
  61. package/sdk/dist/generated/dvn.d.ts +3 -3
  62. package/sdk/dist/generated/dvn.js +3 -3
  63. package/sdk/dist/generated/dvn_fee_lib.d.ts +2 -2
  64. package/sdk/dist/generated/dvn_fee_lib.js +2 -2
  65. package/sdk/dist/generated/endpoint.d.ts +12 -13
  66. package/sdk/dist/generated/endpoint.js +7 -7
  67. package/sdk/dist/generated/executor.d.ts +3 -3
  68. package/sdk/dist/generated/executor.js +3 -3
  69. package/sdk/dist/generated/executor_fee_lib.d.ts +2 -2
  70. package/sdk/dist/generated/executor_fee_lib.js +2 -2
  71. package/sdk/dist/generated/executor_helper.d.ts +2 -2
  72. package/sdk/dist/generated/executor_helper.js +2 -2
  73. package/sdk/dist/generated/layerzero_view.d.ts +3 -3
  74. package/sdk/dist/generated/layerzero_view.js +3 -3
  75. package/sdk/dist/generated/oft.d.ts +32 -3
  76. package/sdk/dist/generated/oft.js +7 -4
  77. package/sdk/dist/generated/price_feed.d.ts +3 -3
  78. package/sdk/dist/generated/price_feed.js +3 -3
  79. package/sdk/dist/generated/sac_manager.d.ts +47 -318
  80. package/sdk/dist/generated/sac_manager.js +24 -129
  81. package/sdk/dist/generated/sml.d.ts +2 -2
  82. package/sdk/dist/generated/sml.js +2 -2
  83. package/sdk/dist/generated/treasury.d.ts +2 -2
  84. package/sdk/dist/generated/treasury.js +2 -2
  85. package/sdk/dist/generated/uln302.d.ts +3 -3
  86. package/sdk/dist/generated/uln302.js +3 -3
  87. package/sdk/dist/generated/upgrader.d.ts +2 -2
  88. package/sdk/dist/generated/upgrader.js +2 -2
  89. package/sdk/package.json +6 -1
  90. package/sdk/test/oft-sml.test.ts +72 -36
  91. package/sdk/test/sac-manager-redistribution.test.ts +38 -182
  92. package/contracts/endpoint-v2/src/tests/messaging_channel/lazy_inbound_nonce.rs +0 -39
  93. package/contracts/oapps/oft/src/interfaces/mint_burnable.rs +0 -18
  94. package/contracts/sac-manager/src/errors.rs +0 -18
  95. package/contracts/sac-manager/src/extensions/mod.rs +0 -6
  96. package/contracts/sac-manager/src/extensions/redistribution.rs +0 -109
  97. package/contracts/sac-manager/src/extensions/supply_control/mod.rs +0 -488
  98. package/contracts/sac-manager/src/extensions/supply_control/rate_limit.rs +0 -126
  99. package/contracts/sac-manager/src/interfaces/mod.rs +0 -3
  100. package/contracts/sac-manager/src/interfaces/sac_manager.rs +0 -52
  101. package/contracts/sac-manager/src/sac_manager.rs +0 -193
  102. package/contracts/sac-manager/src/storage.rs +0 -20
  103. package/contracts/sac-manager/src/tests/redistribution/mod.rs +0 -1
  104. package/contracts/sac-manager/src/tests/redistribution/redistribute_funds.rs +0 -82
  105. package/contracts/sac-manager/src/tests/sac_manager/admin_mint.rs +0 -206
  106. package/contracts/sac-manager/src/tests/sac_manager/burn.rs +0 -215
  107. package/contracts/sac-manager/src/tests/sac_manager/clawback.rs +0 -209
  108. package/contracts/sac-manager/src/tests/sac_manager/mint.rs +0 -252
  109. package/contracts/sac-manager/src/tests/sac_manager/set_oft_address.rs +0 -47
  110. package/contracts/sac-manager/src/tests/sac_manager/test_helper.rs +0 -75
  111. package/contracts/sac-manager/src/tests/sac_manager/view_functions.rs +0 -60
  112. package/contracts/sac-manager/src/tests/supply_control/enumerable_set.rs +0 -256
  113. package/contracts/sac-manager/src/tests/supply_control/mod.rs +0 -8
  114. package/contracts/sac-manager/src/tests/supply_control/refill.rs +0 -90
  115. package/contracts/sac-manager/src/tests/supply_control/set_mint_whitelist.rs +0 -245
  116. package/contracts/sac-manager/src/tests/supply_control/set_supply_controller.rs +0 -267
  117. package/contracts/sac-manager/src/tests/supply_control/set_supply_controller_manager.rs +0 -122
  118. package/contracts/sac-manager/src/tests/supply_control/test_helper.rs +0 -38
  119. package/contracts/sac-manager/src/tests/supply_control/update_allow_any_mint_burn.rs +0 -114
  120. package/contracts/sac-manager/src/tests/supply_control/update_limit_config.rs +0 -257
  121. /package/contracts/{sac-manager → oapps/sac-manager}/Cargo.toml +0 -0
  122. /package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/set_admin.rs +0 -0
  123. /package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/set_authorized.rs +0 -0
@@ -6,186 +6,31 @@ export * as contract from '@stellar/stellar-sdk/contract';
6
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
7
7
  /**
8
8
  * Embedded WASM bytecode (base64-encoded)
9
- * Size: 47427 bytes (46.32 KB)
9
+ * Size: 31206 bytes (30.47 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "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gIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQaKGwIAAQQoQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZqGwIAAQQgQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCxUAIAAQpICAgAAgAUICEIGAgIAAGgtNAgF/AX4Qp4CAgABBACEAAkBBABCogICAACIBQgIQoYCAgABFDQBBASEAAkACQCABQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAAsgAAtIAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCTgYCAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQjoGAgAALIABBEGokgICAgAALwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQY6JwIAAQQYQtoCAgAAgASgCAA0DIAEgASkDCBC3gICAAAwCCyABQZSJwIAAQQgQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZyJwIAAQQoQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC2sCAX8CfiOAgICAAEEQayICJICAgIAAIAJBBGoQqoCAgAACQCACKAIEQQFHDQAgAjUCDCEDIAI1AgghBCAAIAEQoICAgABCASAEQiCGQgSEIANCIIZCBIQQgoCAgAAaCyACQRBqJICAgIAACwwAIABBAhCbgYCAAAsPABCsgICAABCDgICAABoLRwIBfwF+I4CAgIAAQRBrIgAkgICAgAAQp4CAgAAgABCugICAACAAKQMIIQEgACkDAEGLCBCvgICAACAAQRBqJICAgIAAIAELbAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCugICAACAAKQMIIQEgACkDAEGLCBCvgICAAAJAIAEQrICAgAAQsICAgAANAEKDgICA4IABELGAgIAAAAsgARCDgICAABogAEEQaiSAgICAACABCxAAEKeAgIAAIAAQtYCAgAALKQACQCAAp0EBcUUNAA8LIAFB+ndqrUIghkKDgICA4IABfBCxgICAAAALDQAgACABEJiAgIAAUAsLACAAEJ6AgIAAGgtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABCzgICAAAJAIAApAwBQDQBCg4CAgMCBARCxgICAAAALIABBEGokgICAgAALUwECfhCngICAAEIAIQECQAJAQQEQtICAgAAiAkIAEKGAgIAARQ0AIAJCABCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQaGIwIAAQQwQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZyIwIAAQQUQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC00BAn5CACEBAkACQEEAELSAgIAAIgJCAhChgICAAEUNACACQgIQgICAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEJiBgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARC4gICAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAsaACAArUIghkIEhCABrUIghkIEhBCQgICAAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQayAwIAAQRUQtoCAgAACQAJAIAAoAgANACAAIAApAwgQt4CAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELRwEBfyOAgICAAEEQayIEJICAgIAAIAQgACABIAIgAxC7gICAAAJAIAQoAgBBAUcNAAALIAQpAwghAyAEQRBqJICAgIAAIAMLhwEBAX8jgICAgABBEGsiBSSAgICAACAFIAEgAhDMgICAAEIBIQICQCAFKAIADQAgBSkDCCEBIAUgAyAEEMyAgIAAIAUoAgANACAFIAUpAwg3AwggBSABNwMAIABB4IDAgABBAiAFQQIQyICAgAA3AwhCACECCyAAIAI3AwAgBUEQaiSAgICAAAsZAAJAIAENAEEADwsgACABKQMAELCAgIAACxAAELmAgIAAQgIQoYCAgAALFgEBfkIAIAAQoICAgABCAhChgICAAAtVAQF/I4CAgIAAQdAAayICJICAgIAAIAIgARDAgICAAAJAIAItAEhBAkcNAEKDgICA0BkQsYCAgAAACyAAIAJB0AAQn4GAgAAaIAJB0ABqJICAgIAAC4EEBAF/AX4CfwJ+I4CAgIAAQcABayICJICAgIAAAkACQAJAQgEgARCggICAACIDQgEQoYCAgAANACAAQQI6AEgMAQsgA0IBEICAgIAAIQNBACEEAkADQCAEQRBGDQEgAiAEakICNwMAIARBCGohBAwACwsgA0L/AYNCzABSDQEgA0G4hcCAAEECIAJBAhDKgICAACACQcAAaiACKQMAEM6AgIAAIAItAGgiBUECRg0BIAJBgAFqIAJBwABqQSgQn4GAgAAaIAIgAkHsAGooAAA2AHsgAiACKABpNgJ4QQAhBAJAA0AgBEEQRg0BIAJBsAFqIARqQgI3AwAgBEEIaiEEDAALCyACKQMIIgNC/wGDQswAUg0BIANBkIHAgABBAiACQbABakECEMqAgIAAAkACQCACKQOwASIDp0H/AXEiBEHAAEYNACAEQQZHDQMgA0IIiCEDDAELIAMQhYCAgAAhAwsgAkHAAGogAikDuAEQy4CAgAAgAigCQEEBRg0BIAIpA1AhBiACKQNYIQcgAkEYaiACQYABakEoEJ+BgIAAGiAAQcwAaiACKAB7NgAAIAAgAigCeDYASSAAIAc3AwggACAGNwMAIAAgAzcDECAAQRhqIAJBEGpBMBCfgYCAABogACAFOgBIQgEgARCpgICAAAsgAkHAAWokgICAgAAPCwALJgAgABCDgICAABoCQCAAEMKAgIAADQBCg4CAgJAaELGAgIAAAAsLWgECfyOAgICAAEEQayIBJICAgIAAEKeAgIAAIAFBCGoQ1ICAgAAgABCIgICAABDVgICAAAJAIAEoAggiAkECRw0AENaAgIAAAAsgAUEQaiSAgICAACACQQBHCyQAAkACQCABQgBTDQAgA0J/VQ0BC0KDgICAwBkQsYCAgAAACwttAgF/AX4jgICAgABBEGsiAySAgICAAEGAgMCAAEESEMWAgIAAEMaAgIAAIQQgACABEMeAgIAAIQEgAyACNwMIIAMgATcDACAEQZyAwIAAQQIgA0ECEMiAgIAAEISAgIAAGiADQRBqJICAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEJiBgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQuICAgAAhACABQRBqJICAgIAAIAALQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABEMyAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEBIAJBEGokgICAgAAgAQsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJaAgIAAC+8BAgJ/A34jgICAgABBMGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHggMCAAEECIAJBAhDKgICAACACQRBqIAIpAwAQy4CAgAAgAigCEEEBRg0AIAIpAyghASACKQMgIQYgAkEQaiACKQMIEMuAgIAAIAIoAhBBAUYNACACKQMgIQQgACACKQMoNwMoIAAgBDcDICAAIAE3AxggACAGNwMQQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkEwaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQl4CAgAAaC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQkYCAgAAhAyABEJKAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMAC1sAAkACQCABQoCAgICAgIDAAHxC//////////8AVg0AIAEgAYUgAiABQj+HhYRCAFINACABQgiGQguEIQEMAQsgAiABEJOAgIAAIQELIABCADcDACAAIAE3AwgLfwIBfwF+I4CAgIAAQSBrIgEkgICAgABBuITAgABB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QQhqIQUMAAsLIABCjvKz1wwgBEEQakECELiAgIAAEPCAgIAAIARBIGokgICAgAAPCyAEQRBqIAVqQgI3AwAgBUEIaiEFDAALCw8AEKeAgIAAEL2AgIAArQvUAgEDfyOAgICAAEEgayICJICAgIAAAkACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAQq4CAgAAQp4CAgAAgAkEIahDUgICAACIBIAAQiICAgAAQ1YCAgAAgAigCCCIEQQJGDQECQAJAIANBAXENACAERQ0EIAIoAgwiBCABEImAgIAAQiCIp08NASABIAStQiCGQgSEEIqAgIAAIQEMAQsgBA0EIAEgABCLgICAACEBC0IDIAEQooCAgABCAyAAEKmAgIAAQdSDwIAAQRcQxYCAgAAQxoCAgAAhASACIAA3AxggAiADrTcDECABQfSDwIAAQQIgAkEQakECEMiAgIAAEISAgIAAGiACQSBqJICAgIAAQgIPCwALENaAgIAAAAtCg4CAgNAZELGAgIAAAAtCg4CAgIAZELGAgIAAAAu/BQMCfwR+AX8jgICAgABBsAFrIgMkgICAgAACQAJAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AAkACQCACQgJSDQBBAiEEDAELIANBEGogAhDOgICAACADLQA4IgRBAkYNASADKQMoIQUgAykDICEGIAMpAxghByADKQMQIQIgAykDMCEICxCngICAACAAEMGAgIAAIAEQ0YCAgAAhCQJAAkAgBEECRg0AIAkNAyACIAcgBiAFEMOAgIAAEOCAgIAAIQAgAyAFNwNIIAMgBjcDQCADIAc3AzggAyACNwMwIAMgBzcDGCADIAI3AxAgAyAEOgBYIAMgCDcDUCADIAA3AyAgASADQRBqENCAgIAAENKAgIAAIAEQi4CAgAAQ04CAgAAgAyAFNwN4IAMgBjcDcCADIAc3A2ggAyACNwNgIAMgBDoAiAEgAyAINwOAASADIAE3A5ABQaCBwIAAQRcQxYCAgAAQxoCAgAAhACADQaABaiADQeAAahDPgICAACADKAKgAUEBRg0CIAMpA6gBIQIgAyABNwOoASADIAI3A6ABIABB0IHAgABBAiADQaABakECEMiAgIAAEISAgIAAGgwBCyAJRQ0DQgEgARCggICAAEIBEIyAgIAAGiADQQhqENKAgIAAIgAgARCIgICAABDVgICAACADKAIIIgRBAkYNBCAEQQFxRQ0FAkAgAygCDCIEIAAQiYCAgABCIIinTw0AIAAgBK1CIIZCBIQQioCAgAAhAAsgABDTgICAAEHggcCAAEEZEMWAgIAAEMaAgIAAIQAgAyABNwMQIABB/IHAgABBASADQRBqQQEQyICAgAAQhICAgAAaCyADQbABaiSAgICAAEICDwsAC0KDgICAgBkQsYCAgAAAC0KDgICA0BkQsYCAgAAACxDWgICAAAALENqAgIAAAAs9AgF+AX8CQBCZgICAACIAp0H/AXEiAUEGRg0AAkAgAUHAAEcNACAAEIWAgIAADwsQ1oCAgAAACyAAQgiIC/UCAgF/B34jgICAgABB8ABrIgMkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAMgAhDJgICAACADKAIAQQFxDQAgAykDKCEEIAMpAyAhBSADKQMYIQIgAykDECEGEKeAgIAAIAAQwYCAgAAgBiACIAUgBBDDgICAACADIAEQv4CAgAAgAykDOCEAIAMpAzAhBwJAIAYgAykDICIIhSACIAMpAygiCYWEQgBSDQAgByAFhSAAIASFhEIAUQ0CCyADIAU3AzAgAyAGNwMgIAMgBDcDOCADIAI3AyggASADENCAgIAAQYSCwIAAQRQQxYCAgAAQxoCAgAAhCiAGIAIgBSAEELqAgIAAIQIgCCAJIAcgABC6gICAACEGIAMgATcDaCADIAY3A2AgAyACNwNYIApBuILAgABBAyADQdgAakEDEMiAgIAAEISAgIAAGiADQfAAaiSAgICAAEICDwsAC0KDgICAgBoQsYCAgAAAC/EBAQN/I4CAgIAAQfAAayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEEBIAKnQf8BcSIEQQBHQQF0IARBAUYbIgRBAkYNABCngICAACAAEMGAgIAAIAMgARC/gICAACADLQBIIgUgBEYNASADIAQ6AEggASADENCAgIAAQdCCwIAAQRsQxYCAgAAQxoCAgAAhACADIAE3A2ggAyAFrTcDYCADIAStNwNYIABBgIPAgABBAyADQdgAakEDEMiAgIAAEISAgIAAGiADQfAAaiSAgICAAEICDwsA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ATcDiAEgBCAANwOAASAEIAY3A3ggBUGghMCAAEEDIARB+ABqQQMQyICAgAAQhICAgAAaCwJAEL2AgIAARQ0AENiAgIAAIAEQ2YCAgAANACACIAMgARDEgICAACAEQSBqEK6AgIAAIAQoAiBFDQIgBCkDKCEBCxDYgICAACABIAIgAxDcgICAACAEQZABaiSAgICAAA8LQoOAgICgGRCxgICAAAALENqAgIAAAAuHAgIBfwF+I4CAgIAAQdAAayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACADIAIQy4CAgAAgAygCAEEBRg0AIAMpAxghAiADKQMQIQQQp4CAgAAgABCDgICAABoCQAJAEL6AgIAADQAgAxCugICAACAAIANBCGpBACADKAIAGxC8gICAAA0BQoOAgIAwELGAgIAAAAsgAyAAEL+AgIAAIAMtAEhFDQIgAyAENwMAIAMgATcDGCADIAA3AxAgAyACNwMIIAMQzYCAgAALENiAgIAAIAEgBCACENuAgIAAIANB0ABqJICAgIAAQgIPCwALQoOAgICQGRCxgICAAAALbgIBfwF+I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFENAAALEKuAgIAAEKeAgIAAENiAgIAAIQIgASAANwMIIAJCjuauueqM5NU4IAFBCGpBARC4gICAABDwgICAACABQRBqJICAgIAAQgILIQACQCAAIAEgAhCVgICAAEL/AYNCAlENABDWgICAAAALC/EBAgN/AX4jgICAgABBIGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQAhA0EBIAGnQf8BcSIEQQBHQQF0IARBAUYbIgRBAkYNABCrgICAABCngICAABDYgICAACEBQayGwIAAQQ4QxYCAgAAhBSACIAStNwMIIAIgADcDAANAAkAgA0EQRw0AQQAhAwJAA0AgA0EQRg0BIAJBEGogA2ogAiADaikDADcDACADQQhqIQMMAAsLIAEgBSACQRBqQQIQuICAgAAQ8ICAgAAgAkEgaiSAgICAAEICDwsgAkEQaiADakICNwMAIANBCGohAwwACwsAC3gBAX8jgICAgABBEGsiASSAgICAAAJAAkAgAEL/AYNCzQBSDQAQq4CAgAAQp4CAgAAgARDzgICAACAAIAFBCGpBACABKAIAGxC8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AhAQ+oCAgAAMAQtBARCogICAAEICEIyAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQ+4CAgAAMAQtBAhCogICAAEICEIyAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QciIwIAAQQ8QxYCAgAAQxoCAgAAhACACQShqEJGBgIAAIQEgAiACQTRqEJGBgIAANwNIIAIgATcDQCAAQeyIwIAAQQIgAkHAAGpBAhDIgICAABCEgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQmYGAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQlIGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC6ABAgJ/AX4jgICAgABBwABrIgAkgICAgAAQp4CAgAAgAEEIahCTgYCAACAAQRRqIgEQqoCAgAAgAEEwaiAAQQhqEJSBgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARCUgYCAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQuICAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARCbgYCAAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCagYCAAA8LIABCADcDACAAQgI3AwgLiAEBAX8jgICAgABBEGsiACSAgICAABCrgICAABCngICAAAJAEKaAgIAARQ0AQoOAgIDg/wAQsYCAgAAAC0EAEKiAgIAAQgFCAhCBgICAABpB/IjAgABBEhDFgICAABDGgICAAEEEQQAgAEEIakEAEMiAgIAAEISAgIAAGiAAQRBqJICAgIAAQgILCQAQpoCAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCUgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQbiIwIAAQQIgAkECEMqAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBuIjAgABBAiADQQIQyICAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEKiAgIAAIgRCAhChgICAAEUNACACQQRqIARCAhCAgICAABCZgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABCogICAACEEIAMgASACEJqBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgYCAgAAaIANBEGokgICAgAAL1QMDAX8CfgJ/I4CAgIAAQeAAayIGJICAgIAAQgAhB0IAIQhBACEJAkAgASAChFANACADIASEUA0AQgAgA30gAyAEQgBTIgkbIQdCACABfSABIAJCAFMiChshCEIAIAQgA0IAUq18fSAEIAkbIQMgBCAChSEEAkACQEIAIAIgAUIAUq18fSACIAobIgJQDQACQCADUA0AIAZB0ABqIAcgAyAIIAIQoIGAgABBASEJIAYpA1ghASAGKQNQIQIMAgsgBkHAAGogByADIAhCABCggYCAACAGQTBqIAcgAyACQgAQoIGAgAAgBikDSCICIAYpAzB8IgEgAlQgBikDOEIAUnIhCSAGKQNAIQIMAQsCQCADUA0AIAZBIGogB0IAIAggAhCggYCAACAGQRBqIANC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bGxlcnRvEgAQAAYAAAAUAhAACgAAAB4CEAACAAAAc3VwcGx5X2RlY3JlYXNlZGZyb20SABAABgAAABQCEAAKAAAASAIQAAQAAABhbGxvd19hbnlfbWludF9idXJubGltaXRfY29uZmlnd2hpdGVsaXN0X2FkZHJlc3NlcwAAZAIQABMAAAB3AhAADAAAAIMCEAATAAAAc3RhdGUAAAC3ABAABgAAALACEAAFAAAAU3VwcGx5Q29udHJvbEVuYWJsZWRTdXBwbHlDb250cm9sbGVyRW50cnlTdXBwbHlDb250cm9sbGVyc1N1cHBseUNvbnRyb2xsZXJNYW5hZ2Vyc1NhY1Rva2VuT2Z0QWRkcmVzc3NldF9hdXRob3JpemVkYXV0aG9yaXplZHRocmVzaG9sZG93bmVyc2hpcF90cmFuc2ZlcnJlZG5ld19vd25lcm9sZF9vd25lcmIDEAAJAAAAawMQAAkAAABvd25lcnNoaXBfdHJhbnNmZXJyaW5ndHRsAAAAYgMQAAkAAABrAxAACQAAAJoDEAADAAAAb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZGNhbmNlbGxlZF9wZW5kaW5nX293bmVyb3duZXLUAxAAFwAAAOsDEAAFAAAAb3duZXJzaGlwX3Jlbm91bmNlZABrAxAACQAAAE93bmVyUGVuZGluZ093bmVyZXh0ZW5kX3RvAAAtBBAACQAAAEQDEAAJAAAAdHRsX2NvbmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAVwQQAAgAAABfBBAACgAAAHR0bF9jb25maWdzX2Zyb3plbkZyb3plbkluc3RhbmNlUGVyc2lzdGVudE1pZ3JhdGluZwDX3gEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAATUmVkaXN0cmlidXRpb25FcnJvcgAAAAACAAAAOEFjY291bnQgaXMgbm90IGJsYWNrbGlzdGVkIChyZXF1aXJlZCBmb3IgcmVkaXN0cmlidXRpb24pAAAADk5vdEJsYWNrbGlzdGVkAAAAAABkAAAAHVJlZGlzdHJpYnV0aW9uIGlzIG5vdCBlbmFibGVkAAAAAAAAGFJlZGlzdHJpYnV0aW9uTm90RW5hYmxlZAAAAGUAAAAFAAAARkV2ZW50IGVtaXR0ZWQgd2hlbiBmdW5kcyBhcmUgcmVkaXN0cmlidXRlZCBmcm9tIGEgYmxhY2tsaXN0ZWQgYWNjb3VudC4AAAAAAAAAAAARUmVkaXN0cmlidXRlRnVuZHMAAAAAAAABAAAAEnJlZGlzdHJpYnV0ZV9mdW5kcwAAAAAAAgAAAAAAAAAEdXNlcgAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABVSZWRpc3RyaWJ1dGlvblN0b3JhZ2UAAAAAAAABAAAAAAAAAAAAAAAVUmVkaXN0cmlidXRpb25FbmFibGVkAAAAAAAAAQAAACZMaW1pdCBjb25maWd1cmF0aW9uIGZvciByYXRlIGxpbWl0aW5nLgAAAAAAAAAAAAtMaW1pdENvbmZpZwAAAAACAAAAHU1heCBhbW91bnQgZm9yIHRoZSByYXRlIGxpbWl0AAAAAAAADmxpbWl0X2NhcGFjaXR5AAAAAAALAAAAhUFtb3VudCB0byBhZGQgdG8gbGltaXQgZWFjaCBzZWNvbmQgdXAgdG8gdGhlIGxpbWl0Q2FwYWNpdHkuCkEgdmFsdWUgb2YgMCBtZWFucyByYXRlIGxpbWl0aW5nIGlzIGRpc2FibGVkICh1bmxpbWl0ZWQgbWludGluZyBhbGxvd2VkKS4AAAAAAAARcmVmaWxsX3Blcl9zZWNvbmQAAAAAAAALAAAAAQAAAElSYXRlIGxpbWl0IHN0YXRlICh0aGUgcnVudGltZSBzdGF0ZSB0aGF0IHBlcnNpc3RzIGFjcm9zcyBjb25maWcgdXBkYXRlcykuAAAAAAAAAAAAAA5SYXRlTGltaXRTdGF0ZQAAAAAAAgAAABhUaW1lc3RhbXAgb2YgbGFzdCByZWZpbGwAAAAQbGFzdF9yZWZpbGxfdGltZQAAAAYAAAAkUmVtYWluaW5nIGFtb3VudCBmb3IgdGhlIHRpbWUgcGVyaW9kAAAAEHJlbWFpbmluZ19hbW91bnQAAAALAAAABAAAACBTdXBwbHkgY29udHJvbCBlcnJvcnM6IDMyNTAtMzI5OQAAAAAAAAASU3VwcGx5Q29udHJvbEVycm9yAAAAAAAKAAAAR0VudHJ5IGFscmVhZHkgZXhpc3RzIChzdXBwbHkgY29udHJvbGxlciwgbWFuYWdlciwgb3Igd2hpdGVsaXN0IGFkZHJlc3MpAAAAAA1BbHJlYWR5RXhpc3RzAAAAAAAAyAAAAB1DYW5ub3QgYnVybiBmcm9tIHRoaXMgYWRkcmVzcwAAAAAAABVDYW5ub3RCdXJuRnJvbUFkZHJlc3MAAAAAAADJAAAALkNhbm5vdCBtaW50IHRvIHRoaXMgYWRkcmVzcyAobm90IGluIHdoaXRlbGlzdCkAAAAAABNDYW5ub3RNaW50VG9BZGRyZXNzAAAAAMoAAAAOSW52YWxpZCBhbW91bnQAAAAAAA1JbnZhbGlkQW1vdW50AAAAAAAAywAAABVJbnZhbGlkIGNvbmZpZ3VyYXRpb24AAAAAAAANSW52YWxpZENvbmZpZwAAAAAAAMwAAABCRW50cnkgbm90IGZvdW5kIChzdXBwbHkgY29udHJvbGxlciwgbWFuYWdlciwgb3Igd2hpdGVsaXN0IGFkZHJlc3MpAAAAAAAITm90Rm91bmQAAADNAAAALFRpbWVzdGFtcCBpcyBvbGRlciB0aGFuIHRoZSBsYXN0IHJlZmlsbCB0aW1lAAAADE9sZFRpbWVzdGFtcAAAAM4AAAATUmF0ZSBsaW1pdCBleGNlZWRlZAAAAAARUmF0ZUxpbWl0RXhjZWVkZWQAAAAAAADPAAAAJlZhbHVlIGlzIGFscmVhZHkgc2V0IHRvIHRoZSBzYW1lIHN0YXRlAAAAAAAJU2FtZVZhbHVlAAAAAAAA0AAAAD1DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBhIHN1cHBseSBjb250cm9sbGVyIG9yIG1hbmFnZXIpAAAAAAAADFVuYXV0aG9yaXplZAAAANEAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIGlzIGFkZGVkLgAAAAAAAAAVU3VwcGx5Q29udHJvbGxlckFkZGVkAAAAAAAAAQAAABdzdXBwbHlfY29udHJvbGxlcl9hZGRlZAAAAAACAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAAAZjb25maWcAAAAAB9AAAAAWU3VwcGx5Q29udHJvbGxlckNvbmZpZwAAAAAAAAAAAAIAAAAFAAAAMkV2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIGlzIHJlbW92ZWQuAAAAAAAAAAAAF1N1cHBseUNvbnRyb2xsZXJSZW1vdmVkAAAAAAEAAAAZc3VwcGx5X2NvbnRyb2xsZXJfcmVtb3ZlZAAAAAAAAAEAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAACAAAABQAAAEpFdmVudCBlbWl0dGVkIHdoZW4gbGltaXQgY29uZmlndXJhdGlvbiBpcyB1cGRhdGVkIGZvciBhIHN1cHBseSBjb250cm9sbGVyLgAAAAAAAAAAABJMaW1pdENvbmZpZ1VwZGF0ZWQAAAAAAAEAAAAUbGltaXRfY29uZmlnX3VwZGF0ZWQAAAADAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAABBuZXdfbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAAAAABBvbGRfbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAgAAAAUAAABMRXZlbnQgZW1pdHRlZCB3aGVuIGBhbGxvd19hbnlfbWludF9idXJuYCBpcyB1cGRhdGVkIGZvciBhIHN1cHBseSBjb250cm9sbGVyLgAAAAAAAAAXQWxsb3dBbnlNaW50QnVyblVwZGF0ZWQAAAAAAQAAABthbGxvd19hbnlfbWludF9idXJuX3VwZGF0ZWQAAAAAAwAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X2FsbG93AAAAAAAAAQAAAAAAAAAAAAAACW9sZF9hbGxvdwAAAAAAAAEAAAAAAAAAAgAAAAUAAAA+RXZlbnQgZW1pdHRlZCB3aGVuIGEgbWludCB3aGl0ZWxpc3QgZW50cnkgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAAAAAQTWludFdoaXRlbGlzdFNldAAAAAEAAAASbWludF93aGl0ZWxpc3Rfc2V0AAAAAAADAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAAAxtaW50X2FkZHJlc3MAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAQ0V2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIG1hbmFnZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAAABRTdXBwbHlDdHJsTWFuYWdlclNldAAAAAEAAAAXc3VwcGx5X2N0cmxfbWFuYWdlcl9zZXQAAAAAAgAAAAAAAAAHbWFuYWdlcgAAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiB0b2tlbnMgYXJlIG1pbnRlZC4AAAAAAAAAAAAAD1N1cHBseUluY3JlYXNlZAAAAAABAAAAEHN1cHBseV9pbmNyZWFzZWQAAAADAAAAAAAAAApjb250cm9sbGVyAAAAAAATAAAAAAAAAAAAAAACdG8AAAAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAgAAAAUAAAAlRXZlbnQgZW1pdHRlZCB3aGVuIHRva2VucyBhcmUgYnVybmVkLgAAAAAAAAAAAAAPU3VwcGx5RGVjcmVhc2VkAAAAAAEAAAAQc3VwcGx5X2RlY3JlYXNlZAAAAAMAAAAAAAAACmNvbnRyb2xsZXIAAAAAABMAAAAAAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAACAAAAAQAAAD5TdXBwbHkgY29udHJvbGxlciBjb25maWd1cmF0aW9uICh0aGUgY29uZmlndXJhYmxlIHBhcmFtZXRlcnMpLgAAAAAAAAAAABZTdXBwbHlDb250cm9sbGVyQ29uZmlnAAAAAAADAAAAk0lmIHRydWUsIGFsbG93cyB0aGUgc3VwcGx5IGNvbnRyb2xsZXIgdG8gbWludCB0byBhbmQgYnVybiBmcm9tIGFueSBhZGRyZXNzLgpXaGVuIGZhbHNlLCB0aGUgY29udHJvbGxlciBjYW4gb25seSBtaW50IHRvIGFkZHJlc3NlcyBpbiBpdHMgd2hpdGVsaXN0LgAAAAATYWxsb3dfYW55X21pbnRfYnVybgAAAAABAAAAE0xpbWl0IGNvbmZpZ3VyYXRpb24AAAAADGxpbWl0X2NvbmZpZwAAB9AAAAALTGltaXRDb25maWcAAAAAYkFkZHJlc3NlcyB0aGF0IHRoaXMgc3VwcGx5IGNvbnRyb2xsZXIgaXMgYWxsb3dlZCB0byBtaW50IHRvICh3aGVuIGBhbGxvd19hbnlfbWludF9idXJuYCBpcyBmYWxzZSkuAAAAAAATd2hpdGVsaXN0X2FkZHJlc3NlcwAAAAPqAAAAEwAAAAEAAAB3U3VwcGx5IGNvbnRyb2xsZXIgd2l0aCBib3RoIGNvbmZpZyBhbmQgc3RhdGUgbmVzdGVkIHRvZ2V0aGVyLgpTdG9yZWQgcGVyLWNvbnRyb2xsZXIgZm9yIE8oMSkgYWNjZXNzIG9uIGV2ZXJ5IG1pbnQvYnVybi4AAAAAAAAAABVTdXBwbHlDb250cm9sbGVyRW50cnkAAAAAAAACAAAALENvbmZpZ3VyYXRpb24gKGNhbiBiZSB1cGRhdGVkIGluZGVwZW5kZW50bHkpAAAABmNvbmZpZwAAAAAH0AAAABZTdXBwbHlDb250cm9sbGVyQ29uZmlnAAAAAAAyUmF0ZSBsaW1pdCBzdGF0ZSAocHJlc2VydmVkIGFjcm9zcyBjb25maWcgdXBkYXRlcykAAAAAAAVzdGF0ZQAAAAAAB9AAAAAOUmF0ZUxpbWl0U3RhdGUAAAAAAAIAAAAAAAAAAAAAABRTdXBwbHlDb250cm9sU3RvcmFnZQAAAAQAAAAAAAAAAAAAABRTdXBwbHlDb250cm9sRW5hYmxlZAAAAAEAAAAAAAAAFVN1cHBseUNvbnRyb2xsZXJFbnRyeQAAAAAAAAEAAAATAAAAAAAAAAAAAAARU3VwcGx5Q29udHJvbGxlcnMAAAAAAAAAAAAAAAAAABhTdXBwbHlDb250cm9sbGVyTWFuYWdlcnMAAAAEAAAAIkdlbmVyYWwgU2FjTWFuYWdlckVycm9yOiAzMjIwLTMyNDkAAAAAAAAAAAAPU2FjTWFuYWdlckVycm9yAAAAAAMAAAAgT0ZUIGFkZHJlc3MgaGFzIG5vdCBiZWVuIHNldCB5ZXQAAAAQT2Z0QWRkcmVzc05vdFNldAAAAAEAAAAXVGhlIHZhbHVlcyBhcmUgdGhlIHNhbWUAAAAACVNhbWVWYWx1ZQAAAAAAAAIAAAArQ2FsbGVyIGlzIG5vdCBhdXRob3JpemVkIGZvciB0aGlzIG9wZXJhdGlvbgAAAAAMVW5hdXRob3JpemVkAAAAAwAAAAAAAAA8UmVkaXN0cmlidXRlcyBmdW5kcyBmcm9tIGEgYmxhY2tsaXN0ZWQgYWNjb3VudCB0byB0aGUgb3duZXIuAAAAHnJlZGlzdHJpYnV0ZV9ibGFja2xpc3RlZF9mdW5kcwAAAAAAAgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAABZyZWRpc3RyaWJ1dGlvbl9lbmFibGVkAAAAAAAAAAAAAQAAAAEAAAAAAAAAQ1NldHMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGEgc3VwcGx5IGNvbnRyb2xsZXIgbWFuYWdlci4gT3duZXItb25seS4AAAAAHXNldF9zdXBwbHlfY29udHJvbGxlcl9tYW5hZ2VyAAAAAAAAAgAAAAAAAAAHbWFuYWdlcgAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAKlTZXRzIG9yIHJlbW92ZXMgYSBzdXBwbHkgY29udHJvbGxlci4gTWFuYWdlci1vbmx5LgoKLSBgU29tZShjb25maWcpYDogQWRkcyBhIG5ldyBzdXBwbHkgY29udHJvbGxlciB3aXRoIHRoZSBnaXZlbiBjb25maWd1cmF0aW9uLgotIGBOb25lYDogUmVtb3ZlcyB0aGUgc3VwcGx5IGNvbnRyb2xsZXIuAAAAAAAAFXNldF9zdXBwbHlfY29udHJvbGxlcgAAAAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAZjb25maWcAAAAAA+gAAAfQAAAAFlN1cHBseUNvbnRyb2xsZXJDb25maWcAAAAAAAAAAAAAAAAAoFVwZGF0ZXMgdGhlIHJhdGUgbGltaXQgY29uZmlndXJhdGlvbiBmb3IgYSBzdXBwbHkgY29udHJvbGxlci4gTWFuYWdlci1vbmx5LgpOb3RlOiBUaGlzIGRvZXMgTk9UIHJlc2V0IHRoZSByYXRlIGxpbWl0IHN0YXRlIChyZW1haW5pbmdfYW1vdW50LCBsYXN0X3JlZmlsbF90aW1lKS4AAAATdXBkYXRlX2xpbWl0X2NvbmZpZwAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAAMbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAAAAAFpVcGRhdGVzIHdoZXRoZXIgdGhlIHN1cHBseSBjb250cm9sbGVyIGNhbiBtaW50IHRvIGFuZCBidXJuIGZyb20gYW55IGFkZHJlc3MuIE1hbmFnZXItb25seS4AAAAAABp1cGRhdGVfYWxsb3dfYW55X21pbnRfYnVybgAAAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAE2FsbG93X2FueV9taW50X2J1cm4AAAAAAQAAAAAAAAAAAAAAVlNldHMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGluIHRoZSBtaW50IHdoaXRlbGlzdCBvZiBhIHN1cHBseSBjb250cm9sbGVyLiBNYW5hZ2VyLW9ubHkuAAAAAAASc2V0X21pbnRfd2hpdGVsaXN0AAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAAMbWludF9hZGRyZXNzAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAABBUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBhZGRyZXNzIGlzIGEgc3VwcGx5IGNvbnRyb2xsZXIgbWFuYWdlci4AAAAAAAAcaXNfc3VwcGx5X2NvbnRyb2xsZXJfbWFuYWdlcgAAAAEAAAAAAAAAB2FkZHJlc3MAAAAAEwAAAAEAAAABAAAAAAAAAC1HZXRzIGFsbCBzdXBwbHkgY29udHJvbGxlciBtYW5hZ2VyIGFkZHJlc3Nlcy4AAAAAAAAeZ2V0X3N1cHBseV9jb250cm9sbGVyX21hbmFnZXJzAAAAAAAAAAAAAQAAA+oAAAATAAAAAAAAACVHZXRzIHN1cHBseSBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24uAAAAAAAAHGdldF9zdXBwbHlfY29udHJvbGxlcl9jb25maWcAAAABAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAABAAAD6AAAB9AAAAAWU3VwcGx5Q29udHJvbGxlckNvbmZpZwAAAAAAAAAAAAAAAAATYWxsb3dfYW55X21pbnRfYnVybgAAAAABAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAABAAAAAQAAAAAAAAAsR2V0cyBhbGwgYWN0aXZlIHN1cHBseSBjb250cm9sbGVyIGFkZHJlc3Nlcy4AAAAWZ2V0X3N1cHBseV9jb250cm9sbGVycwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABNUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBhZGRyZXNzIGlzIGluIHRoZSB3aGl0ZWxpc3Qgb2YgYSBzdXBwbHkgY29udHJvbGxlci4AAAAAAAAWaXNfYWRkcmVzc193aGl0ZWxpc3RlZAAAAAAAAgAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAxtaW50X2FkZHJlc3MAAAATAAAAAQAAAAEAAAAAAAAAP0dldHMgcmVtYWluaW5nIGFtb3VudCB3aGljaCBjYW4gYmUgbWludGVkIGF0IGN1cnJlbnQgdGltZXN0YW1wLgAAAAAZZ2V0X3JlbWFpbmluZ19taW50X2Ftb3VudAAAAAAAAAEAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAEAAAALAAAAAAAAAAAAAAAWc3VwcGx5X2NvbnRyb2xfZW5hYmxlZAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAPYXV0aG9yaXplZF9taW50AAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAAAhjbGF3YmFjawAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAABFyZWxlYXNlX3NhY19hZG1pbgAAAAAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAAAAAAAAAAADnNldF9hdXRob3JpemVkAAAAAAACAAAAAAAAAAJpZAAAAAAAEwAAAAAAAAAJYXV0aG9yaXplAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA9zZXRfb2Z0X2FkZHJlc3MAAAAAAQAAAAAAAAAHbmV3X29mdAAAAAATAAAAAAAAAAAAAAAAAAAADnVuZGVybHlpbmdfc2FjAAAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAtvZnRfYWRkcmVzcwAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAARtaW50AAAAAgAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAAARidXJuAAAAAgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAACBENvbnN0cnVjdHMgdGhlIFNBQyBtYW5hZ2VyIGNvbnRyYWN0LgoKIyBBcmd1bWVudHMKKiBgc2FjX3Rva2VuYCAtIFRoZSB1bmRlcmx5aW5nIFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBUaGUgaW5pdGlhbCBvd25lciBhZGRyZXNzIChmb3IgdXBncmFkZXMsIG93bmVyIG9wcywgcmVkaXN0cmlidXRpb24gdGFyZ2V0KQoqIGByZWRpc3RyaWJ1dGlvbl9lbmFibGVkYCAtIFdoZXRoZXIgcmVkaXN0cmlidXRpb24gaXMgZW5hYmxlZCBnbG9iYWxseQoqIGBzdXBwbHlfY29udHJvbF9lbmFibGVkYCAtIFdoZXRoZXIgc3VwcGx5IGNvbnRyb2wgaXMgZW5hYmxlZCBnbG9iYWxseQoKTm90ZTogVGhlIE9GVCBhZGRyZXNzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgdmlhIGBzZXRfb2Z0X2FkZHJlc3NgIGFmdGVyIGNvbnN0cnVjdGlvbiwKYmVjYXVzZSB0aGUgT0ZUIGFuZCBzYWMtbWFuYWdlciBoYXZlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBvbiBlYWNoIG90aGVyJ3MgYWRkcmVzc2VzLgAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABAAAAAAAAAAJc2FjX3Rva2VuAAAAAAAAEwAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAABZyZWRpc3RyaWJ1dGlvbl9lbmFibGVkAAAAAAABAAAAAAAAABZzdXBwbHlfY29udHJvbF9lbmFibGVkAAAAAAABAAAAAAAAAAAAAABsVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAACHUnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KUGFyc2VzIFhEUi1lbmNvZGVkIGBtaWdyYXRpb25fZGF0YWAgYW5kIGNhbGxzIGBfX21pZ3JhdGVgLiBDbGVhcnMgdGhlIG1pZ3JhdGlvbiBmbGFnIG9uIHN1Y2Nlc3MuAAAAAAdtaWdyYXRlAAAAAAEAAAAAAAAADm1pZ3JhdGlvbl9kYXRhAAAAAAAOAAAAAAAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAAAApUV4dGVuZHMgdGhlIGluc3RhbmNlIFRUTC4KCiMgQXJndW1lbnRzCgoqIGB0aHJlc2hvbGRgIC0gVGhlIHRocmVzaG9sZCB0byBleHRlbmQgdGhlIFRUTCAoaWYgY3VycmVudCBUVEwgaXMgYmVsb3cgdGhpcywgZXh0ZW5kKS4KKiBgZXh0ZW5kX3RvYCAtIFRoZSBUVEwgdG8gZXh0ZW5kIHRvLgAAAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAAAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAIAAAAAAAAAAAAAABFTYWNNYW5hZ2VyU3RvcmFnZQAAAAAAAAIAAAAAAAAAAAAAAAhTYWNUb2tlbgAAAAAAAAAAAAAACk9mdEFkZHJlc3MAAAAAAAUAAAAAAAAAAAAAAApQYWNrZXRTZW50AAAAAAABAAAAC3BhY2tldF9zZW50AAAAAAMAAAAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAAAAAAAM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AAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAgAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAC9MaWJyYXJ5IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAANkNvbXBvc2UgbWVzc2FnZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBHVUlEIGFuZCBpbmRleAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAANkNvbXBvc2UgbWVzc2FnZSBub3QgZm91bmQgZm9yIHRoZSBnaXZlbiBHVUlEIGFuZCBpbmRleAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAOkRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGlzIG5vdCBzZXQgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAADxEZWZhdWx0IHNlbmQgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgZGVzdGluYXRpb24gZW5kcG9pbnQAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAvU3VwcGxpZWQgbmF0aXZlIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAsU3VwcGxpZWQgWlJPIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAK1RpbWVvdXQgZXhwaXJ5IGlzIGludmFsaWQgKGFscmVhZHkgZXhwaXJlZCkAAAAADUludmFsaWRFeHBpcnkAAAAAAAAIAAAAIEZlZSBhbW91bnQgaXMgaW52YWxpZCAobmVnYXRpdmUpAAAAEEludmFsaWRGZWVBbW91bnQAAAAJAAAAK0NvbXBvc2UgaW5kZXggZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgdmFsdWUAAAAADEludmFsaWRJbmRleAAAAAoAAAAsTm9uY2UgaXMgaW52YWxpZCBmb3IgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24AAAAMSW52YWxpZE5vbmNlAAAACwAAADBQYXlsb2FkIGhhc2ggaXMgaW52YWxpZCAoZW1wdHkgaGFzaCBub3QgYWxsb3dlZCkAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAQVJlY2VpdmUgbGlicmFyeSBpcyBub3QgdmFsaWQgZm9yIHRoZSByZWNlaXZlciBhbmQgc291cmNlIGVuZHBvaW50AAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAA0AAAAxT3BlcmF0aW9uIHJlcXVpcmVzIGEgbm9uLWRlZmF1bHQgKGN1c3RvbSkgbGlicmFyeQAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAnTGlicmFyeSBtdXN0IHN1cHBvcnQgcmVjZWl2aW5nIG1lc3NhZ2VzAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAACxMaWJyYXJ5IG11c3QgYmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAlTGlicmFyeSBtdXN0IHN1cHBvcnQgc2VuZGluZyBtZXNzYWdlcwAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAOU1lc3NhZ2luZyBwYXRoIGNhbm5vdCBiZSBpbml0aWFsaXplZCBmb3IgdGhlIGdpdmVuIG9yaWdpbgAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAvTWVzc2FnZSBjYW5ub3QgYmUgdmVyaWZpZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAACtQYXlsb2FkIGhhc2ggZG9lcyBub3QgbWF0Y2ggdGhlIHN0b3JlZCBoYXNoAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAnTmV3IHZhbHVlIGlzIHRoZSBzYW1lIGFzIGV4aXN0aW5nIHZhbHVlAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAL0NhbGxlciBpcyBub3QgYXV0aG9yaXplZCAobm90IE9BcHAgb3IgZGVsZWdhdGUpAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAK0VuZHBvaW50IElEIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGxpYnJhcnkAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAOVpSTyBmZWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyB3aGVuIHBheV9pbl96cm8gaXMgdHJ1ZQAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAHFpSTyB0b2tlbiBhZGRyZXNzIGlzIG5vdCBzZXQAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAzVW5peCB0aW1lc3RhbXAgaW4gc2Vjb25kcyB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAAAAZleHBpcnkAAAAAAAYAAABDVGhlIG9sZCBsaWJyYXJ5IGFkZHJlc3MgdGhhdCByZW1haW5zIHZhbGlkIGR1cmluZyB0aGUgZ3JhY2UgcGVyaW9kLgAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRv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AAAACWluc3BlY3RvcgAAAAAAA+gAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKT0ZUU3RvcmFnZQAAAAAAAwAAAAAAAAAAAAAADERlY2ltYWxzRGlmZgAAAAAAAAAAAAAABVRva2VuAAAAAAAAAAAAAAAAAAAMTXNnSW5zcGVjdG9yAAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAGAAAAAAAAAA5JbnZhbGlkQWRkcmVzcwAAAAALuAAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAAC7kAAAAAAAAAFEludmFsaWRMb2NhbERlY2ltYWxzAAALugAAAAAAAAAOTm90SW5pdGlhbGl6ZWQAAAAAC7sAAAAAAAAACE92ZXJmbG93AAALvAAAAAAAAAAQU2xpcHBhZ2VFeGNlZWRlZAAAC70AAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgT0ZUIHRva2VucyBjcm9zcy1jaGFpbgAAAAAAAAAAAAAJU2VuZFBhcmFtAAAAAAAABwAAACRUaGUgYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAAJYW1vdW50X2xkAAAAAAAACwAAADhDb21wb3NlIG1lc3NhZ2UgdG8gZXhlY3V0ZSBvbiB0aGUgZGVzdGluYXRpb24gKE9wdGlvbmFsKQAAAAtjb21wb3NlX21zZwAAAAAOAAAAG1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAAHZHN0X2VpZAAAAAAEAAAAN0FkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIExheWVyWmVybyBtZXNzYWdlIChPcHRpb25hbCkAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAARVRoZSBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlIGluIGxvY2FsIGRlY2ltYWxzIChzbGlwcGFnZSBwcm90ZWN0aW9uKQAAAAAAAA1taW5fYW1vdW50X2xkAAAAAAAACwAAACpPRlQgY29tbWFuZCBmb3IgY3VzdG9tIGJlaGF2aW9yIChPcHRpb25hbCkAAAAAAAdvZnRfY21kAAAAAA4AAAA5VGhlIHJlY2lwaWVudCBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpAAAAAAAAAnRvAAAAAAPuAAAAIAAAAAEAAAAiVHJhbnNmZXIgbGltaXRzIGZvciBPRlQgb3BlcmF0aW9ucwAAAAAAAAAAAAhPRlRMaW1pdAAAAAIAAAAsVGhlIG1heGltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWF4X2Ftb3VudF9sZAAAAAAAAAsAAAAsVGhlIG1pbmltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAABAAAAP1JlY2VpcHQgY29udGFpbmluZyBhbW91bnRzIHNlbnQgYW5kIHJlY2VpdmVkIGluIGFuIE9GVCB0cmFuc2ZlcgAAAAAAAAAACk9GVFJlY2VpcHQAAAAAAAIAAAAzVGhlIGFtb3VudCByZWNlaXZlZCBpbiBsb2NhbCBkZWNpbWFscyBvbiB0aGUgcmVtb3RlAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAhVGhlIGFtb3VudCBzZW50IGluIGxvY2FsIGRlY2ltYWxzAAAAAAAADmFtb3VudF9zZW50X2xkAAAAAAALAAAAAQAAAC5EZXRhaWxzIGFib3V0IGZlZXMgY2hhcmdlZCBpbiBhbiBPRlQgb3BlcmF0aW9uAAAAAAAAAAAADE9GVEZlZURldGFpbAAAAAIAAAAaVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBmZWUAAAAAAAtkZXNjcmlwdGlvbgAAAAAOAAAAf1RoZSBhbW91bnQgb2YgdGhlIGZlZSBpbiBsb2NhbCBkZWNpbWFscy4gUG9zaXRpdmUgdmFsdWVzIHJlcHJlc2VudCBmZWVzIGNoYXJnZWQsCndoaWxlIG5lZ2F0aXZlIHZhbHVlcyByZXByZXNlbnQgcmV3YXJkcyBnaXZlbi4AAAAADWZlZV9hbW91bnRfbGQAAAAAAAALAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAIAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4wIzg2YzUwYTFlYTRmODdiNDBhZGQzMDY0ZmY5ZGY5NWM3NTUzNTY1YzUAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
11
+ export declare const WASM_BASE64 = "AGFzbQEAAAABbRRgAn5+AX5gBH5+fn4BfmABfgF+YAN+fn4BfmAAAX5gAAF/YAAAYAF/AX5gAn5+AX9gAX8AYAJ+fwBgAX4AYAN/f38AYAJ/fgBgAn9/AX5gA35+fgBgAn9/AGACfn4AYAR/f39/AX5gA39+fgACqQEcAWwBMQAAAWwBNwABAWEBMAACAXYBZAAAAWwBXwADAXYBMwACAXYBMgAAAXYBNgAAAWIBOAACAWwBNgACAWIBMAACAXgBMQAAAWwBMgAAAXYBXwAEAXYBZwAAAWkBOAACAWkBNwACAWIBagAAAWkBNgAAAWQBXwADAW0BOQADAXgBMAAAAXgBMwAEAXgBOAAEAWwBMAAAAWwBOAAAAXgBNQACAW0BYQABA0xLBQYHCAYJBwYEBAkKCAsGCQcJDA0DDQQEAA4PABAQCwACAA4ABAYEBAYCCQIEBAQABAIRAAYCEgUTBAQAEAANBwQJEAQEBgwNDBAMBQMBABEGIQR/AUGAgMAAC38AQY+AwAALfwBBi4PAAAt/AEGQg8AACweOAxoGbWVtb3J5AgAEbWludAAwDV9fY29uc3RydWN0b3IANwhjbGF3YmFjawA7EXJlbGVhc2Vfc2FjX2FkbWluADwOc2V0X2F1dGhvcml6ZWQAPQpzZXRfbWludGVyAD8OdW5kZXJseWluZ19zYWMAQgdtaW50ZXJzAEMHdXBncmFkZQBFB21pZ3JhdGUARwphdXRob3JpemVyAEkFb3duZXIASg1wZW5kaW5nX293bmVyAEwSdHJhbnNmZXJfb3duZXJzaGlwAE0acHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIATxBhY2NlcHRfb3duZXJzaGlwAFUScmVub3VuY2Vfb3duZXJzaGlwAFYTZXh0ZW5kX2luc3RhbmNlX3R0bABXD3NldF90dGxfY29uZmlncwBZC3R0bF9jb25maWdzAFwSZnJlZXplX3R0bF9jb25maWdzAF8VaXNfdHRsX2NvbmZpZ3NfZnJvemVuAGABXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCsM0S00CAX8BfhCdgICAAEEAIQACQEEAEJ6AgIAAIgFCAhCfgICAAEUNAEEBIQACQAJAIAFCAhCAgICAAKdB/wFxDgIBAgALAAtBACEACyAAC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEN2AgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDYgICAAAsgAEEQaiSAgICAAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB6oLAgABBBhCugICAACABKAIADQMgASABKQMIEK+AgIAADAILIAFB8ILAgABBCBCugICAACABKAIADQIgASABKQMIEK+AgIAADAELIAFB+ILAgABBChCugICAACABKAIADQEgASABKQMIEK+AgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJiAgIAAQgFRC2kCAX8CfiOAgICAAEEQayIAJICAgIAAIABBBGoQoYCAgAACQCAAKAIEQQFHDQAgADUCDCEBIAA1AgghAkEBEKKAgIAAQgEgAkIghkIEhCABQiCGQgSEEIGAgIAAGgsgAEEQaiSAgICAAAsMACAAQQIQ5YCAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQYiAwIAAQQcQroCAgAAgASgCAA0CIAEgASkDCBCvgICAAAwBCyABQYCAwIAAQQgQroCAgAAgASgCAA0BIAEgASkDCBCvgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AEKSAgIAAEIKAgIAAGgtHAgF/AX4jgICAgABBEGsiACSAgICAABCdgICAACAAEKaAgIAAIAApAwghASAAKQMAQYsIEKeAgIAAIABBEGokgICAgAAgAQtsAgF/AX4jgICAgABBEGsiACSAgICAACAAEKaAgIAAIAApAwghASAAKQMAQYsIEKeAgIAAAkAgARCkgICAABCogICAAA0AQoOAgIDggAEQqYCAgAAACyABEIKAgIAAGiAAQRBqJICAgIAAIAELEAAQnYCAgAAgABCtgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EKmAgIAAAAsNACAAIAEQlYCAgABQCwsAIAAQmoCAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAEKuAgIAAAkAgACkDAFANAEKDgICAwIEBEKmAgIAAAAsgAEEQaiSAgICAAAtTAQJ+EJ2AgIAAQgAhAQJAAkBBARCsgICAACICQgAQn4CAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFB/YHAgABBDBCugICAACABKAIADQIgASABKQMIEK+AgIAADAELIAFB+IHAgABBBRCugICAACABKAIADQEgASABKQMIEK+AgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQrICAgAAiAkICEJ+AgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ4oCAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBELWAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC54CAwF/AX4BfyOAgICAAEEwayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAyABELGAgIAAIAMoAgBBAUYNACACQv8Bg0LNAFINACADKQMYIQEgAykDECEEEJ2AgIAAAkAQsoCAgAAgAhCDgICAAEICUQ0AIAIQgoCAgAAaELOAgIAAIQIgAyAEIAEQtICAgAA3AyggAyAANwMgQQAhBQNAAkAgBUEQRw0AQQAhBQJAA0AgBUEQRg0BIAMgBWogA0EgaiAFaikDADcDACAFQQhqIQUMAAsLIAJCjvKz1wwgA0ECELWAgIAAELaAgIAAIANBMGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLQoOAgIAwEKmAgIAAAAsAC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQj4CAgAAhAyABEJCAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMACw4AEJ2AgIAAEMCAgIAAC0UBAX4QnYCAgAACQAJAQQAQooCAgAAiAEICEJ+AgIAARQ0AIABCAhCAgICAACIAQv8Bg0LNAFENAQALEMSAgIAAAAsgAAtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQkoCAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQjoCAgAALIQACQCAAIAEgAhCTgICAAEL/AYNCAlENABDBgICAAAALC3wAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEGAyx5BgNIfELiAgIAAQYDLHkGA0h8QuYCAgABBABCsgICAAEICEJ+AgIAADQEgARC6gICAAEEAEKKAgIAAIABCAhCEgICAABpCAg8LAAtCg4CAgKCBARCpgICAAAALDgBBASAAIAEQ5oCAgAALDgBBAiAAIAEQ5oCAgAALDgBBACAAQgIQ1ICAgAAL8AEDAX8CfgF/I4CAgIAAQTBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQsYCAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMQo4CAgAAQnYCAgAAQs4CAgAAhBCACIAMgARC0gICAADcDKCACIAA3AyBBACEFA0ACQCAFQRBHDQBBACEFAkADQCAFQRBGDQEgAiAFaiACQSBqIAVqKQMANwMAIAVBCGohBQwACwsgBEKO4KjzybfG0QAgAkECELWAgIAAELaAgIAAIAJBMGokgICAgABCAg8LIAIgBWpCAjcDACAFQQhqIQUMAAsLAAtuAgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUQ0AAAsQo4CAgAAQnYCAgAAQs4CAgAAhAiABIAA3AwggAkKO5q656ozk1TggAUEIakEBELWAgIAAELaAgIAAIAFBEGokgICAgABCAgvxAQIDfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEAIQNBASABp0H/AXEiBEEAR0EBdCAEQQFGGyIEQQJGDQAQo4CAgAAQnYCAgAAQs4CAgAAhAUGPgMCAAEEOEL6AgIAAIQUgAiAErTcDCCACIAA3AwADQAJAIANBEEcNAEEAIQMCQANAIANBEEYNASACQRBqIANqIAIgA2opAwA3AwAgA0EIaiEDDAALCyABIAUgAkEQakECELWAgIAAELaAgIAAIAJBIGokgICAgABCAg8LIAJBEGogA2pCAjcDACADQQhqIQMMAAsLAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDigICAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAML9AECAX8BfgJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgJBAEdBAXQgAkEBRhsiAkECRg0AEKOAgIAAEJ2AgIAAAkACQAJAAkAQwICAgAAiASAAEIOAgIAAIgNCAlENACADQv8Bg0IEUQ0BEMGAgIAAAAsgAkEBcQ0BQoOAgIAgEKmAgIAAAAsCQCACQQFxDQAgA0IgiKciAiABEIWAgIAAQiCIp08NAiABIAKtQiCGQgSEEIaAgIAAIQEMAgtCg4CAgBAQqYCAgAAACyABIAAQh4CAgAAhAQtBARCigICAACABQgEQhICAgAAaEKCAgIAAQgIPCwALRgEBfgJAAkBBARCigICAACIAQgEQn4CAgABFDQAgAEIBEICAgIAAIgBC/wGDQssAUg0BEKCAgIAAIAAPCxCNgICAAA8LAAsJABDhgICAAAALCAAQs4CAgAALCAAQsoCAgAALCQAQwYCAgAAAC00AAkACQCAAQv8Bg0LIAFINACAAEIiAgIAAQoCAgIBwg0KAgICAgARRDQELAAsQo4CAgAAQnYCAgABBARDGgICAACAAEImAgIAAGkICCxgAEMiAgIAAIACtQv8Bg0ICEISAgIAAGguKAQEBfgJAAkAgAEL/AYNCyABSDQAQo4CAgAAQnYCAgAACQAJAEMiAgIAAIgFCAhCfgICAAEUNACABQgIQgICAgACnQf8BcQ4CAAECC0KDgICAsIMBEKmAgIAAAAsgABCKgICAAEL/AYNCAlINAUEAEMaAgIAAQgIPCwALQoOAgICggwEQqYCAgAAAC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABBgoPAgABBCRCugICAAAJAAkAgACgCAA0AIAAgACkDCBCvgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQsIABCkgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKaAgIAAIAApAwAgACkDCBDLgICAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQq4CAgAAgACkDACAAKQMIEMuAgIAAIQEgAEEQaiSAgICAACABCzwBAX4CQCAAQv8Bg0LNAFENAAALEJ2AgIAAEKWAgIAAIQEQqoCAgAAgABC6gICAACABIAAQzoCAgABCAgthAgF/AX4jgICAgABBEGsiAiSAgICAAEGmgMCAAEEVEL6AgIAAENGAgIAAIQMgAiAANwMIIAIgATcDACADQdCAwIAAQQIgAkECENKAgIAAEIuAgIAAGiACQRBqJICAgIAAC/wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AEJ2AgIAAEKWAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahCrgICAACACKQMQIQEgAikDCEGJCBCngICAACABIAAQqICAgABFDQMQ0ICAgABBlIHAgABBHBC+gICAABDRgICAACEAIAIgAzcDECACIAE3AwggAEHMgcCAAEECIAJBCGpBAhDSgICAABCLgICAABoMAQsQ04CAgAAgAUIgiKdJDQNBASAAQgAQ1ICAgABBARCsgICAAEIAIAFChICAgHCDIgEgARCBgICAABpB4IDAgABBFhC+gICAABDRgICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARB/IDAgABBAyACQQhqQQMQ0oCAgAAQi4CAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDwgAEQqYCAgAAAC0KDgICAgIEBEKmAgIAAAAsTAEEBEKyAgIAAQgAQjICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARC1gICAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJSAgIAACzMBAn4QloCAgAAhAAJAEJeAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEMGAgIAAAAsVACAAEKyAgIAAIAEgAhCEgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEJ2AgIAAIAAQq4CAgAAgACkDCCEBIAApAwBBiQgQp4CAgAAgARCCgICAABogABCtgICAAAJAIAAoAgANABDEgICAAAALIAApAwghAhDQgICAACABELqAgIAAIAIgARDOgICAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEJ2AgIAAEKWAgIAAIQEQqoCAgABBABCsgICAAEICEIyAgIAAGkHcgcCAAEETEL6AgIAAENGAgIAAIQIgACABNwMIIAJB8IHAgABBASAAQQhqQQEQ0oCAgAAQi4CAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDYgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJmAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ2oCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDagICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBCjgICAABCdgICAAAJAAkACQBCcgICAAA0AENOAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEKmAgIAAAAtCg4CAgMD/ABCpgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQELiAgIAADAELQQEQnoCAgABCAhCMgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgELmAgIAADAELQQIQnoCAgABCAhCMgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEGkgsCAAEEPEL6AgIAAENGAgIAAIQAgAkEoahDbgICAACEBIAIgAkE0ahDbgICAADcDSCACIAE3A0AgAEHIgsCAAEECIAJBwABqQQIQ0oCAgAAQi4CAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJR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aW50ZXIgYWRkcmVzcyBub3QgaW4gdGhlIG1pbnRlcnMgbGlzdCAoZS5nLiB3aGVuIGRlYWN0aXZhdGluZykAAAAADk1pbnRlck5vdEZvdW5kAAAAAAACAAAAK0NhbGxlciBpcyBub3QgYXV0aG9yaXplZCBmb3IgdGhpcyBvcGVyYXRpb24AAAAADFVuYXV0aG9yaXplZAAAAAMAAAAAAAAAAAAAAARtaW50AAAAAwAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAJb3BlcmF0aW9uAAAAAAAAEwAAAAAAAAAAAAAA80NvbnN0cnVjdHMgdGhlIFNBQyBtYW5hZ2VyIGNvbnRyYWN0LgoKIyBBcmd1bWVudHMKKiBgc2FjX3Rva2VuYCAtIFRoZSB1bmRlcmx5aW5nIFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBUaGUgaW5pdGlhbCBvd25lciBhZGRyZXNzIChmb3IgdXBncmFkZXMsIG93bmVyIG9wcykKCk1pbnRlcnMgY2FuIGJlIHNldCBzZXBhcmF0ZWx5IHZpYSBgc2V0X21pbnRlcmAgYWZ0ZXIgY29uc3RydWN0aW9uLgAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAACXNhY190b2tlbgAAAAAAABMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAASURlbGVnYXRlcyB0byB0aGUgdW5kZXJseWluZyBTQUMgdG8gY2xhd2JhY2sgYGFtb3VudGAgZnJvbSBgZnJvbWAgYWNjb3VudC4AAAAAAAAIY2xhd2JhY2sAAAACAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAAAAABoRGVsZWdhdGVzIHRvIHRoZSB1bmRlcmx5aW5nIFNBQyBgc2V0X2FkbWluYCB0byByZWxlYXNlIHRoZSBhZG1pbiByb2xlIGZyb20gdGhlIGN1cnJlbnQgY29udHJhY3QgdG8gYHRvYC4AAAARcmVsZWFzZV9zYWNfYWRtaW4AAAAAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAAAAAAZkRlbGVnYXRlcyB0byB0aGUgdW5kZXJseWluZyBTQUMgYHNldF9hdXRob3JpemVkYCB0byBzZXQgd2hldGhlciBgaWRgIGlzIGF1dGhvcml6ZWQgdG8gdXNlIGl0cyBiYWxhbmNlLgAAAAAADnNldF9hdXRob3JpemVkAAAAAAACAAAAAAAAAAJpZAAAAAAAEwAAAAAAAAAJYXV0aG9yaXplAAAAAAAAAQAAAAAAAAAAAAAAPkFkZHMgKGBhY3RpdmUgPSB0cnVlYCkgb3IgcmVtb3ZlcyAoYGFjdGl2ZSA9IGZhbHNlYCkgYSBtaW50ZXIuAAAAAAAKc2V0X21pbnRlcgAAAAAAAgAAAAAAAAAGbWludGVyAAAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAADxSZXR1cm5zIHRoZSB1bmRlcmx5aW5nIFNBQyAoU3RlbGxhciBBc3NldCBDb250cmFjdCkgYWRkcmVzcy4AAAAOdW5kZXJseWluZ19zYWMAAAAAAAAAAAABAAAAEwAAAAAAAAA2UmV0dXJucyB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgYXV0aG9yaXplZCB0byBjYWxsIG1pbnQuAAAAAAAHbWludGVycwAAAAAAAAAAAQAAA+oAAAATAAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMu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b21wb3NlIG1lc3NhZ2Ugbm90IGZvdW5kIGZvciB0aGUgZ2l2ZW4gR1VJRCBhbmQgaW5kZXgAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAADpEZWZhdWx0IHJlY2VpdmUgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgc291cmNlIGVuZHBvaW50AAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAA8RGVmYXVsdCBzZW5kIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50AAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAL1N1cHBsaWVkIG5hdGl2ZSB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAALFN1cHBsaWVkIFpSTyB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAIAAAAAAAAAAAAAAA9PQXBwQ29yZVN0b3JhZ2UAAAAAAgAAAAAAAAAAAAAACEVuZHBvaW50AAAAAQAAAAAAAAAEUGVlcgAAAAEAAAAEAAAABQAAAAAAAAAAAAAAB1BlZXJTZXQAAAAAAQAAAAhwZWVyX3NldAAAAAIAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAAAAAAEcGVlcgAAA+gAAAPuAAAAIAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAE0VuZm9yY2VkT3B0aW9uUGFyYW0AAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAACG1zZ190eXBlAAAABAAAAAAAAAAHb3B0aW9ucwAAAAPoAAAADgAAAAIAAAAAAAAAAAAAABdPQXBwT3B0aW9uc1R5cGUzU3RvcmFnZQAAAAABAAAAAQAAAAAAAAAPRW5mb3JjZWRPcHRpb25zAAAAAAIAAAAEAAAABAAAAAUAAAAAAAAAAAAAABFFbmZvcmNlZE9wdGlvblNldAAAAAAAAAEAAAATZW5mb3JjZWRfb3B0aW9uX3NldAAAAAABAAAAAAAAABBlbmZvcmNlZF9vcHRpb25zAAAD6gAAB9AAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAAAAAAAAgAAAAIAAAKqUmVwcmVzZW50cyBhIGZlZSBwYXllciBhZGRyZXNzIHdpdGggZXhwbGljaXQgYXV0aG9yaXphdGlvbiBzdGF0ZS4KClRoaXMgZW51bSBmb3JjZXMgY2FsbGVycyBvZiBgX19sel9zZW5kYCB0byBleHBsaWNpdGx5IGRlY2xhcmUgd2hldGhlcgpgcmVxdWlyZV9hdXRoKClgIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkIGZvciB0aGUgZmVlIHBheWVyIGFkZHJlc3MuClRoaXMgcHJldmVudHMgdGhlIGNvbW1vbiBtaXN0YWtlIG9mIGZvcmdldHRpbmcgdG8gYXV0aG9yaXplIHRoZSBmZWUgcGF5ZXIuCgojIFZhcmlhbnRzCi0gYFVudmVyaWZpZWRgIOKAlCBTYWZlIGRlZmF1bHQuIGBfX2x6X3NlbmRgIHdpbGwgY2FsbCBgcmVxdWlyZV9hdXRoKClgIG9uIHRoZSBhZGRyZXNzLgpVc2UgdGhpcyB3aGVuIHRoZSBjYWxsZXIgaGFzICoqbm90KiogYWxyZWFkeSBhdXRob3JpemVkIHRoZSBmZWUgcGF5ZXIuCi0gYFZlcmlmaWVkYCDigJQgQ2FsbGVyIGFzc2VydHMgdGhhdCBgcmVxdWlyZV9hdXRoKClgIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkLgpVc2UgdGhpcyB0byBhdm9pZCBhIGR1cGxpY2F0ZSBgcmVxdWlyZV9hdXRoKClgIG5vZGUgaW4gdGhlIFNvcm9iYW4gYXV0aCB0cmVlCihlLmcuLCB3aGVuIHRoZSBzYW1lIGFkZHJlc3Mgd2FzIGFscmVhZHkgYXV0aG9yaXplZCBhcyB0aGUgbWVzc2FnZSBzZW5kZXIpLgAAAAAAAAAAAAhGZWVQYXllcgAAAAIAAAABAAAAqlRoZSBmZWUgcGF5ZXIgaGFzICoqbm90KiogYmVlbiBhdXRob3JpemVkIHlldC4KYF9fbHpfc2VuZGAgd2lsbCBjYWxsIGBmZWVfcGF5ZXIucmVxdWlyZV9hdXRoKClgIGJlZm9yZSB0cmFuc2ZlcnJpbmcgZmVlcy4KVGhpcyBpcyB0aGUgc2FmZSBkZWZhdWx0IOKAlCB1c2UgdGhpcyBpZiB1bnN1cmUuAAAAAAAKVW52ZXJpZmllZAAAAAAAAQAAABMAAAABAAABb1RoZSBmZWUgcGF5ZXIgaGFzICoqYWxyZWFkeSoqIGJlZW4gYXV0aG9yaXplZCBieSB0aGUgY2FsbGVyIHZpYSBgcmVxdWlyZV9hdXRoKClgLgpgX19sel9zZW5kYCB3aWxsIHNraXAgdGhlIGF1dGggY2hlY2sgdG8gYXZvaWQgY3JlYXRpbmcgYSBkdXBsaWNhdGUgYXV0aCBub2RlCmluIHRoZSBTb3JvYmFuIGF1dGhvcml6YXRpb24gdHJlZS4KCiMgU2FmZXR5Ck9ubHkgdXNlIHRoaXMgdmFyaWFudCBpZiB5b3UgaGF2ZSBhbHJlYWR5IGNhbGxlZCBgcmVxdWlyZV9hdXRoKClgIG9uIHRoaXMgYWRkcmVzcwppbiB0aGUgY3VycmVudCBjb250cmFjdCBpbnZvY2F0aW9uLiBNaXN1c2UgbWF5IGFsbG93IHVuYXV0aG9yaXplZCBm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AAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKT0ZUU3RvcmFnZQAAAAAAAwAAAAAAAAAAAAAADERlY2ltYWxzRGlmZgAAAAAAAAAAAAAABVRva2VuAAAAAAAAAAAAAAAAAAAMTXNnSW5zcGVjdG9yAAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAGAAAAAAAAAA5JbnZhbGlkQWRkcmVzcwAAAAALuAAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAAC7kAAAAAAAAAFEludmFsaWRMb2NhbERlY2ltYWxzAAALugAAAAAAAAAOTm90SW5pdGlhbGl6ZWQAAAAAC7sAAAAAAAAACE92ZXJmbG93AAALvAAAAAAAAAAQU2xpcHBhZ2VFeGNlZWRlZAAAC70AAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgT0ZUIHRva2VucyBjcm9zcy1jaGFpbgAAAAAAAAAAAAAJU2VuZFBhcmFtAAAAAAAABwAAACRUaGUgYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAAJYW1vdW50X2xkAAAAAAAACwAAADhDb21wb3NlIG1lc3NhZ2UgdG8gZXhlY3V0ZSBvbiB0aGUgZGVzdGluYXRpb24gKE9wdGlvbmFsKQAAAAtjb21wb3NlX21zZwAAAAAOAAAAG1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAAHZHN0X2VpZAAAAAAEAAAAN0FkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIExheWVyWmVybyBtZXNzYWdlIChPcHRpb25hbCkAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAARVRoZSBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlIGluIGxvY2FsIGRlY2ltYWxzIChzbGlwcGFnZSBwcm90ZWN0aW9uKQAAAAAAAA1taW5fYW1vdW50X2xkAAAAAAAACwAAACpPRlQgY29tbWFuZCBmb3IgY3VzdG9tIGJlaGF2aW9yIChPcHRpb25hbCkAAAAAAAdvZnRfY21kAAAAAA4AAAA5VGhlIHJlY2lwaWVudCBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpAAAAAAAAAnRvAAAAAAPuAAAAIAAAAAEAAAAiVHJhbnNmZXIgbGltaXRzIGZvciBPRlQgb3BlcmF0aW9ucwAAAAAAAAAAAAhPRlRMaW1pdAAAAAIAAAAsVGhlIG1heGltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWF4X2Ftb3VudF9sZAAAAAAAAAsAAAAsVGhlIG1pbmltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAABAAAAP1JlY2VpcHQgY29udGFpbmluZyBhbW91bnRzIHNlbnQgYW5kIHJlY2VpdmVkIGluIGFuIE9GVCB0cmFuc2ZlcgAAAAAAAAAACk9GVFJlY2VpcHQAAAAAAAIAAAAzVGhlIGFtb3VudCByZWNlaXZlZCBpbiBsb2NhbCBkZWNpbWFscyBvbiB0aGUgcmVtb3RlAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAhVGhlIGFtb3VudCBzZW50IGluIGxvY2FsIGRlY2ltYWxzAAAAAAAADmFtb3VudF9zZW50X2xkAAAAAAALAAAAAQAAAC5EZXRhaWxzIGFib3V0IGZlZXMgY2hhcmdlZCBpbiBhbiBPRlQgb3BlcmF0aW9uAAAAAAAAAAAADE9GVEZlZURldGFpbAAAAAIAAAAaVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBmZWUAAAAAAAtkZXNjcmlwdGlvbgAAAAAOAAAAf1RoZSBhbW91bnQgb2YgdGhlIGZlZSBpbiBsb2NhbCBkZWNpbWFscy4gUG9zaXRpdmUgdmFsdWVzIHJlcHJlc2VudCBmZWVzIGNoYXJnZWQsCndoaWxlIG5lZ2F0aXZlIHZhbHVlcyByZXByZXNlbnQgcmV3YXJkcyBnaXZlbi4AAAAADWZlZV9hbW91bnRfbGQAAAAAAAALAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAIAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4xIzk0YzJhM2IzYTVkZWQ2YjljZjljZWYwYzIwN2JmODgwNGYzZWIyOTQAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
12
12
  /**
13
13
  * Pre-computed WASM hash (SHA-256)
14
14
  * Use this when the WASM is already uploaded on-chain
15
15
  */
16
- export declare const WASM_HASH = "ce6445fdd02b7265220c941427d212a57b696bd4c044f5ec41463ec1f1f2fea6";
16
+ export declare const WASM_HASH = "58e728063a91a34a0a9ec7ef6acb934f01b87c349e4e481a05d9cc710a07a75f";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
20
20
  */
21
21
  export declare function getWasmBuffer(): Buffer;
22
- export declare const RedistributionError: {
23
- /**
24
- * Account is not blacklisted (required for redistribution)
25
- */
26
- 100: {
27
- message: string;
28
- };
29
- /**
30
- * Redistribution is not enabled
31
- */
32
- 101: {
33
- message: string;
34
- };
35
- };
36
- export type RedistributionStorage = {
37
- tag: "RedistributionEnabled";
38
- values: void;
39
- };
40
- /**
41
- * Limit configuration for rate limiting.
42
- */
43
- export interface LimitConfig {
44
- /**
45
- * Max amount for the rate limit
46
- */
47
- limit_capacity: i128;
48
- /**
49
- * Amount to add to limit each second up to the limitCapacity.
50
- * A value of 0 means rate limiting is disabled (unlimited minting allowed).
51
- */
52
- refill_per_second: i128;
53
- }
54
- /**
55
- * Rate limit state (the runtime state that persists across config updates).
56
- */
57
- export interface RateLimitState {
58
- /**
59
- * Timestamp of last refill
60
- */
61
- last_refill_time: u64;
62
- /**
63
- * Remaining amount for the time period
64
- */
65
- remaining_amount: i128;
66
- }
67
- /**
68
- * Supply control errors: 3250-3299
69
- */
70
- export declare const SupplyControlError: {
71
- /**
72
- * Entry already exists (supply controller, manager, or whitelist address)
73
- */
74
- 200: {
75
- message: string;
76
- };
77
- /**
78
- * Cannot burn from this address
79
- */
80
- 201: {
81
- message: string;
82
- };
83
- /**
84
- * Cannot mint to this address (not in whitelist)
85
- */
86
- 202: {
87
- message: string;
88
- };
89
- /**
90
- * Invalid amount
91
- */
92
- 203: {
93
- message: string;
94
- };
95
- /**
96
- * Invalid configuration
97
- */
98
- 204: {
99
- message: string;
100
- };
101
- /**
102
- * Entry not found (supply controller, manager, or whitelist address)
103
- */
104
- 205: {
105
- message: string;
106
- };
107
- /**
108
- * Timestamp is older than the last refill time
109
- */
110
- 206: {
111
- message: string;
112
- };
113
- /**
114
- * Rate limit exceeded
115
- */
116
- 207: {
117
- message: string;
118
- };
119
- /**
120
- * Value is already set to the same state
121
- */
122
- 208: {
123
- message: string;
124
- };
125
- /**
126
- * Caller is not authorized (not a supply controller or manager)
127
- */
128
- 209: {
129
- message: string;
130
- };
131
- };
132
- /**
133
- * Supply controller configuration (the configurable parameters).
134
- */
135
- export interface SupplyControllerConfig {
136
- /**
137
- * If true, allows the supply controller to mint to and burn from any address.
138
- * When false, the controller can only mint to addresses in its whitelist.
139
- */
140
- allow_any_mint_burn: boolean;
141
- /**
142
- * Limit configuration
143
- */
144
- limit_config: LimitConfig;
145
- /**
146
- * Addresses that this supply controller is allowed to mint to (when `allow_any_mint_burn` is false).
147
- */
148
- whitelist_addresses: Array<string>;
149
- }
150
- /**
151
- * Supply controller with both config and state nested together.
152
- * Stored per-controller for O(1) access on every mint/burn.
153
- */
154
- export interface SupplyControllerEntry {
155
- /**
156
- * Configuration (can be updated independently)
157
- */
158
- config: SupplyControllerConfig;
159
- /**
160
- * Rate limit state (preserved across config updates)
161
- */
162
- state: RateLimitState;
163
- }
164
- export type SupplyControlStorage = {
165
- tag: "SupplyControlEnabled";
166
- values: void;
167
- } | {
168
- tag: "SupplyControllerEntry";
169
- values: readonly [string];
170
- } | {
171
- tag: "SupplyControllers";
172
- values: void;
173
- } | {
174
- tag: "SupplyControllerManagers";
175
- values: void;
176
- };
177
22
  /**
178
23
  * General SacManagerError: 3220-3249
179
24
  */
180
25
  export declare const SacManagerError: {
181
26
  /**
182
- * OFT address has not been set yet
27
+ * The address is already a minter
183
28
  */
184
29
  1: {
185
30
  message: string;
186
31
  };
187
32
  /**
188
- * The values are the same
33
+ * Minter address not in the minters list (e.g. when deactivating)
189
34
  */
190
35
  2: {
191
36
  message: string;
@@ -201,7 +46,7 @@ export type SacManagerStorage = {
201
46
  tag: "SacToken";
202
47
  values: void;
203
48
  } | {
204
- tag: "OftAddress";
49
+ tag: "Minters";
205
50
  values: void;
206
51
  };
207
52
  export declare const EndpointError: {
@@ -583,6 +428,27 @@ export type OAppOptionsType3Storage = {
583
428
  tag: "EnforcedOptions";
584
429
  values: readonly [u32, u32];
585
430
  };
431
+ /**
432
+ * Represents a fee payer address with explicit authorization state.
433
+ *
434
+ * This enum forces callers of `__lz_send` to explicitly declare whether
435
+ * `require_auth()` has already been called for the fee payer address.
436
+ * This prevents the common mistake of forgetting to authorize the fee payer.
437
+ *
438
+ * # Variants
439
+ * - `Unverified` — Safe default. `__lz_send` will call `require_auth()` on the address.
440
+ * Use this when the caller has **not** already authorized the fee payer.
441
+ * - `Verified` — Caller asserts that `require_auth()` has already been called.
442
+ * Use this to avoid a duplicate `require_auth()` node in the Soroban auth tree
443
+ * (e.g., when the same address was already authorized as the message sender).
444
+ */
445
+ export type FeePayer = {
446
+ tag: "Unverified";
447
+ values: readonly [string];
448
+ } | {
449
+ tag: "Verified";
450
+ values: readonly [string];
451
+ };
586
452
  /**
587
453
  * OAppError: 2000-2099
588
454
  */
@@ -941,172 +807,54 @@ export type UpgradeableStorage = {
941
807
  };
942
808
  export interface Client {
943
809
  /**
944
- * Construct and simulate a redistribute_blacklisted_funds transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
945
- * Redistributes funds from a blacklisted account to the owner.
946
- */
947
- redistribute_blacklisted_funds: ({ from, amount }: {
948
- from: string;
949
- amount: i128;
950
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
951
- /**
952
- * Construct and simulate a redistribution_enabled transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
953
- */
954
- redistribution_enabled: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
955
- /**
956
- * Construct and simulate a set_supply_controller_manager transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
957
- * Sets whether an address is a supply controller manager. Owner-only.
958
- */
959
- set_supply_controller_manager: ({ manager, active }: {
960
- manager: string;
961
- active: boolean;
962
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
963
- /**
964
- * Construct and simulate a set_supply_controller transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
965
- * Sets or removes a supply controller. Manager-only.
966
- *
967
- * - `Some(config)`: Adds a new supply controller with the given configuration.
968
- * - `None`: Removes the supply controller.
969
- */
970
- set_supply_controller: ({ sender, supply_controller, config }: {
971
- sender: string;
972
- supply_controller: string;
973
- config: Option<SupplyControllerConfig>;
974
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
975
- /**
976
- * Construct and simulate a update_limit_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
977
- * Updates the rate limit configuration for a supply controller. Manager-only.
978
- * Note: This does NOT reset the rate limit state (remaining_amount, last_refill_time).
979
- */
980
- update_limit_config: ({ sender, supply_controller, limit_config }: {
981
- sender: string;
982
- supply_controller: string;
983
- limit_config: LimitConfig;
984
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
985
- /**
986
- * Construct and simulate a update_allow_any_mint_burn transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
987
- * Updates whether the supply controller can mint to and burn from any address. Manager-only.
988
- */
989
- update_allow_any_mint_burn: ({ sender, supply_controller, allow_any_mint_burn }: {
990
- sender: string;
991
- supply_controller: string;
992
- allow_any_mint_burn: boolean;
993
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
994
- /**
995
- * Construct and simulate a set_mint_whitelist transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
996
- * Sets whether an address is in the mint whitelist of a supply controller. Manager-only.
997
- */
998
- set_mint_whitelist: ({ sender, supply_controller, mint_address, active }: {
999
- sender: string;
1000
- supply_controller: string;
1001
- mint_address: string;
1002
- active: boolean;
1003
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1004
- /**
1005
- * Construct and simulate a is_supply_controller_manager transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1006
- * Returns whether the given address is a supply controller manager.
1007
- */
1008
- is_supply_controller_manager: ({ address }: {
1009
- address: string;
1010
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1011
- /**
1012
- * Construct and simulate a get_supply_controller_managers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1013
- * Gets all supply controller manager addresses.
1014
- */
1015
- get_supply_controller_managers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
1016
- /**
1017
- * Construct and simulate a get_supply_controller_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1018
- * Gets supply controller configuration.
1019
- */
1020
- get_supply_controller_config: ({ supply_controller }: {
1021
- supply_controller: string;
1022
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<SupplyControllerConfig>>>;
1023
- /**
1024
- * Construct and simulate a allow_any_mint_burn transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1025
- */
1026
- allow_any_mint_burn: ({ supply_controller }: {
1027
- supply_controller: string;
1028
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1029
- /**
1030
- * Construct and simulate a get_supply_controllers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1031
- * Gets all active supply controller addresses.
1032
- */
1033
- get_supply_controllers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
1034
- /**
1035
- * Construct and simulate a is_address_whitelisted transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1036
- * Returns whether the given address is in the whitelist of a supply controller.
1037
- */
1038
- is_address_whitelisted: ({ supply_controller, mint_address }: {
1039
- supply_controller: string;
1040
- mint_address: string;
1041
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1042
- /**
1043
- * Construct and simulate a get_remaining_mint_amount transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1044
- * Gets remaining amount which can be minted at current timestamp.
1045
- */
1046
- get_remaining_mint_amount: ({ supply_controller }: {
1047
- supply_controller: string;
1048
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<i128>>;
1049
- /**
1050
- * Construct and simulate a supply_control_enabled transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1051
- */
1052
- supply_control_enabled: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1053
- /**
1054
- * Construct and simulate a authorized_mint transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
810
+ * Construct and simulate a mint transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1055
811
  */
1056
- authorized_mint: ({ sender, to, amount }: {
1057
- sender: string;
812
+ mint: ({ to, amount, operation }: {
1058
813
  to: string;
1059
814
  amount: i128;
815
+ operation: string;
1060
816
  }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1061
817
  /**
1062
818
  * Construct and simulate a clawback transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
819
+ * Delegates to the underlying SAC to clawback `amount` from `from` account.
1063
820
  */
1064
- clawback: ({ sender, from, amount }: {
1065
- sender: string;
821
+ clawback: ({ from, amount }: {
1066
822
  from: string;
1067
823
  amount: i128;
1068
824
  }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1069
825
  /**
1070
826
  * Construct and simulate a release_sac_admin transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
827
+ * Delegates to the underlying SAC `set_admin` to release the admin role from the current contract to `to`.
1071
828
  */
1072
829
  release_sac_admin: ({ to }: {
1073
830
  to: string;
1074
831
  }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1075
832
  /**
1076
833
  * Construct and simulate a set_authorized transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
834
+ * Delegates to the underlying SAC `set_authorized` to set whether `id` is authorized to use its balance.
1077
835
  */
1078
836
  set_authorized: ({ id, authorize }: {
1079
837
  id: string;
1080
838
  authorize: boolean;
1081
839
  }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1082
840
  /**
1083
- * Construct and simulate a set_oft_address transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
841
+ * Construct and simulate a set_minter transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
842
+ * Adds (`active = true`) or removes (`active = false`) a minter.
1084
843
  */
1085
- set_oft_address: ({ new_oft }: {
1086
- new_oft: string;
844
+ set_minter: ({ minter, active }: {
845
+ minter: string;
846
+ active: boolean;
1087
847
  }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1088
848
  /**
1089
849
  * Construct and simulate a underlying_sac transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
850
+ * Returns the underlying SAC (Stellar Asset Contract) address.
1090
851
  */
1091
852
  underlying_sac: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1092
853
  /**
1093
- * Construct and simulate a oft_address transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
854
+ * Construct and simulate a minters transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
855
+ * Returns the list of addresses authorized to call mint.
1094
856
  */
1095
- oft_address: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1096
- /**
1097
- * Construct and simulate a mint transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1098
- */
1099
- mint: ({ to, amount }: {
1100
- to: string;
1101
- amount: i128;
1102
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1103
- /**
1104
- * Construct and simulate a burn transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1105
- */
1106
- burn: ({ from, amount }: {
1107
- from: string;
1108
- amount: i128;
1109
- }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
857
+ minters: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
1110
858
  /**
1111
859
  * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1112
860
  * Upgrades the contract to new WASM bytecode.
@@ -1250,11 +998,9 @@ export declare class Client extends ContractClient {
1250
998
  readonly options: ContractClientOptions;
1251
999
  static deploy<T = Client>(
1252
1000
  /** Constructor/Initialization Args for the contract's `__constructor` method */
1253
- { sac_token, owner, redistribution_enabled, supply_control_enabled }: {
1001
+ { sac_token, owner }: {
1254
1002
  sac_token: string;
1255
1003
  owner: string;
1256
- redistribution_enabled: boolean;
1257
- supply_control_enabled: boolean;
1258
1004
  },
1259
1005
  /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
1260
1006
  options: MethodOptions & Omit<ContractClientOptions, "contractId"> & {
@@ -1267,30 +1013,13 @@ export declare class Client extends ContractClient {
1267
1013
  }): Promise<AssembledTransaction<T>>;
1268
1014
  constructor(options: ContractClientOptions);
1269
1015
  readonly fromJSON: {
1270
- redistribute_blacklisted_funds: (json: string) => AssembledTransaction<null>;
1271
- redistribution_enabled: (json: string) => AssembledTransaction<boolean>;
1272
- set_supply_controller_manager: (json: string) => AssembledTransaction<null>;
1273
- set_supply_controller: (json: string) => AssembledTransaction<null>;
1274
- update_limit_config: (json: string) => AssembledTransaction<null>;
1275
- update_allow_any_mint_burn: (json: string) => AssembledTransaction<null>;
1276
- set_mint_whitelist: (json: string) => AssembledTransaction<null>;
1277
- is_supply_controller_manager: (json: string) => AssembledTransaction<boolean>;
1278
- get_supply_controller_managers: (json: string) => AssembledTransaction<string[]>;
1279
- get_supply_controller_config: (json: string) => AssembledTransaction<Option<SupplyControllerConfig>>;
1280
- allow_any_mint_burn: (json: string) => AssembledTransaction<boolean>;
1281
- get_supply_controllers: (json: string) => AssembledTransaction<string[]>;
1282
- is_address_whitelisted: (json: string) => AssembledTransaction<boolean>;
1283
- get_remaining_mint_amount: (json: string) => AssembledTransaction<bigint>;
1284
- supply_control_enabled: (json: string) => AssembledTransaction<boolean>;
1285
- authorized_mint: (json: string) => AssembledTransaction<null>;
1016
+ mint: (json: string) => AssembledTransaction<null>;
1286
1017
  clawback: (json: string) => AssembledTransaction<null>;
1287
1018
  release_sac_admin: (json: string) => AssembledTransaction<null>;
1288
1019
  set_authorized: (json: string) => AssembledTransaction<null>;
1289
- set_oft_address: (json: string) => AssembledTransaction<null>;
1020
+ set_minter: (json: string) => AssembledTransaction<null>;
1290
1021
  underlying_sac: (json: string) => AssembledTransaction<string>;
1291
- oft_address: (json: string) => AssembledTransaction<string>;
1292
- mint: (json: string) => AssembledTransaction<null>;
1293
- burn: (json: string) => AssembledTransaction<null>;
1022
+ minters: (json: string) => AssembledTransaction<string[]>;
1294
1023
  upgrade: (json: string) => AssembledTransaction<null>;
1295
1024
  migrate: (json: string) => AssembledTransaction<null>;
1296
1025
  authorizer: (json: string) => AssembledTransaction<string>;