@layerzerolabs/sac-manager-stellar-sdk 1.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ Copyright (c) 2026 - LayerZero Labs Ltd.
2
+
3
+ Permission is hereby granted, free of charge, to any
4
+ person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the
6
+ Software without restriction, including without
7
+ limitation the rights to use, copy, modify, merge,
8
+ publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software
10
+ is furnished to do so, subject to the following
11
+ conditions:
12
+ The above copyright notice and this permission notice
13
+ shall be included in all copies or substantial portions
14
+ of the Software.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
17
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
19
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
22
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
+ DEALINGS IN THE SOFTWARE.
package/bindings.toml ADDED
@@ -0,0 +1,6 @@
1
+ wasm_dir = "../../contracts/stellar/sac-manager/target/wasm32v1-none/release"
2
+ output_dir = "src/generated"
3
+
4
+ [[contracts]]
5
+ wasm_name = "sac_manager"
6
+ output_name = "sac_manager.ts"
@@ -0,0 +1,237 @@
1
+ import { Buffer } from 'buffer';
2
+ import { Client as Client$1, Spec } from '@stellar/stellar-sdk/contract';
3
+ import * as contract from '@stellar/stellar-sdk/contract';
4
+ export { contract };
5
+ export * from '@stellar/stellar-sdk';
6
+ import * as rpc from '@stellar/stellar-sdk/rpc';
7
+ export { rpc };
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ var WASM_BASE64 = "AGFzbQEAAAABjwEaYAJ+fgF+YAF+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAABf2AAAGABfwF+YAJ+fgF/YAF/AGABfgBgAn5/AGACf38BfmABfwF/YAN/fn4AYAJ/fwF/YAJ/fgBgA39/fwBgAX4Bf2ADfn9+AGADfn5/AGAEf39/fwF+YAN+fn4AYAN/fn8AYAJ/fwBgAn5+AAKXARkBbAExAAABYQEwAAEBeAEwAAABdgEzAAEBdgE2AAABeAExAAABbAFfAAIBbAEyAAABbAE3AAMBdgFnAAABaQE4AAEBaQE3AAEBYgFqAAABaQE2AAABZAFfAAIBbQE5AAIBeAEzAAQBeAE4AAQBbAEwAAABbAE4AAABeAE1AAEBbQFhAAMBdgFfAAQBdgFkAAABdgEyAAADamkFBgcIBgkKCwwNDg8QEA4LBAkLBgkHCQQREAgCCBIEChMUCwcVBgIWAAAHCQkBAAEAAQAXAAQABAwWAgIQAAIAGBgKBAYEBAQBGQAGAQUOBAQAGAAQBwQJCRgEBAYRDhARGBgYGBEHGAsFAwEAEQYhBH8BQYCAwAALfwBBzIDAAAt/AEHyhMAAC38AQYCFwAALB4QEIAZtZW1vcnkCAApncmFudF9yb2xlADQLcmV2b2tlX3JvbGUAPw1yZW5vdW5jZV9yb2xlAEEOc2V0X3JvbGVfYWRtaW4AQhFyZW1vdmVfcm9sZV9hZG1pbgBGCGhhc19yb2xlAEcOZ2V0X3JvbGVfYWRtaW4ASBVnZXRfcm9sZV9tZW1iZXJfY291bnQASg9nZXRfcm9sZV9tZW1iZXIASxJnZXRfZXhpc3Rpbmdfcm9sZXMATglzZXRfYWRtaW4ATw5zZXRfYXV0aG9yaXplZABTCGNsYXdiYWNrAFQEbWludABXDV9fY29uc3RydWN0b3IAWA51bmRlcmx5aW5nX3NhYwBcCmF1dGhvcml6ZXIAXgVvd25lcgBfDXBlbmRpbmdfb3duZXIAYBJ0cmFuc2Zlcl9vd25lcnNoaXAAYRhiZWdpbl9vd25lcnNoaXBfdHJhbnNmZXIAYxBhY2NlcHRfb3duZXJzaGlwAGgScmVub3VuY2Vfb3duZXJzaGlwAGkTZXh0ZW5kX2luc3RhbmNlX3R0bABqD3NldF90dGxfY29uZmlncwBsC3R0bF9jb25maWdzAG8SZnJlZXplX3R0bF9jb25maWdzAHMVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAHQBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoxXaU0CAX8BfhCagICAAEEAIQACQEEAEJuAgIAAIgFCAhCcgICAAEUNAEEBIQACQAJAIAFCAhCAgICAAKdB/wFxDgIBAgALAAtBACEACyAAC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEPCAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDrgICAAAsgAEEQaiSAgICAAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB2oTAgABBBhCxgICAACABKAIADQMgASABKQMIELKAgIAADAILIAFB4ITAgABBCBCxgICAACABKAIADQIgASABKQMIELKAgIAADAELIAFB6ITAgABBChCxgICAACABKAIADQEgASABKQMIELKAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJKAgIAAQgFRC00BAX8jgICAgABBEGsiACSAgICAACAAEJ6AgIAAAkAgACgCAA0AQoOAgIDghQEQn4CAgAAACyAAKQMIEIGAgIAAGiAAQRBqJICAgIAACxAAEJqAgIAAIAAQqoCAgAALCwAgABCUgICAABoLkAIDAX8BfgJ/I4CAgIAAQSBrIgIkgICAgABBgIDAgABBChChgICAACEDAkACQAJAAkACQCAAQv8Bg0IOUg0AIANC/wGDQg5RDQELIAAgAxCCgICAAFBFDQEMAgsgAiADQgiINwMIIAIgAEIIiDcDGAJAA0AgAkEYahCigICAACEEIAJBCGoQooCAgAAhBSAEQYCAxABGDQEgBCAFRg0ADAILCyAFQYCAxABGDQELIAIgASkDACAAEKOAgIAAIAIoAgANAUKDgICA4IcBEJ+AgIAAAAsgAkEIahCegICAACACQRBqQQAgAigCCBsgARCkgICAAA0AQoOAgIDghwEQn4CAgAAACyACQSBqJICAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEPaAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwuWAQIBfgJ/IAApAwAhAQNAAkAgAVBFDQBBgIDEAA8LAkACQCABQjCIp0E/cSICQQFHDQBB3wAhAgwBCwJAAkACQCACQX9qQQtPDQBBLiEDDAELAkAgAkF0akEaTw0AQTUhAwwBCyACQSVNDQFBOyEDCyACIANqIQIMAQsgACABQgaGIgE3AwAMAQsLIAAgAUIGhjcDACACC00BAn8jgICAgABBEGsiAySAgICAABCagICAACADQQhqIAIgARCngICAACADKAIMIQQgACADKAIINgIAIAAgBDYCBCADQRBqJICAgIAACy0BAX8gACABckUhAgJAIABFDQAgAUUNACAAKQMAIAEpAwAQs4CAgAAhAgsgAgsSABCagICAACAAIAEQpoCAgAALkgEBAn8jgICAgABBIGsiAiSAgICAACACQQQ2AgggAiABNwMQAkACQAJAIAJBCGoQw4CAgAAiAUIBEJyAgIAARQ0AIAFCARCAgICAACIBp0H/AXEiA0EORg0BIANBygBGDQEACyAAQgA3AwAMAQsgAEIBNwMAIAAgATcDCCACQQhqEMSAgIAACyACQSBqJICAgIAAC28BA38jgICAgABBIGsiAySAgICAACADIAI3AxggAyABNwMQIANBAjYCCCADIANBCGoQ+4CAgAAgAygCBCEEAkAgAygCACIFRQ0AIANBCGoQxICAgAALIAAgBDYCBCAAIAU2AgAgA0EgaiSAgICAAAuKAQEBfyOAgICAAEEgayICJICAgIAAIAJBEGogABClgICAAAJAAkAgAigCEEEBRw0AIAJBCGogASkDACACKQMYEKOAgIAAIAIoAggNAQsgAkEQahCegICAACABIAJBGGpBACACKAIQGxCkgICAAA0AQoOAgIDghwEQn4CAgAAACyACQSBqJICAgIAAC5IBAgF/AX4jgICAgABBIGsiACSAgICAACAAQRBqEKqAgIAAIAApAxghASAAKQMQQYsIEKuAgIAAIAAgATcDCCAAQRBqEJ6AgIAAAkAgAEEIaiAAQRhqQQAgACgCEBsQpICAgAANAEKDgICA4IABEJ+AgIAAAAsgARCBgICAABogACkDCCEBIABBIGokgICAgAAgAQsQABCagICAACAAEK+AgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQn4CAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEK2AgIAAAkAgACkDAFANAEKDgICAwIEBEJ+AgIAAAAsgAEEQaiSAgICAAAtTAQJ+EJqAgIAAQgAhAQJAAkBBARCugICAACICQgAQnICAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBuYLAgABBDBCxgICAACABKAIADQIgASABKQMIELKAgIAADAELIAFBtILAgABBBRCxgICAACABKAIADQEgASABKQMIELKAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQroCAgAAiAkICEJyAgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALYAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEHEgMCAAEEIELGAgIAAAkACQCAAKAIADQAgACAAKQMIELKAgIAAIAAoAgBBAUcNAQsACyAAKQMIIQEgAEEQaiSAgICAACABC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEPaAgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARDRgICAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAsNACAAIAEQgoCAgABQC/ACAgN/AX4jgICAgABBMGsiAySAgICAAAJAAkACQCAAQv8Bg0LNAFINAAJAIAGnQf8BcSIEQQ5GDQAgBEHKAEcNAQsgAkL/AYNCzQBSDQAgAyACNwMIEJqAgIAAIAIQgYCAgAAaIAEgA0EIahCogICAAAJAIAEgABC1gICAAA0AIAEQtoCAgAAiBCEFAkAgBA0AELeAgIAAIgYQg4CAgABCgICAgIAgWg0DIAYgARCEgICAABC4gICAAEEAIQULIAEgBSAAELmAgIAAIAEgACAEELqAgIAAIARBAWoiBEUNAyABIAQQu4CAgAAgA0HFgsCAAEEMEKGAgIAANwMoIAMgADcDICADIAE3AxAgAyADQShqNgIYIANBEGoQvICAgAAhASADIAI3AxAgAUHYgsCAAEEBIANBEGpBARC9gICAABCFgICAABoLIANBMGokgICAgABCAg8LAAtCg4CAgKCHARCfgICAAAALEL6AgIAAAAtdAQJ/I4CAgIAAQSBrIgIkgICAgAAgAiABNwMYIAIgADcDECACQQI2AggCQCACQQhqEMOAgIAAQgEQnICAgAAiA0UNACACQQhqEMSAgIAACyACQSBqJICAgIAAIAMLZAEDfyOAgICAAEEgayIBJICAgIAAIAFBAzYCCCABIAA3AxAgASABQQhqEPuAgIAAIAEoAgQhAgJAIAEoAgAiA0UNACABQQhqEMSAgIAACyABQSBqJICAgIAAIAJBACADQQFxGwt5AgF/AX4jgICAgABBIGsiACSAgICAACAAQQA2AggCQAJAAkAgAEEIahDDgICAACIBQgEQnICAgABFDQAgAUIBEICAgIAAIgFC/wGDQssAUg0CIABBCGoQxICAgAAMAQsQloCAgAAhAQsgAEEgaiSAgICAACABDwsAC0gBAX8jgICAgABBIGsiASSAgICAACABQQA2AgggAUEIahDDgICAACAAQgEQhoCAgAAaIAFBCGoQxICAgAAgAUEgaiSAgICAAAtWAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADcDECADQQE2AgggA0EIahDDgICAACACQgEQhoCAgAAaIANBCGoQxICAgAAgA0EgaiSAgICAAAtNAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNwMYIAMgADcDECADQQI2AgggA0EIaiACEPyAgIAAIANBCGoQxICAgAAgA0EgaiSAgICAAAtGAQF/I4CAgIAAQSBrIgIkgICAgAAgAkEDNgIIIAIgADcDECACQQhqIAEQ/ICAgAAgAkEIahDEgICAACACQSBqJICAgIAAC6kBAgF/AX4jgICAgABBMGsiASSAgICAACABIAApAxA3AxAgASAAKQMANwMIIAEgACgCCCkDADcDAEEAIQADfgJAIABBGEcNAEEAIQACQANAIABBGEYNASABQRhqIABqIAEgAGopAwA3AwAgAEEIaiEADAALCyABQRhqQQMQ0YCAgAAhAiABQTBqJICAgIAAIAIPCyABQRhqIABqQgI3AwAgAEEIaiEADAALCy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQj4CAgAALCQAQ9YCAgAAAC4cBAQJ/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINAAJAIAGnQf8BcSIEQQ5GDQAgBEHKAEcNAQsgAkL/AYNCzQBSDQAgAyACNwMIEJqAgIAAIAIQgYCAgAAaIAEgA0EIahCogICAACAAIAEgAhDAgICAACADQRBqJICAgIAAQgIPCwAL+wMCA38CfiOAgICAAEEwayIDJICAgIAAAkACQAJAAkAgASAAELWAgIAARQ0AIAEQtoCAgAAiBEUNASADQQhqIAEgABCngICAACADKAIMIQUgAygCCEG9CBCAgYCAACABIAUQgYGAgAAgAyAANwMgIAMgATcDGCADQQI2AhAgA0EQahDDgICAAEIBEIeAgIAAGiAFIARBf2oiBEcNAgwDC0KDgICA0IcBEJ+AgIAAAAtCg4CAgLCHARCfgICAAAALIANBEGogASAEEMyAgIAAIAMpAxAgAykDGBDNgICAACEGIAEgBBCBgYCAACABIAUgBhC5gICAACABIAYgBRC6gICAAAsgASAEELuAgIAAAkACQCAEDQACQAJAELeAgIAAIgYgARCXgICAACIHQgJSDQBBACEEDAELIAdC/wGDQgRSDQIgB0IgiKchBUEBIQQLIARBvAgQgIGAgAACQCAFIAYQg4CAgABCIIinTw0AIAYgBa1CIIZCBIQQmICAgAAhBgsgBhC4gICAAAsgA0HggsCAAEEMEKGAgIAANwMoIAMgADcDICADIAE3AxAgAyADQShqNgIYIANBEGoQvICAgAAhASADIAI3AxAgAUHYgsCAAEEBIANBEGpBARC9gICAABCFgICAABogA0EwaiSAgICAAA8LEL6AgIAAAAtLAQF/AkACQCAAp0H/AXEiAkEORg0AIAJBygBHDQELIAFC/wGDQs0AUg0AEJqAgIAAIAEQgYCAgAAaIAEgACABEMCAgIAAQgIPCwAL3wECAn8CfiOAgICAAEEwayICJICAgIAAAkACQCAAp0H/AXEiA0EORg0AIANBygBHDQELAkAgAadB/wFxIgNBDkYNACADQcoARw0BCxCdgICAABCagICAACACQQhqIAAQpoCAgAAgAikDCCEEIAIpAxAhBSACQQQ2AgggAiAANwMQIAJBCGoQw4CAgAAgAUIBEIaAgIAAGiACQQhqEMSAgIAAIAIgATcDICACQgE3AxggAiAFNwMQIAIgBDcDCCACIAA3AyggAkEIahDFgICAACACQTBqJICAgIAAQgIPCwALlwMCAX8CfiOAgICAAEEwayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4FAAECBAUACyABQQhqQbCDwIAAQQ0QsYCAgAAgASgCCA0HIAFBCGogASkDEBCygICAAAwFCyABQSBqQb2DwIAAQRIQsYCAgAAgASgCIA0GIAEgASkDKDcDCCABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBIGogAUEIahD6gICAAAwBCyABQSBqQc+DwIAAQRIQsYCAgAAgASgCIA0FIAEgASkDKDcDCCABIAApAxA3AxggASAAKQMINwMQIAFBIGogAUEIahD6gICAAAsgASkDKCECIAEpAyAhAwwDCyABQQhqQeGDwIAAQREQsYCAgAAgASgCCA0DIAFBCGogASkDECAAKQMIEPeAgIAADAELIAFBCGpB8oPAgABBCRCxgICAACABKAIIDQIgAUEIaiABKQMQIAApAwgQ94CAgAALIAEpAxAhAiABKQMIIQMLIANQDQELAAsgAUEwaiSAgICAACACC2kCAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQ8YCAgAACQCABKAIEQQFHDQAgATUCDCECIAE1AgghAyAAEMOAgIAAQgEgA0IghkIEhCACQiCGQgSEEIiAgIAAGgsgAUEQaiSAgICAAAv5AQMBfwJ+AX8jgICAgABBIGsiASSAgICAACAAKQMgIQJB7ILAgABBEhChgICAACEDIAEgAjcDCCABIAM3AwBBACEEA0ACQCAEQRBHDQBBACEEAkADQCAEQRBGDQEgAUEQaiAEaiABIARqKQMANwMAIARBCGohBAwACwsgAUEQakECENGAgIAAIQIgACkDECAAKQMYEMmAgIAAIQMgASAAKQMAIAApAwgQyYCAgAA3AxggASADNwMQIAJBoIPAgABBAiABQRBqQQIQvYCAgAAQhYCAgAAaIAFBIGokgICAgAAPCyABQRBqIARqQgI3AwAgBEEIaiEEDAALC8EBAQJ/I4CAgIAAQcAAayIBJICAgIAAAkACQAJAIACnQf8BcSICQQ5GDQAgAkHKAEcNAQsQnYCAgAAQmoCAgAAgAUEIaiAAEKaAgIAAIAEoAghFDQEgAUEENgIYIAEgADcDICABQRhqEMOAgIAAQgEQh4CAgAAaIAEgADcDOCABQgA3AyggASABKQMQNwMgIAFCATcDGCABQRhqEMWAgIAAIAFBwABqJICAgIAAQgIPCwALQoOAgICAhwEQn4CAgAAAC3cBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AAkAgAadB/wFxIgNBDkYNACADQcoARw0BCyACQQhqIAAgARCjgICAACACKAIIIQMgAjUCDCEAIAJBEGokgICAgAAgAEIghkIEhEICIANBAXEbDwsAC1gBAn8jgICAgABBEGsiASSAgICAAAJAIACnQf8BcSICQQ5GDQAgAkHKAEYNAAALIAEgABClgICAACABKQMAIAEpAwgQyYCAgAAhACABQRBqJICAgIAAIAALDQAgAUICIACnQQFxGwszAQF/AkAgAKdB/wFxIgFBDkYNACABQcoARg0AAAsQmoCAgAAgABC2gICAAK1CIIZCBIQLcwECfyOAgICAAEEQayICJICAgIAAAkACQCAAp0H/AXEiA0EORg0AIANBygBHDQELIAFC/wGDQgRSDQAQmoCAgAAgAiAAIAFCIIinEMyAgIAAIAIpAwAgAikDCBDNgICAACEAIAJBEGokgICAgAAgAA8LAAuPAQEBfyOAgICAAEEgayIDJICAgIAAIAMgAjYCDCADIAE3AxAgA0EBNgIIAkACQAJAIANBCGoQw4CAgAAiAUIBEJyAgIAARQ0AIAFCARCAgICAACIBQv8Bg0LNAFENAQALIABCADcDAAwBCyAAQgE3AwAgACABNwMIIANBCGoQxICAgAALIANBIGokgICAgAALIAACQCAAp0EBcUUNACABDwtCg4CAgJCHARCfgICAAAALDgAQmoCAgAAQt4CAgAALmQEBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAIgATcDAEGKgMCAAEESEKGAgIAAIAIQoICAgAAgARCBgICAABoQmoCAgAAQ0ICAgAAhASACIAA3AwggAUKO5q656ozk1TggAkEIakEBENGAgIAAENKAgIAAIAJBEGokgICAgABCAg8LAAtDAQF+EJqAgIAAAkACQBCwgICAACIAQgIQnICAgABFDQAgAEICEICAgIAAIgBC/wGDQs0AUQ0BAAsQ3YCAgAAACyAACxoAIACtQiCGQgSEIAGtQiCGQgSEEImAgIAACyEAAkAgACABIAIQjoCAgABC/wGDQgJRDQAQvoCAgAAACwuhAgECfyOAgICAAEEwayIDJICAgIAAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiBEEAR0EBdCAEQQFGGyIEQQJGDQAgAkL/AYNCzQBSDQAgAyACNwMIQZyAwIAAQRAQoYCAgAAgA0EIahCggICAACACEIGAgIAAGhCagICAABDQgICAACECQcyAwIAAQQ4QoYCAgAAhASADIAStNwMYIAMgADcDEEEAIQQDQAJAIARBEEcNAEEAIQQCQANAIARBEEYNASADQSBqIARqIANBEGogBGopAwA3AwAgBEEIaiEEDAALCyACIAEgA0EgakECENGAgIAAENKAgIAAIANBMGokgICAgABCAg8LIANBIGogBGpCAjcDACAEQQhqIQQMAAsLAAuhAgMBfwF+AX8jgICAgABBwABrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQ1YCAgAAgAygCAEEBRg0AIAJC/wGDQs0AUg0AIAMpAxghASADKQMQIQQgAyACNwMoQayAwIAAQQ0QoYCAgAAgA0EoahCggICAACACEIGAgIAAGhCagICAABDQgICAACECIAMgBCABENaAgIAANwM4IAMgADcDMEEAIQUDQAJAIAVBEEcNAEEAIQUCQANAIAVBEEYNASADIAVqIANBMGogBWopAwA3AwAgBUEIaiEFDAALCyACQo7gqPPJt8bRACADQQIQ0YCAgAAQ0oCAgAAgA0HAAGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLAAt9AgF/AX4CQAJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQIgACABQj+HNwMYIAAgAUIIhzcDEAwBCyABEIqAgIAAIQMgARCLgICAACEBIAAgAzcDGCAAIAE3AxALQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQjYCAgAALnQIDAX8BfgF/I4CAgIAAQcAAayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAyABENWAgIAAIAMoAgBBAUYNACACQv8Bg0LNAFINACADKQMYIQEgAykDECEEIAMgAjcDKEG5gMCAAEELEKGAgIAAIANBKGoQoICAgAAgAhCBgICAABoQmoCAgAAQ0ICAgAAhAiADIAQgARDWgICAADcDOCADIAA3AzBBACEFA0ACQCAFQRBHDQBBACEFAkADQCAFQRBGDQEgAyAFaiADQTBqIAVqKQMANwMAIAVBCGohBQwACwsgAkKO8rPXDCADQQIQ0YCAgAAQ0oCAgAAgA0HAAGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLAAt6AAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQBBgMseQYDSHxDZgICAAEGAyx5BgNIfENqAgIAAQQAQroCAgABCAhCcgICAAA0BIAEQ24CAgAAQsICAgAAgAEICEIaAgIAAGkICDwsAC0KDgICAoIEBEJ+AgIAAAAsOAEEBIAAgARD+gICAAAsOAEECIAAgARD+gICAAAsOAEEAIABCAhDngICAAAsIABDQgICAAAsJABC+gICAAAALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCegICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCqgICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCtgICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPAEBfgJAIABC/wGDQs0AUQ0AAAsQmoCAgAAQqYCAgAAhARCsgICAACAAENuAgIAAIAEgABDigICAAEICC2ECAX8BfiOAgICAAEEQayICJICAgIAAQeOAwIAAQRUQoYCAgAAQ5YCAgAAhAyACIAA3AwggAiABNwMAIANBjIHAgABBAiACQQIQvYCAgAAQhYCAgAAaIAJBEGokgICAgAAL/AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAQmoCAgAAQqYCAgAAhAwJAAkAgAUL/////D1YNACACQQhqEK2AgIAAIAIpAxAhASACKQMIQYkIEKuAgIAAIAEgABCzgICAAEUNAxDkgICAAEHQgcCAAEEcEKGAgIAAEOWAgIAAIQAgAiADNwMQIAIgATcDCCAAQYiCwIAAQQIgAkEIakECEL2AgIAAEIWAgIAAGgwBCxDmgICAACABQiCIp0kNA0EBIABCABDngICAAEEBEK6AgIAAQgAgAUKEgICAcIMiASABEIiAgIAAGkGcgcCAAEEWEKGAgIAAEOWAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEG4gcCAAEEDIAJBCGpBAxC9gICAABCFgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgPCAARCfgICAAAALQoOAgICAgQEQn4CAgAAACxMAQQEQroCAgABCABCHgICAABoLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBENGAgIAAIQAgAUEQaiSAgICAACAACzMBAn4QkICAgAAhAAJAEJGAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEL6AgIAAAAsVACAAEK6AgIAAIAEgAhCGgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEJqAgIAAIAAQrYCAgAAgACkDCCEBIAApAwBBiQgQq4CAgAAgARCBgICAABogABCvgICAAAJAIAAoAgANABDdgICAAAALIAApAwghAhDkgICAACABENuAgIAAIAIgARDigICAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEJqAgIAAEKmAgIAAIQEQrICAgABBABCugICAAEICEIeAgIAAGkGYgsCAAEETEKGAgIAAEOWAgIAAIQIgACABNwMIIAJBrILAgABBASAAQQhqQQEQvYCAgAAQhYCAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDrgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJOAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ7YCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDtgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBCdgICAABCagICAAAJAAkACQBCZgICAAA0AEOaAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEJ+AgIAAAAtCg4CAgMD/ABCfgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQENmAgIAADAELQQEQm4CAgABCAhCHgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgENqAgIAADAELQQIQm4CAgABCAhCHgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEGUhMCAAEEPEKGAgIAAEOWAgIAAIQAgAkEoahDugICAACEBIAIgAkE0ahDugICAADcDSCACIAE3A0AgAEG4hMCAAEECIAJBwABqQQIQvYCAgAAQhYCAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEPiAgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEPKAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgugAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEJqAgIAAIABBCGoQ8ICAgAAgAEEUaiIBEPGAgIAAIABBMGogAEEIahDygICAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQ8oCAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECENGAgIAAIQIgAEHAAGokgICAgAAgAgsMACAAQQEQ/YCAgAALDAAgAEECEP2AgIAACzAAAkAg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bnRSb2xlQWNjb3VudFRvSW5kZXhSb2xlQWNjb3VudHNDb3VudFJvbGVBZG1pbmV4dGVuZF90b/sBEAAJAAAAWgAQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAAjAhAACAAAACsCEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50AN9WDmNvbnRyYWN0c3BlY3YwAAAAAAAAAQxHcmFudHMgYSByb2xlIHRvIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byBncmFudCB0aGUgcm9sZSB0by4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBncmFudC4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgZ3JhbnRpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAACmdyYW50X3JvbGUAAAAAAAMAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAAAAABE1Jldm9rZXMgYSByb2xlIGZyb20gYW4gYWNjb3VudC4gQ2FsbGVyIG11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuCgojIEFyZ3VtZW50cwoqIGBhY2NvdW50YCAtIFRoZSBhY2NvdW50IHRvIHJldm9rZSB0aGUgcm9sZSBmcm9tLgoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJldm9rZS4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgcmV2b2tpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAAAAtyZXZva2Vfcm9sZQAAAAADAAAAAAAAAAdhY2NvdW50AAAAABMAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAAAAAO1BbGxvd3MgYW4gYWNjb3VudCB0byByZW5vdW5jZSBhIHJvbGUgYXNzaWduZWQgdG8gaXRzZWxmLgpVc2VycyBjYW4gb25seSByZW5vdW5jZSByb2xlcyBmb3IgdGhlaXIgb3duIGFjY291bnQuCgojIEFyZ3VtZW50cwoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJlbm91bmNlLgoqIGBjYWxsZXJgIC0gVGhlIGFjY291bnQgdGhhdCBpcyByZW5vdW5jaW5nIHRoZSByb2xlLiBNdXN0IGJlIHRoZSBhY2NvdW50IGl0c2VsZi4AAAAAAAANcmVub3VuY2Vfcm9sZQAAAAAAAAIAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAAAAAVdTZXRzIGBhZG1pbl9yb2xlYCBhcyB0aGUgYWRtaW4gcm9sZSBvZiBgcm9sZWAuIENhbGxlciBtdXN0IGJlIHRoZSBhdXRob3JpemVyLgoKIyBBcmd1bWVudHMKKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBzZXQgdGhlIGFkbWluIGZvci4KKiBgYWRtaW5fcm9sZWAgLSBUaGUgYWRtaW4gcm9sZSB0byBzZXQgZm9yIHRoZSByb2xlLgoKIyBOb3RlcwoKVGhlIGFkbWluIHJvbGUgY2FuIGJlIGFueSBgU3ltYm9sYCwgaW5jbHVkaW5nIG9uZSB3aXRoIG5vIG1lbWJlcnMuIElmIHRoZSBhZG1pbgpyb2xlIGhhcyBubyBtZW1iZXJzLCBvbmx5IHRoZSBhdXRob3JpemVyIGNhbiBncmFudC9yZXZva2UgdGhlIHJvbGUuAAAAAA5zZXRfcm9sZV9hZG1pbgAAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAACmFkbWluX3JvbGUAAAAAABEAAAAAAAAAAAAAANhSZW1vdmVzIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmllZCByb2xlLiBDYWxsZXIgbXVzdCBiZSB0aGUgYXV0aG9yaXplci4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gcmVtb3ZlIHRoZSBhZG1pbiBmb3IuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6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dG9rZW5gIC0gVGhlIHVuZGVybHlpbmcgU3RlbGxhciBBc3NldCBDb250cmFjdCBhZGRyZXNzCiogYG93bmVyYCAtIFRoZSBpbml0aWFsIG93bmVyIGFkZHJlc3MgKGZvciBUVEwgbWFuYWdlbWVudCwgcm9sZSBncmFudHMpAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAgAAAAAAAAAJc2FjX3Rva2VuAAAAAAAAEwAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAA8UmV0dXJucyB0aGUgdW5kZXJseWluZyBTQUMgKFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QpIGFkZHJlc3MuAAAADnVuZGVybHlpbmdfc2FjAAAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABKVRyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgYmVnaW5fb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlpCZWdpbnMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAAAAAGGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcgAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAAAAARU0FDTWFuYWdlclN0b3JhZ2UAAAAAAAABAAAAAAAAAAAAAAAIU2FjVG9rZW4AAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAwAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQuAAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4AAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgaXMgcmV2b2tlZC4AAAAAAAAAAAAAC1JvbGVSZXZva2VkAAAAAAEAAAAMcm9sZV9yZXZva2VkAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAAAdhY2NvdW50AAAAABMAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAgAAAAUAAAArRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBhZG1pbiBpcyBjaGFuZ2VkLgAAAAAAAAAAEFJvbGVBZG1pbkNoYW5nZWQAAAABAAAAEnJvbGVfYWRtaW5fY2hhbmdlZAAAAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAABNwcmV2aW91c19hZG1pbl9yb2xlAAAAA+gAAAARAAAAAAAAAAAAAAAObmV3X2FkbWluX3JvbGUAAAAAA+gAAAARAAAAAAAAAAIAAAACAAAAAAAAAAAAAAALUmJhY1N0b3JhZ2UAAAAABQAAAAAAAAAAAAAADUV4aXN0aW5nUm9sZXMAAAAAAAABAAAAAAAAABJSb2xlSW5kZXhUb0FjY291bnQAAAAAAAIAAAARAAAABAAAAAEAAAAAAAAAElJvbGVBY2NvdW50VG9JbmRleAAAAAAAAgAAABEAAAATAAAAAQAAAAAAAAARUm9sZUFjY291bnRzQ291bnQAAAAAAAABAAAAEQAAAAEAAAAAAAAACVJvbGVBZG1pbgAAAAAAAAEAAAARAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMSM5NGMyYTNiM2E1ZGVkNmI5Y2Y5Y2VmMGMyMDdiZjg4MDRmM2ViMjk0AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4xLjAjYTA0OGE1N2E3NTc2MjQ1OGI0ODcwNTJlMDAyMWVhNzA0YTkyNmJlZQA=";
12
+ var WASM_HASH = "dae1757ca9c8350654c68b1be0dd959f00a111eecef928dd4a49751f99f03517";
13
+ function getWasmBuffer() {
14
+ return Buffer.from(WASM_BASE64, "base64");
15
+ }
16
+ __name(getWasmBuffer, "getWasmBuffer");
17
+ var BufferReaderError = {
18
+ 1e3: {
19
+ message: "InvalidLength"
20
+ },
21
+ 1001: {
22
+ message: "InvalidAddressPayload"
23
+ }
24
+ };
25
+ var BufferWriterError = {
26
+ 1010: {
27
+ message: "InvalidAddressPayload"
28
+ }
29
+ };
30
+ var TtlConfigurableError = {
31
+ 1020: {
32
+ message: "InvalidTtlConfig"
33
+ },
34
+ 1021: {
35
+ message: "TtlConfigFrozen"
36
+ },
37
+ 1022: {
38
+ message: "TtlConfigAlreadyFrozen"
39
+ }
40
+ };
41
+ var OwnableError = {
42
+ 1030: {
43
+ message: "InvalidAuthorizer"
44
+ },
45
+ 1031: {
46
+ message: "InvalidPendingOwner"
47
+ },
48
+ 1032: {
49
+ message: "InvalidTtl"
50
+ },
51
+ 1033: {
52
+ message: "NoPendingTransfer"
53
+ },
54
+ 1034: {
55
+ message: "OwnerAlreadySet"
56
+ },
57
+ 1035: {
58
+ message: "OwnerNotSet"
59
+ },
60
+ 1036: {
61
+ message: "TransferInProgress"
62
+ }
63
+ };
64
+ var BytesExtError = {
65
+ 1040: {
66
+ message: "LengthMismatch"
67
+ }
68
+ };
69
+ var UpgradeableError = {
70
+ 1050: {
71
+ message: "InvalidMigrationData"
72
+ },
73
+ 1051: {
74
+ message: "MigrationNotAllowed"
75
+ }
76
+ };
77
+ var MultiSigError = {
78
+ 1060: {
79
+ message: "AlreadyInitialized"
80
+ },
81
+ 1061: {
82
+ message: "InvalidAuthorizer"
83
+ },
84
+ 1062: {
85
+ message: "InvalidSigner"
86
+ },
87
+ 1063: {
88
+ message: "SignatureError"
89
+ },
90
+ 1064: {
91
+ message: "SignerAlreadyExists"
92
+ },
93
+ 1065: {
94
+ message: "SignerNotFound"
95
+ },
96
+ 1066: {
97
+ message: "TotalSignersLessThanThreshold"
98
+ },
99
+ 1067: {
100
+ message: "UnsortedSigners"
101
+ },
102
+ 1068: {
103
+ message: "ZeroThreshold"
104
+ }
105
+ };
106
+ var AuthError = {
107
+ 1070: {
108
+ message: "AuthorizerNotFound"
109
+ }
110
+ };
111
+ var RbacError = {
112
+ 1080: {
113
+ message: "AdminRoleNotFound"
114
+ },
115
+ 1081: {
116
+ message: "IndexOutOfBounds"
117
+ },
118
+ 1082: {
119
+ message: "MaxRolesExceeded"
120
+ },
121
+ 1083: {
122
+ message: "RoleIsEmpty"
123
+ },
124
+ 1084: {
125
+ message: "RoleNotFound"
126
+ },
127
+ 1085: {
128
+ message: "RoleNotHeld"
129
+ },
130
+ 1086: {
131
+ message: "Unauthorized"
132
+ }
133
+ };
134
+ var Client = class extends Client$1 {
135
+ static {
136
+ __name(this, "Client");
137
+ }
138
+ options;
139
+ static async deploy({ sac_token, owner }, options) {
140
+ return Client$1.deploy({
141
+ sac_token,
142
+ owner
143
+ }, options);
144
+ }
145
+ constructor(options) {
146
+ super(new Spec([
147
+ "AAAAAAAAAQxHcmFudHMgYSByb2xlIHRvIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byBncmFudCB0aGUgcm9sZSB0by4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBncmFudC4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgZ3JhbnRpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAACmdyYW50X3JvbGUAAAAAAAMAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAA=",
148
+ "AAAAAAAAARNSZXZva2VzIGEgcm9sZSBmcm9tIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byByZXZva2UgdGhlIHJvbGUgZnJvbS4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byByZXZva2UuCiogYGNhbGxlcmAgLSBUaGUgYWNjb3VudCB0aGF0IGlzIHJldm9raW5nIHRoZSByb2xlLiBNdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgAAAAALcmV2b2tlX3JvbGUAAAAAAwAAAAAAAAAHYWNjb3VudAAAAAATAAAAAAAAAARyb2xlAAAAEQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAA==",
149
+ "AAAAAAAAAO1BbGxvd3MgYW4gYWNjb3VudCB0byByZW5vdW5jZSBhIHJvbGUgYXNzaWduZWQgdG8gaXRzZWxmLgpVc2VycyBjYW4gb25seSByZW5vdW5jZSByb2xlcyBmb3IgdGhlaXIgb3duIGFjY291bnQuCgojIEFyZ3VtZW50cwoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJlbm91bmNlLgoqIGBjYWxsZXJgIC0gVGhlIGFjY291bnQgdGhhdCBpcyByZW5vdW5jaW5nIHRoZSByb2xlLiBNdXN0IGJlIHRoZSBhY2NvdW50IGl0c2VsZi4AAAAAAAANcmVub3VuY2Vfcm9sZQAAAAAAAAIAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAA",
150
+ "AAAAAAAAAVdTZXRzIGBhZG1pbl9yb2xlYCBhcyB0aGUgYWRtaW4gcm9sZSBvZiBgcm9sZWAuIENhbGxlciBtdXN0IGJlIHRoZSBhdXRob3JpemVyLgoKIyBBcmd1bWVudHMKKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBzZXQgdGhlIGFkbWluIGZvci4KKiBgYWRtaW5fcm9sZWAgLSBUaGUgYWRtaW4gcm9sZSB0byBzZXQgZm9yIHRoZSByb2xlLgoKIyBOb3RlcwoKVGhlIGFkbWluIHJvbGUgY2FuIGJlIGFueSBgU3ltYm9sYCwgaW5jbHVkaW5nIG9uZSB3aXRoIG5vIG1lbWJlcnMuIElmIHRoZSBhZG1pbgpyb2xlIGhhcyBubyBtZW1iZXJzLCBvbmx5IHRoZSBhdXRob3JpemVyIGNhbiBncmFudC9yZXZva2UgdGhlIHJvbGUuAAAAAA5zZXRfcm9sZV9hZG1pbgAAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAACmFkbWluX3JvbGUAAAAAABEAAAAA",
151
+ "AAAAAAAAANhSZW1vdmVzIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmllZCByb2xlLiBDYWxsZXIgbXVzdCBiZSB0aGUgYXV0aG9yaXplci4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gcmVtb3ZlIHRoZSBhZG1pbiBmb3IuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6OkFkbWluUm9sZU5vdEZvdW5kYCAtIElmIG5vIGFkbWluIHJvbGUgaXMgc2V0IGZvciB0aGUgcm9sZS4AAAARcmVtb3ZlX3JvbGVfYWRtaW4AAAAAAAABAAAAAAAAAARyb2xlAAAAEQAAAAA=",
152
+ "AAAAAAAAAPZSZXR1cm5zIGBTb21lKGluZGV4KWAgaWYgdGhlIGFjY291bnQgaGFzIHRoZSBzcGVjaWZpZWQgcm9sZSwgd2hlcmUgYGluZGV4YAppcyB0aGUgaW5kZXggb2YgdGhlIGFjY291bnQgaW4gdGhlIHJvbGUuIFJldHVybnMgYE5vbmVgIGlmIG5vdC4KCiMgQXJndW1lbnRzCiogYGFjY291bnRgIC0gVGhlIGFjY291bnQgdG8gY2hlY2sgdGhlIHJvbGUgZm9yLgoqIGByb2xlYCAtIFRoZSByb2xlIHRvIGNoZWNrIHRoZSBhY2NvdW50IGZvci4AAAAAAAhoYXNfcm9sZQAAAAIAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAABAAAD6AAAAAQ=",
153
+ "AAAAAAAAAHZSZXR1cm5zIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmljIHJvbGUsIG9yIE5vbmUgaWYgbm90IHNldC4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBhZG1pbiBmb3IuAAAAAAAOZ2V0X3JvbGVfYWRtaW4AAAAAAAEAAAAAAAAABHJvbGUAAAARAAAAAQAAA+gAAAAR",
154
+ "AAAAAAAAAHpSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWNjb3VudHMgdGhhdCBoYXZlIHRoZSBzcGVjaWZpZWQgcm9sZS4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBtZW1iZXIgY291bnQgZm9yLgAAAAAAFWdldF9yb2xlX21lbWJlcl9jb3VudAAAAAAAAAEAAAAAAAAABHJvbGUAAAARAAAAAQAAAAQ=",
155
+ "AAAAAAAAAOlSZXR1cm5zIHRoZSBhY2NvdW50IGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggZm9yIGEgZ2l2ZW4gcm9sZS4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBtZW1iZXIgZm9yLgoqIGBpbmRleGAgLSBUaGUgaW5kZXggb2YgdGhlIG1lbWJlciB0byBnZXQuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6OkluZGV4T3V0T2ZCb3VuZHNgIGlmIHRoZSBpbmRleCBpcyBvdXQgb2YgYm91bmRzLgAAAAAAAA9nZXRfcm9sZV9tZW1iZXIAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAT",
156
+ "AAAAAAAAAPJSZXR1cm5zIGFsbCByb2xlcyB0aGF0IGN1cnJlbnRseSBoYXZlIGF0IGxlYXN0IG9uZSBtZW1iZXIuCkRlZmF1bHRzIHRvIGVtcHR5IHZlY3RvciBpZiBubyByb2xlcyBleGlzdC4KCiMgTm90ZXMKClRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbGwgcm9sZXMgdGhhdCBjdXJyZW50bHkgaGF2ZSBhdCBsZWFzdCBvbmUgbWVtYmVyLgpUaGUgbWF4aW11bSBudW1iZXIgb2Ygcm9sZXMgaXMgbGltaXRlZCBieSBbYE1BWF9ST0xFU2BdLgAAAAAAEmdldF9leGlzdGluZ19yb2xlcwAAAAAAAAAAAAEAAAPqAAAAEQ==",
157
+ "AAAAAAAAAAAAAAAJc2V0X2FkbWluAAAAAAAAAgAAAAAAAAAJbmV3X2FkbWluAAAAAAAAEwAAAAAAAAAIb3BlcmF0b3IAAAATAAAAAA==",
158
+ "AAAAAAAAAAAAAAAOc2V0X2F1dGhvcml6ZWQAAAAAAAMAAAAAAAAAAmlkAAAAAAATAAAAAAAAAAlhdXRob3JpemUAAAAAAAABAAAAAAAAAAhvcGVyYXRvcgAAABMAAAAA",
159
+ "AAAAAAAAAAAAAAAIY2xhd2JhY2sAAAADAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAhvcGVyYXRvcgAAABMAAAAA",
160
+ "AAAAAAAAAAAAAAAEbWludAAAAAMAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAACG9wZXJhdG9yAAAAEwAAAAA=",
161
+ "AAAAAAAAALdDb25zdHJ1Y3RzIHRoZSBTQUMgbWFuYWdlciBjb250cmFjdC4KCiMgQXJndW1lbnRzCiogYHNhY190b2tlbmAgLSBUaGUgdW5kZXJseWluZyBTdGVsbGFyIEFzc2V0IENvbnRyYWN0IGFkZHJlc3MKKiBgb3duZXJgIC0gVGhlIGluaXRpYWwgb3duZXIgYWRkcmVzcyAoZm9yIFRUTCBtYW5hZ2VtZW50LCByb2xlIGdyYW50cykAAAAADV9fY29uc3RydWN0b3IAAAAAAAACAAAAAAAAAAlzYWNfdG9rZW4AAAAAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAA",
162
+ "AAAAAAAAADxSZXR1cm5zIHRoZSB1bmRlcmx5aW5nIFNBQyAoU3RlbGxhciBBc3NldCBDb250cmFjdCkgYWRkcmVzcy4AAAAOdW5kZXJseWluZ19zYWMAAAAAAAAAAAABAAAAEw==",
163
+ "AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEw==",
164
+ "AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
165
+ "AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
166
+ "AAAAAAAAASlUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==",
167
+ "AAAAAAAAAlpCZWdpbnMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAAAAAGGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcgAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAA==",
168
+ "AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=",
169
+ "AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA",
170
+ "AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==",
171
+ "AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==",
172
+ "AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==",
173
+ "AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==",
174
+ "AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==",
175
+ "AAAAAgAAAAAAAAAAAAAAEVNBQ01hbmFnZXJTdG9yYWdlAAAAAAAAAQAAAAAAAAAAAAAACFNhY1Rva2Vu",
176
+ "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
177
+ "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
178
+ "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
179
+ "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAw=",
180
+ "AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
181
+ "AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBs=",
182
+ "AAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELA==",
183
+ "AAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQu",
184
+ "AAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4=",
185
+ "AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
186
+ "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
187
+ "AAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
188
+ "AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
189
+ "AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
190
+ "AAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAI=",
191
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
192
+ "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
193
+ "AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=",
194
+ "AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIHJldm9rZWQuAAAAAAAAAAAAAAtSb2xlUmV2b2tlZAAAAAABAAAADHJvbGVfcmV2b2tlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=",
195
+ "AAAABQAAACtFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGFkbWluIGlzIGNoYW5nZWQuAAAAAAAAAAAQUm9sZUFkbWluQ2hhbmdlZAAAAAEAAAAScm9sZV9hZG1pbl9jaGFuZ2VkAAAAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAE3ByZXZpb3VzX2FkbWluX3JvbGUAAAAD6AAAABEAAAAAAAAAAAAAAA5uZXdfYWRtaW5fcm9sZQAAAAAD6AAAABEAAAAAAAAAAg==",
196
+ "AAAAAgAAAAAAAAAAAAAAC1JiYWNTdG9yYWdlAAAAAAUAAAAAAAAAAAAAAA1FeGlzdGluZ1JvbGVzAAAAAAAAAQAAAAAAAAASUm9sZUluZGV4VG9BY2NvdW50AAAAAAACAAAAEQAAAAQAAAABAAAAAAAAABJSb2xlQWNjb3VudFRvSW5kZXgAAAAAAAIAAAARAAAAEwAAAAEAAAAAAAAAEVJvbGVBY2NvdW50c0NvdW50AAAAAAAAAQAAABEAAAABAAAAAAAAAAlSb2xlQWRtaW4AAAAAAAABAAAAEQ==",
197
+ "AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
198
+ "AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
199
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
200
+ "AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
201
+ "AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA=="
202
+ ]), options), this.options = options;
203
+ }
204
+ fromJSON = {
205
+ grant_role: this.txFromJSON,
206
+ revoke_role: this.txFromJSON,
207
+ renounce_role: this.txFromJSON,
208
+ set_role_admin: this.txFromJSON,
209
+ remove_role_admin: this.txFromJSON,
210
+ has_role: this.txFromJSON,
211
+ get_role_admin: this.txFromJSON,
212
+ get_role_member_count: this.txFromJSON,
213
+ get_role_member: this.txFromJSON,
214
+ get_existing_roles: this.txFromJSON,
215
+ set_admin: this.txFromJSON,
216
+ set_authorized: this.txFromJSON,
217
+ clawback: this.txFromJSON,
218
+ mint: this.txFromJSON,
219
+ underlying_sac: this.txFromJSON,
220
+ authorizer: this.txFromJSON,
221
+ owner: this.txFromJSON,
222
+ pending_owner: this.txFromJSON,
223
+ transfer_ownership: this.txFromJSON,
224
+ begin_ownership_transfer: this.txFromJSON,
225
+ accept_ownership: this.txFromJSON,
226
+ renounce_ownership: this.txFromJSON,
227
+ extend_instance_ttl: this.txFromJSON,
228
+ set_ttl_configs: this.txFromJSON,
229
+ ttl_configs: this.txFromJSON,
230
+ freeze_ttl_configs: this.txFromJSON,
231
+ is_ttl_configs_frozen: this.txFromJSON
232
+ };
233
+ };
234
+
235
+ export { AuthError, BufferReaderError, BufferWriterError, BytesExtError, Client, MultiSigError, OwnableError, RbacError, TtlConfigurableError, UpgradeableError, WASM_BASE64, WASM_HASH, getWasmBuffer };
236
+ //# sourceMappingURL=6X5OU3HF.js.map
237
+ //# sourceMappingURL=6X5OU3HF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generated/sac_manager.ts"],"names":["WASM_BASE64","WASM_HASH","getWasmBuffer","Buffer","from","BufferReaderError","message","BufferWriterError","TtlConfigurableError","OwnableError","BytesExtError","UpgradeableError","MultiSigError","AuthError","RbacError","Client","ContractClient","deploy","sac_token","owner","options","ContractSpec","fromJSON","grant_role","txFromJSON","revoke_role","renounce_role","set_role_admin","remove_role_admin","has_role","get_role_admin","get_role_member_count","get_role_member","get_existing_roles","set_admin","set_authorized","clawback","mint","underlying_sac","authorizer","pending_owner","transfer_ownership","begin_ownership_transfer","accept_ownership","renounce_ownership","extend_instance_ttl","set_ttl_configs","ttl_configs","freeze_ttl_configs","is_ttl_configs_frozen"],"mappings":"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","file":"6X5OU3HF.js","sourcesContent":["import { Buffer } from \"buffer\";\nimport { Address } from '@stellar/stellar-sdk';\nimport {\n AssembledTransaction,\n AssembledTransactionOptions,\n Client as ContractClient,\n ClientOptions as ContractClientOptions,\n MethodOptions,\n Result,\n Spec as ContractSpec,\n} from '@stellar/stellar-sdk/contract';\nimport type {\n u32,\n i32,\n u64,\n i64,\n u128,\n i128,\n u256,\n i256,\n Option,\n Typepoint,\n Duration,\n} from '@stellar/stellar-sdk/contract';\nexport * from '@stellar/stellar-sdk'\nexport * as contract from '@stellar/stellar-sdk/contract'\nexport * as rpc from '@stellar/stellar-sdk/rpc'\n\n// Soroban SDK types referenced in contract specs but not defined in the contract itself.\n// InvokerContractAuthEntry is a Soroban built-in encoded as ScVal:\n// scvVec([symbol(\"Contract\"), scvMap({\n// context: scvMap({ args, contract, fn_name }),\n// sub_invocations: scvVec([...])\n// })])\n// Must be manually constructed — the contract spec's nativeToScVal cannot serialize it.\nimport type { xdr } from '@stellar/stellar-sdk';\nexport type InvokerContractAuthEntry = xdr.ScVal;\n\n/**\n * Embedded WASM bytecode (base64-encoded)\n * Size: 24101 bytes (23.54 KB)\n */\nexport const WASM_BASE64 = \"AGFzbQEAAAABjwEaYAJ+fgF+YAF+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAABf2AAAGABfwF+YAJ+fgF/YAF/AGABfgBgAn5/AGACf38BfmABfwF/YAN/fn4AYAJ/fwF/YAJ/fgBgA39/fwBgAX4Bf2ADfn9+AGADfn5/AGAEf39/fwF+YAN+fn4AYAN/fn8AYAJ/fwBgAn5+AAKXARkBbAExAAABYQEwAAEBeAEwAAABdgEzAAEBdgE2AAABeAExAAABbAFfAAIBbAEyAAABbAE3AAMBdgFnAAABaQE4AAEBaQE3AAEBYgFqAAABaQE2AAABZAFfAAIBbQE5AAIBeAEzAAQBeAE4AAQBbAEwAAABbAE4AAABeAE1AAEBbQFhAAMBdgFfAAQBdgFkAAABdgEyAAADamkFBgcIBgkKCwwNDg8QEA4LBAkLBgkHCQQREAgCCBIEChMUCwcVBgIWAAAHCQkBAAEAAQAXAAQABAwWAgIQAAIAGBgKBAYEBAQBGQAGAQUOBAQAGAAQBwQJCRgEBAYRDhARGBgYGBEHGAsFAwEAEQYhBH8BQYCAwAALfwBBzIDAAAt/AEHyhMAAC38AQYCFwAALB4QEIAZtZW1vcnkCAApncmFudF9yb2xlADQLcmV2b2tlX3JvbGUAPw1yZW5vdW5jZV9yb2xlAEEOc2V0X3JvbGVfYWRtaW4AQhFyZW1vdmVfcm9sZV9hZG1pbgBGCGhhc19yb2xlAEcOZ2V0X3JvbGVfYWRtaW4ASBVnZXRfcm9sZV9tZW1iZXJfY291bnQASg9nZXRfcm9sZV9tZW1iZXIASxJnZXRfZXhpc3Rpbmdfcm9sZXMATglzZXRfYWRtaW4ATw5zZXRfYXV0aG9yaXplZABTCGNsYXdiYWNrAFQEbWludABXDV9fY29uc3RydWN0b3IAWA51bmRlcmx5aW5nX3NhYwBcCmF1dGhvcml6ZXIAXgVvd25lcgBfDXBlbmRpbmdfb3duZXIAYBJ0cmFuc2Zlcl9vd25lcnNoaXAAYRhiZWdpbl9vd25lcnNoaXBfdHJhbnNmZXIAYxBhY2NlcHRfb3duZXJzaGlwAGgScmVub3VuY2Vfb3duZXJzaGlwAGkTZXh0ZW5kX2luc3RhbmNlX3R0bABqD3NldF90dGxfY29uZmlncwBsC3R0bF9jb25maWdzAG8SZnJlZXplX3R0bF9jb25maWdzAHMVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAHQBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoxXaU0CAX8BfhCagICAAEEAIQACQEEAEJuAgIAAIgFCAhCcgICAAEUNAEEBIQACQAJAIAFCAhCAgICAAKdB/wFxDgIBAgALAAtBACEACyAAC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEPCAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDrgICAAAsgAEEQaiSAgICAAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB2oTAgABBBhCxgICAACABKAIADQMgASABKQMIELKAgIAADAILIAFB4ITAgABBCBCxgICAACABKAIADQIgASABKQMIELKAgIAADAELIAFB6ITAgABBChCxgICAACABKAIADQEgASABKQMIELKAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJKAgIAAQgFRC00BAX8jgICAgABBEGsiACSAgICAACAAEJ6AgIAAAkAgACgCAA0AQoOAgIDghQEQn4CAgAAACyAAKQMIEIGAgIAAGiAAQRBqJICAgIAACxAAEJqAgIAAIAAQqoCAgAALCwAgABCUgICAABoLkAIDAX8BfgJ/I4CAgIAAQSBrIgIkgICAgABBgIDAgABBChChgICAACEDAkACQAJAAkACQCAAQv8Bg0IOUg0AIANC/wGDQg5RDQELIAAgAxCCgICAAFBFDQEMAgsgAiADQgiINwMIIAIgAEIIiDcDGAJAA0AgAkEYahCigICAACEEIAJBCGoQooCAgAAhBSAEQYCAxABGDQEgBCAFRg0ADAILCyAFQYCAxABGDQELIAIgASkDACAAEKOAgIAAIAIoAgANAUKDgICA4IcBEJ+AgIAAAAsgAkEIahCegICAACACQRBqQQAgAigCCBsgARCkgICAAA0AQoOAgIDghwEQn4CAgAAACyACQSBqJICAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEPaAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwuWAQIBfgJ/IAApAwAhAQNAAkAgAVBFDQBBgIDEAA8LAkACQCABQjCIp0E/cSICQQFHDQBB3wAhAgwBCwJAAkACQCACQX9qQQtPDQBBLiEDDAELAkAgAkF0akEaTw0AQTUhAwwBCyACQSVNDQFBOyEDCyACIANqIQIMAQsgACABQgaGIgE3AwAMAQsLIAAgAUIGhjcDACACC00BAn8jgICAgABBEGsiAySAgICAABCagICAACADQQhqIAIgARCngICAACADKAIMIQQgACADKAIINgIAIAAgBDYCBCADQRBqJICAgIAACy0BAX8gACABckUhAgJAIABFDQAgAUUNACAAKQMAIAEpAwAQs4CAgAAhAgsgAgsSABCagICAACAAIAEQpoCAgAALkgEBAn8jgICAgABBIGsiAiSAgICAACACQQQ2AgggAiABNwMQAkACQAJAIAJBCGoQw4CAgAAiAUIBEJyAgIAARQ0AIAFCARCAgICAACIBp0H/AXEiA0EORg0BIANBygBGDQEACyAAQgA3AwAMAQsgAEIBNwMAIAAgATcDCCACQQhqEMSAgIAACyACQSBqJICAgIAAC28BA38jgICAgABBIGsiAySAgICAACADIAI3AxggAyABNwMQIANBAjYCCCADIANBCGoQ+4CAgAAgAygCBCEEAkAgAygCACIFRQ0AIANBCGoQxICAgAALIAAgBDYCBCAAIAU2AgAgA0EgaiSAgICAAAuKAQEBfyOAgICAAEEgayICJICAgIAAIAJBEGogABClgICAAAJAAkAgAigCEEEBRw0AIAJBCGogASkDACACKQMYEKOAgIAAIAIoAggNAQsgAkEQahCegICAACABIAJBGGpBACACKAIQGxCkgICAAA0AQoOAgIDghwEQn4CAgAAACyACQSBqJICAgIAAC5IBAgF/AX4jgICAgABBIGsiACSAgICAACAAQRBqEKqAgIAAIAApAxghASAAKQMQQYsIEKuAgIAAIAAgATcDCCAAQRBqEJ6AgIAAAkAgAEEIaiAAQRhqQQAgACgCEBsQpICAgAANAEKDgICA4IABEJ+AgIAAAAsgARCBgICAABogACkDCCEBIABBIGokgICAgAAgAQsQABCagICAACAAEK+AgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQn4CAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEK2AgIAAAkAgACkDAFANAEKDgICAwIEBEJ+AgIAAAAsgAEEQaiSAgICAAAtTAQJ+EJqAgIAAQgAhAQJAAkBBARCugICAACICQgAQnICAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBuYLAgABBDBCxgICAACABKAIADQIgASABKQMIELKAgIAADAELIAFBtILAgABBBRCxgICAACABKAIADQEgASABKQMIELKAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQroCAgAAiAkICEJyAgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALYAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEHEgMCAAEEIELGAgIAAAkACQCAAKAIADQAgACAAKQMIELKAgIAAIAAoAgBBAUcNAQsACyAAKQMIIQEgAEEQaiSAgICAACABC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEPaAgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARDRgICAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAsNACAAIAEQgoCAgABQC/ACAgN/AX4jgICAgABBMGsiAySAgICAAAJAAkACQCAAQv8Bg0LNAFINAAJAIAGnQf8BcSIEQQ5GDQAgBEHKAEcNAQsgAkL/AYNCzQBSDQAgAyACNwMIEJqAgIAAIAIQgYCAgAAaIAEgA0EIahCogICAAAJAIAEgABC1gICAAA0AIAEQtoCAgAAiBCEFAkAgBA0AELeAgIAAIgYQg4CAgABCgICAgIAgWg0DIAYgARCEgICAABC4gICAAEEAIQULIAEgBSAAELmAgIAAIAEgACAEELqAgIAAIARBAWoiBEUNAyABIAQQu4CAgAAgA0HFgsCAAEEMEKGAgIAANwMoIAMgADcDICADIAE3AxAgAyADQShqNgIYIANBEGoQvICAgAAhASADIAI3AxAgAUHYgsCAAEEBIANBEGpBARC9gICAABCFgICAABoLIANBMGokgICAgABCAg8LAAtCg4CAgKCHARCfgICAAAALEL6AgIAAAAtdAQJ/I4CAgIAAQSBrIgIkgICAgAAgAiABNwMYIAIgADcDECACQQI2AggCQCACQQhqEMOAgIAAQgEQnICAgAAiA0UNACACQQhqEMSAgIAACyACQSBqJICAgIAAIAMLZAEDfyOAgICAAEEgayIBJICAgIAAIAFBAzYCCCABIAA3AxAgASABQQhqEPuAgIAAIAEoAgQhAgJAIAEoAgAiA0UNACABQQhqEMSAgIAACyABQSBqJICAgIAAIAJBACADQQFxGwt5AgF/AX4jgICAgABBIGsiACSAgICAACAAQQA2AggCQAJAAkAgAEEIahDDgICAACIBQgEQnICAgABFDQAgAUIBEICAgIAAIgFC/wGDQssAUg0CIABBCGoQxICAgAAMAQsQloCAgAAhAQsgAEEgaiSAgICAACABDwsAC0gBAX8jgICAgABBIGsiASSAgICAACABQQA2AgggAUEIahDDgICAACAAQgEQhoCAgAAaIAFBCGoQxICAgAAgAUEgaiSAgICAAAtWAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADcDECADQQE2AgggA0EIahDDgICAACACQgEQhoCAgAAaIANBCGoQxICAgAAgA0EgaiSAgICAAAtNAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNwMYIAMgADcDECADQQI2AgggA0EIaiACEPyAgIAAIANBCGoQxICAgAAgA0EgaiSAgICAAAtGAQF/I4CAgIAAQSBrIgIkgICAgAAgAkEDNgIIIAIgADcDECACQQhqIAEQ/ICAgAAgAkEIahDEgICAACACQSBqJICAgIAAC6kBAgF/AX4jgICAgABBMGsiASSAgICAACABIAApAxA3AxAgASAAKQMANwMIIAEgACgCCCkDADcDAEEAIQADfgJAIABBGEcNAEEAIQACQANAIABBGEYNASABQRhqIABqIAEgAGopAwA3AwAgAEEIaiEADAALCyABQRhqQQMQ0YCAgAAhAiABQTBqJICAgIAAIAIPCyABQRhqIABqQgI3AwAgAEEIaiEADAALCy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQj4CAgAALCQAQ9YCAgAAAC4cBAQJ/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINAAJAIAGnQf8BcSIEQQ5GDQAgBEHKAEcNAQsgAkL/AYNCzQBSDQAgAyACNwMIEJqAgIAAIAIQgYCAgAAaIAEgA0EIahCogICAACAAIAEgAhDAgICAACADQRBqJICAgIAAQgIPCwAL+wMCA38CfiOAgICAAEEwayIDJICAgIAAAkACQAJAAkAgASAAELWAgIAARQ0AIAEQtoCAgAAiBEUNASADQQhqIAEgABCngICAACADKAIMIQUgAygCCEG9CBCAgYCAACABIAUQgYGAgAAgAyAANwMgIAMgATcDGCADQQI2AhAgA0EQahDDgICAAEIBEIeAgIAAGiAFIARBf2oiBEcNAgwDC0KDgICA0IcBEJ+AgIAAAAtCg4CAgLCHARCfgICAAAALIANBEGogASAEEMyAgIAAIAMpAxAgAykDGBDNgICAACEGIAEgBBCBgYCAACABIAUgBhC5gICAACABIAYgBRC6gICAAAsgASAEELuAgIAAAkACQCAEDQACQAJAELeAgIAAIgYgARCXgICAACIHQgJSDQBBACEEDAELIAdC/wGDQgRSDQIgB0IgiKchBUEBIQQLIARBvAgQgIGAgAACQCAFIAYQg4CAgABCIIinTw0AIAYgBa1CIIZCBIQQmICAgAAhBgsgBhC4gICAAAsgA0HggsCAAEEMEKGAgIAANwMoIAMgADcDICADIAE3AxAgAyADQShqNgIYIANBEGoQvICAgAAhASADIAI3AxAgAUHYgsCAAEEBIANBEGpBARC9gICAABCFgICAABogA0EwaiSAgICAAA8LEL6AgIAAAAtLAQF/AkACQCAAp0H/AXEiAkEORg0AIAJBygBHDQELIAFC/wGDQs0AUg0AEJqAgIAAIAEQgYCAgAAaIAEgACABEMCAgIAAQgIPCwAL3wECAn8CfiOAgICAAEEwayICJICAgIAAAkACQCAAp0H/AXEiA0EORg0AIANBygBHDQELAkAgAadB/wFxIgNBDkYNACADQcoARw0BCxCdgICAABCagICAACACQQhqIAAQpoCAgAAgAikDCCEEIAIpAxAhBSACQQQ2AgggAiAANwMQIAJBCGoQw4CAgAAgAUIBEIaAgIAAGiACQQhqEMSAgIAAIAIgATcDICACQgE3AxggAiAFNwMQIAIgBDcDCCACIAA3AyggAkEIahDFgICAACACQTBqJICAgIAAQgIPCwALlwMCAX8CfiOAgICAAEEwayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4FAAECBAUACyABQQhqQbCDwIAAQQ0QsYCAgAAgASgCCA0HIAFBCGogASkDEBCygICAAAwFCyABQSBqQb2DwIAAQRIQsYCAgAAgASgCIA0GIAEgASkDKDcDCCABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBIGogAUEIahD6gICAAAwBCyABQSBqQc+DwIAAQRIQsYCAgAAgASgCIA0FIAEgASkDKDcDCCABIAApAxA3AxggASAAKQMINwMQIAFBIGogAUEIahD6gICAAAsgASkDKCECIAEpAyAhAwwDCyABQQhqQeGDwIAAQREQsYCAgAAgASgCCA0DIAFBCGogASkDECAAKQMIEPeAgIAADAELIAFBCGpB8oPAgABBCRCxgICAACABKAIIDQIgAUEIaiABKQMQIAApAwgQ94CAgAALIAEpAxAhAiABKQMIIQMLIANQDQELAAsgAUEwaiSAgICAACACC2kCAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQ8YCAgAACQCABKAIEQQFHDQAgATUCDCECIAE1AgghAyAAEMOAgIAAQgEgA0IghkIEhCACQiCGQgSEEIiAgIAAGgsgAUEQaiSAgICAAAv5AQMBfwJ+AX8jgICAgABBIGsiASSAgICAACAAKQMgIQJB7ILAgABBEhChgICAACEDIAEgAjcDCCABIAM3AwBBACEEA0ACQCAEQRBHDQBBACEEAkADQCAEQRBGDQEgAUEQaiAEaiABIARqKQMANwMAIARBCGohBAwACwsgAUEQakECENGAgIAAIQIgACkDECAAKQMYEMmAgIAAIQMgASAAKQMAIAApAwgQyYCAgAA3AxggASADNwMQIAJBoIPAgABBAiABQRBqQQIQvYCAgAAQhYCAgAAaIAFBIGokgICAgAAPCyABQRBqIARqQgI3AwAgBEEIaiEEDAALC8EBAQJ/I4CAgIAAQcAAayIBJICAgIAAAkACQAJAIACnQf8BcSICQQ5GDQAgAkHKAEcNAQsQnYCAgAAQmoCAgAAgAUEIaiAAEKaAgIAAIAEoAghFDQEgAUEENgIYIAEgADcDICABQRhqEMOAgIAAQgEQh4CAgAAaIAEgADcDOCABQgA3AyggASABKQMQNwMgIAFCATcDGCABQRhqEMWAgIAAIAFBwABqJICAgIAAQgIPCwALQoOAgICAhwEQn4CAgAAAC3cBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AAkAgAadB/wFxIgNBDkYNACADQcoARw0BCyACQQhqIAAgARCjgICAACACKAIIIQMgAjUCDCEAIAJBEGokgICAgAAgAEIghkIEhEICIANBAXEbDwsAC1gBAn8jgICAgABBEGsiASSAgICAAAJAIACnQf8BcSICQQ5GDQAgAkHKAEYNAAALIAEgABClgICAACABKQMAIAEpAwgQyYCAgAAhACABQRBqJICAgIAAIAALDQAgAUICIACnQQFxGwszAQF/AkAgAKdB/wFxIgFBDkYNACABQcoARg0AAAsQmoCAgAAgABC2gICAAK1CIIZCBIQLcwECfyOAgICAAEEQayICJICAgIAAAkACQCAAp0H/AXEiA0EORg0AIANBygBHDQELIAFC/wGDQgRSDQAQmoCAgAAgAiAAIAFCIIinEMyAgIAAIAIpAwAgAikDCBDNgICAACEAIAJBEGokgICAgAAgAA8LAAuPAQEBfyOAgICAAEEgayIDJICAgIAAIAMgAjYCDCADIAE3AxAgA0EBNgIIAkACQAJAIANBCGoQw4CAgAAiAUIBEJyAgIAARQ0AIAFCARCAgICAACIBQv8Bg0LNAFENAQALIABCADcDAAwBCyAAQgE3AwAgACABNwMIIANBCGoQxICAgAALIANBIGokgICAgAALIAACQCAAp0EBcUUNACABDwtCg4CAgJCHARCfgICAAAALDgAQmoCAgAAQt4CAgAALmQEBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAIgATcDAEGKgMCAAEESEKGAgIAAIAIQoICAgAAgARCBgICAABoQmoCAgAAQ0ICAgAAhASACIAA3AwggAUKO5q656ozk1TggAkEIakEBENGAgIAAENKAgIAAIAJBEGokgICAgABCAg8LAAtDAQF+EJqAgIAAAkACQBCwgICAACIAQgIQnICAgABFDQAgAEICEICAgIAAIgBC/wGDQs0AUQ0BAAsQ3YCAgAAACyAACxoAIACtQiCGQgSEIAGtQiCGQgSEEImAgIAACyEAAkAgACABIAIQjoCAgABC/wGDQgJRDQAQvoCAgAAACwuhAgECfyOAgICAAEEwayIDJICAgIAAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiBEEAR0EBdCAEQQFGGyIEQQJGDQAgAkL/AYNCzQBSDQAgAyACNwMIQZyAwIAAQRAQoYCAgAAgA0EIahCggICAACACEIGAgIAAGhCagICAABDQgICAACECQcyAwIAAQQ4QoYCAgAAhASADIAStNwMYIAMgADcDEEEAIQQDQAJAIARBEEcNAEEAIQQCQANAIARBEEYNASADQSBqIARqIANBEGogBGopAwA3AwAgBEEIaiEEDAALCyACIAEgA0EgakECENGAgIAAENKAgIAAIANBMGokgICAgABCAg8LIANBIGogBGpCAjcDACAEQQhqIQQMAAsLAAuhAgMBfwF+AX8jgICAgABBwABrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQ1YCAgAAgAygCAEEBRg0AIAJC/wGDQs0AUg0AIAMpAxghASADKQMQIQQgAyACNwMoQayAwIAAQQ0QoYCAgAAgA0EoahCggICAACACEIGAgIAAGhCagICAABDQgICAACECIAMgBCABENaAgIAANwM4IAMgADcDMEEAIQUDQAJAIAVBEEcNAEEAIQUCQANAIAVBEEYNASADIAVqIANBMGogBWopAwA3AwAgBUEIaiEFDAALCyACQo7gqPPJt8bRACADQQIQ0YCAgAAQ0oCAgAAgA0HAAGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLAAt9AgF/AX4CQAJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQIgACABQj+HNwMYIAAgAUIIhzcDEAwBCyABEIqAgIAAIQMgARCLgICAACEBIAAgAzcDGCAAIAE3AxALQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQjYCAgAALnQIDAX8BfgF/I4CAgIAAQcAAayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAyABENWAgIAAIAMoAgBBAUYNACACQv8Bg0LNAFINACADKQMYIQEgAykDECEEIAMgAjcDKEG5gMCAAEELEKGAgIAAIANBKGoQoICAgAAgAhCBgICAABoQmoCAgAAQ0ICAgAAhAiADIAQgARDWgICAADcDOCADIAA3AzBBACEFA0ACQCAFQRBHDQBBACEFAkADQCAFQRBGDQEgAyAFaiADQTBqIAVqKQMANwMAIAVBCGohBQwACwsgAkKO8rPXDCADQQIQ0YCAgAAQ0oCAgAAgA0HAAGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLAAt6AAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQBBgMseQYDSHxDZgICAAEGAyx5BgNIfENqAgIAAQQAQroCAgABCAhCcgICAAA0BIAEQ24CAgAAQsICAgAAgAEICEIaAgIAAGkICDwsAC0KDgICAoIEBEJ+AgIAAAAsOAEEBIAAgARD+gICAAAsOAEECIAAgARD+gICAAAsOAEEAIABCAhDngICAAAsIABDQgICAAAsJABC+gICAAAALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCegICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCqgICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCtgICAACAAKQMAIAApAwgQyYCAgAAhASAAQRBqJICAgIAAIAELPAEBfgJAIABC/wGDQs0AUQ0AAAsQmoCAgAAQqYCAgAAhARCsgICAACAAENuAgIAAIAEgABDigICAAEICC2ECAX8BfiOAgICAAEEQayICJICAgIAAQeOAwIAAQRUQoYCAgAAQ5YCAgAAhAyACIAA3AwggAiABNwMAIANBjIHAgABBAiACQQIQvYCAgAAQhYCAgAAaIAJBEGokgICAgAAL/AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAQmoCAgAAQqYCAgAAhAwJAAkAgAUL/////D1YNACACQQhqEK2AgIAAIAIpAxAhASACKQMIQYkIEKuAgIAAIAEgABCzgICAAEUNAxDkgICAAEHQgcCAAEEcEKGAgIAAEOWAgIAAIQAgAiADNwMQIAIgATcDCCAAQYiCwIAAQQIgAkEIakECEL2AgIAAEIWAgIAAGgwBCxDmgICAACABQiCIp0kNA0EBIABCABDngICAAEEBEK6AgIAAQgAgAUKEgICAcIMiASABEIiAgIAAGkGcgcCAAEEWEKGAgIAAEOWAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEG4gcCAAEEDIAJBCGpBAxC9gICAABCFgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgPCAARCfgICAAAALQoOAgICAgQEQn4CAgAAACxMAQQEQroCAgABCABCHgICAABoLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBENGAgIAAIQAgAUEQaiSAgICAACAACzMBAn4QkICAgAAhAAJAEJGAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEL6AgIAAAAsVACAAEK6AgIAAIAEgAhCGgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEJqAgIAAIAAQrYCAgAAgACkDCCEBIAApAwBBiQgQq4CAgAAgARCBgICAABogABCvgICAAAJAIAAoAgANABDdgICAAAALIAApAwghAhDkgICAACABENuAgIAAIAIgARDigICAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEJqAgIAAEKmAgIAAIQEQrICAgABBABCugICAAEICEIeAgIAAGkGYgsCAAEETEKGAgIAAEOWAgIAAIQIgACABNwMIIAJBrILAgABBASAAQQhqQQEQvYCAgAAQhYCAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDrgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJOAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ7YCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDtgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBCdgICAABCagICAAAJAAkACQBCZgICAAA0AEOaAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEJ+AgIAAAAtCg4CAgMD/ABCfgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQENmAgIAADAELQQEQm4CAgABCAhCHgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgENqAgIAADAELQQIQm4CAgABCAhCHgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEGUhMCAAEEPEKGAgIAAEOWAgIAAIQAgAkEoahDugICAACEBIAIgAkE0ahDugICAADcDSCACIAE3A0AgAEG4hMCAAEECIAJBwABqQQIQvYCAgAAQhYCAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEPiAgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEPKAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgugAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEJqAgIAAIABBCGoQ8ICAgAAgAEEUaiIBEPGAgIAAIABBMGogAEEIahDygICAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQ8oCAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECENGAgIAAIQIgAEHAAGokgICAgAAgAgsMACAAQQEQ/YCAgAALDAAgAEECEP2AgIAACzAAAkAg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bnRSb2xlQWNjb3VudFRvSW5kZXhSb2xlQWNjb3VudHNDb3VudFJvbGVBZG1pbmV4dGVuZF90b/sBEAAJAAAAWgAQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAAjAhAACAAAACsCEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50AN9WDmNvbnRyYWN0c3BlY3YwAAAAAAAAAQxHcmFudHMgYSByb2xlIHRvIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byBncmFudCB0aGUgcm9sZSB0by4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBncmFudC4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgZ3JhbnRpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAACmdyYW50X3JvbGUAAAAAAAMAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAAAAABE1Jldm9rZXMgYSByb2xlIGZyb20gYW4gYWNjb3VudC4gQ2FsbGVyIG11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuCgojIEFyZ3VtZW50cwoqIGBhY2NvdW50YCAtIFRoZSBhY2NvdW50IHRvIHJldm9rZSB0aGUgcm9sZSBmcm9tLgoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJldm9rZS4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgcmV2b2tpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAAAAtyZXZva2Vfcm9sZQAAAAADAAAAAAAAAAdhY2NvdW50AAAAABMAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAAAAAO1BbGxvd3MgYW4gYWNjb3VudCB0byByZW5vdW5jZSBhIHJvbGUgYXNzaWduZWQgdG8gaXRzZWxmLgpVc2VycyBjYW4gb25seSByZW5vdW5jZSByb2xlcyBmb3IgdGhlaXIgb3duIGFjY291bnQuCgojIEFyZ3VtZW50cwoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJlbm91bmNlLgoqIGBjYWxsZXJgIC0gVGhlIGFjY291bnQgdGhhdCBpcyByZW5vdW5jaW5nIHRoZSByb2xlLiBNdXN0IGJlIHRoZSBhY2NvdW50IGl0c2VsZi4AAAAAAAANcmVub3VuY2Vfcm9sZQAAAAAAAAIAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAAAAAVdTZXRzIGBhZG1pbl9yb2xlYCBhcyB0aGUgYWRtaW4gcm9sZSBvZiBgcm9sZWAuIENhbGxlciBtdXN0IGJlIHRoZSBhdXRob3JpemVyLgoKIyBBcmd1bWVudHMKKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBzZXQgdGhlIGFkbWluIGZvci4KKiBgYWRtaW5fcm9sZWAgLSBUaGUgYWRtaW4gcm9sZSB0byBzZXQgZm9yIHRoZSByb2xlLgoKIyBOb3RlcwoKVGhlIGFkbWluIHJvbGUgY2FuIGJlIGFueSBgU3ltYm9sYCwgaW5jbHVkaW5nIG9uZSB3aXRoIG5vIG1lbWJlcnMuIElmIHRoZSBhZG1pbgpyb2xlIGhhcyBubyBtZW1iZXJzLCBvbmx5IHRoZSBhdXRob3JpemVyIGNhbiBncmFudC9yZXZva2UgdGhlIHJvbGUuAAAAAA5zZXRfcm9sZV9hZG1pbgAAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAACmFkbWluX3JvbGUAAAAAABEAAAAAAAAAAAAAANhSZW1vdmVzIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmllZCByb2xlLiBDYWxsZXIgbXVzdCBiZSB0aGUgYXV0aG9yaXplci4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gcmVtb3ZlIHRoZSBhZG1pbiBmb3IuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6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dG9rZW5gIC0gVGhlIHVuZGVybHlpbmcgU3RlbGxhciBBc3NldCBDb250cmFjdCBhZGRyZXNzCiogYG93bmVyYCAtIFRoZSBpbml0aWFsIG93bmVyIGFkZHJlc3MgKGZvciBUVEwgbWFuYWdlbWVudCwgcm9sZSBncmFudHMpAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAgAAAAAAAAAJc2FjX3Rva2VuAAAAAAAAEwAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAA8UmV0dXJucyB0aGUgdW5kZXJseWluZyBTQUMgKFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QpIGFkZHJlc3MuAAAADnVuZGVybHlpbmdfc2FjAAAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABKVRyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgYmVnaW5fb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlpCZWdpbnMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAAAAAGGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcgAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAAAAARU0FDTWFuYWdlclN0b3JhZ2UAAAAAAAABAAAAAAAAAAAAAAAIU2FjVG9rZW4AAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAwAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQuAAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4AAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgaXMgcmV2b2tlZC4AAAAAAAAAAAAAC1JvbGVSZXZva2VkAAAAAAEAAAAMcm9sZV9yZXZva2VkAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAAAdhY2NvdW50AAAAABMAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAgAAAAUAAAArRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBhZG1pbiBpcyBjaGFuZ2VkLgAAAAAAAAAAEFJvbGVBZG1pbkNoYW5nZWQAAAABAAAAEnJvbGVfYWRtaW5fY2hhbmdlZAAAAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAABNwcmV2aW91c19hZG1pbl9yb2xlAAAAA+gAAAARAAAAAAAAAAAAAAAObmV3X2FkbWluX3JvbGUAAAAAA+gAAAARAAAAAAAAAAIAAAACAAAAAAAAAAAAAAALUmJhY1N0b3JhZ2UAAAAABQAAAAAAAAAAAAAADUV4aXN0aW5nUm9sZXMAAAAAAAABAAAAAAAAABJSb2xlSW5kZXhUb0FjY291bnQAAAAAAAIAAAARAAAABAAAAAEAAAAAAAAAElJvbGVBY2NvdW50VG9JbmRleAAAAAAAAgAAABEAAAATAAAAAQAAAAAAAAARUm9sZUFjY291bnRzQ291bnQAAAAAAAABAAAAEQAAAAEAAAAAAAAACVJvbGVBZG1pbgAAAAAAAAEAAAARAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMSM5NGMyYTNiM2E1ZGVkNmI5Y2Y5Y2VmMGMyMDdiZjg4MDRmM2ViMjk0AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4xLjAjYTA0OGE1N2E3NTc2MjQ1OGI0ODcwNTJlMDAyMWVhNzA0YTkyNmJlZQA=\";\n\n/**\n * Pre-computed WASM hash (SHA-256)\n * Use this when the WASM is already uploaded on-chain\n */\nexport const WASM_HASH = \"dae1757ca9c8350654c68b1be0dd959f00a111eecef928dd4a49751f99f03517\";\n\n/**\n * Get the WASM bytecode as a Buffer\n * Use this to upload the WASM to the network\n */\nexport function getWasmBuffer(): Buffer {\n return Buffer.from(WASM_BASE64, 'base64');\n}\n\nexport type SACManagerStorage = {tag: \"SacToken\", values: void};\n\n/**\n * BufferReaderError: 1000-1009\n */\nexport const BufferReaderError = {\n 1000: {message:\"InvalidLength\"},\n 1001: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * BufferWriterError: 1010-1019\n */\nexport const BufferWriterError = {\n 1010: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * TtlConfigurableError: 1020-1029\n */\nexport const TtlConfigurableError = {\n 1020: {message:\"InvalidTtlConfig\"},\n 1021: {message:\"TtlConfigFrozen\"},\n 1022: {message:\"TtlConfigAlreadyFrozen\"}\n}\n\n/**\n * OwnableError: 1030-1039\n */\nexport const OwnableError = {\n 1030: {message:\"InvalidAuthorizer\"},\n 1031: {message:\"InvalidPendingOwner\"},\n 1032: {message:\"InvalidTtl\"},\n 1033: {message:\"NoPendingTransfer\"},\n 1034: {message:\"OwnerAlreadySet\"},\n 1035: {message:\"OwnerNotSet\"},\n 1036: {message:\"TransferInProgress\"}\n}\n\n/**\n * BytesExtError: 1040-1049\n */\nexport const BytesExtError = {\n 1040: {message:\"LengthMismatch\"}\n}\n\n/**\n * UpgradeableError: 1050-1059\n */\nexport const UpgradeableError = {\n 1050: {message:\"InvalidMigrationData\"},\n 1051: {message:\"MigrationNotAllowed\"}\n}\n\n/**\n * MultiSigError: 1060-1069\n */\nexport const MultiSigError = {\n 1060: {message:\"AlreadyInitialized\"},\n 1061: {message:\"InvalidAuthorizer\"},\n 1062: {message:\"InvalidSigner\"},\n 1063: {message:\"SignatureError\"},\n 1064: {message:\"SignerAlreadyExists\"},\n 1065: {message:\"SignerNotFound\"},\n 1066: {message:\"TotalSignersLessThanThreshold\"},\n 1067: {message:\"UnsortedSigners\"},\n 1068: {message:\"ZeroThreshold\"}\n}\n\n/**\n * AuthError: 1070-1079\n */\nexport const AuthError = {\n 1070: {message:\"AuthorizerNotFound\"}\n}\n\n/**\n * RbacError: 1080-1089\n */\nexport const RbacError = {\n 1080: {message:\"AdminRoleNotFound\"},\n 1081: {message:\"IndexOutOfBounds\"},\n 1082: {message:\"MaxRolesExceeded\"},\n 1083: {message:\"RoleIsEmpty\"},\n 1084: {message:\"RoleNotFound\"},\n 1085: {message:\"RoleNotHeld\"},\n 1086: {message:\"Unauthorized\"}\n}\n\n\n\nexport type MultiSigStorage = {tag: \"Signers\", values: void} | {tag: \"Threshold\", values: void};\n\n\n\n\n\nexport type OwnableStorage = {tag: \"Owner\", values: void} | {tag: \"PendingOwner\", values: void};\n\n\n\n\nexport type RbacStorage = {tag: \"ExistingRoles\", values: void} | {tag: \"RoleIndexToAccount\", values: readonly [string, u32]} | {tag: \"RoleAccountToIndex\", values: readonly [string, string]} | {tag: \"RoleAccountsCount\", values: readonly [string]} | {tag: \"RoleAdmin\", values: readonly [string]};\n\n\n/**\n * TTL configuration: threshold (when to extend) and extend_to (target TTL).\n */\nexport interface TtlConfig {\n /**\n * Target TTL after extension (in ledgers).\n */\nextend_to: u32;\n /**\n * TTL threshold that triggers extension (in ledgers).\n */\nthreshold: u32;\n}\n\n\n\nexport type TtlConfigStorage = {tag: \"Frozen\", values: void} | {tag: \"Instance\", values: void} | {tag: \"Persistent\", values: void};\n\nexport type UpgradeableStorage = {tag: \"Migrating\", values: void};\n\nexport interface Client {\n /**\n * Construct and simulate a grant_role 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.\n * Grants a role to an account. Caller must be owner or have the role's admin role.\n * \n * # Arguments\n * * `account` - The account to grant the role to.\n * * `role` - The role to grant.\n * * `caller` - The account that is granting the role. Must be owner or have the role's admin role.\n */\n grant_role: ({account, role, caller}: {account: string, role: string, caller: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a revoke_role 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.\n * Revokes a role from an account. Caller must be owner or have the role's admin role.\n * \n * # Arguments\n * * `account` - The account to revoke the role from.\n * * `role` - The role to revoke.\n * * `caller` - The account that is revoking the role. Must be owner or have the role's admin role.\n */\n revoke_role: ({account, role, caller}: {account: string, role: string, caller: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a renounce_role 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.\n * Allows an account to renounce a role assigned to itself.\n * Users can only renounce roles for their own account.\n * \n * # Arguments\n * * `role` - The role to renounce.\n * * `caller` - The account that is renouncing the role. Must be the account itself.\n */\n renounce_role: ({role, caller}: {role: string, caller: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_role_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.\n * Sets `admin_role` as the admin role of `role`. Caller must be the authorizer.\n * \n * # Arguments\n * * `role` - The role to set the admin for.\n * * `admin_role` - The admin role to set for the role.\n * \n * # Notes\n * \n * The admin role can be any `Symbol`, including one with no members. If the admin\n * role has no members, only the authorizer can grant/revoke the role.\n */\n set_role_admin: ({role, admin_role}: {role: string, admin_role: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a remove_role_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.\n * Removes the admin role for a specified role. Caller must be the authorizer.\n * \n * # Arguments\n * * `role` - The role to remove the admin for.\n * \n * # Errors\n * * `RbacError::AdminRoleNotFound` - If no admin role is set for the role.\n */\n remove_role_admin: ({role}: {role: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a has_role 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.\n * Returns `Some(index)` if the account has the specified role, where `index`\n * is the index of the account in the role. Returns `None` if not.\n * \n * # Arguments\n * * `account` - The account to check the role for.\n * * `role` - The role to check the account for.\n */\n has_role: ({account, role}: {account: string, role: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<u32>>>\n\n /**\n * Construct and simulate a get_role_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.\n * Returns the admin role for a specific role, or None if not set.\n * \n * # Arguments\n * * `role` - The role to get the admin for.\n */\n get_role_admin: ({role}: {role: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a get_role_member_count 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.\n * Returns the number of accounts that have the specified role.\n * \n * # Arguments\n * * `role` - The role to get the member count for.\n */\n get_role_member_count: ({role}: {role: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a get_role_member 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.\n * Returns the account at the specified index for a given role.\n * \n * # Arguments\n * * `role` - The role to get the member for.\n * * `index` - The index of the member to get.\n * \n * # Errors\n * * `RbacError::IndexOutOfBounds` if the index is out of bounds.\n */\n get_role_member: ({role, index}: {role: string, index: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<string>>\n\n /**\n * Construct and simulate a get_existing_roles 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.\n * Returns all roles that currently have at least one member.\n * Defaults to empty vector if no roles exist.\n * \n * # Notes\n * \n * This function returns all roles that currently have at least one member.\n * The maximum number of roles is limited by [`MAX_ROLES`].\n */\n get_existing_roles: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>\n\n /**\n * Construct and simulate a set_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.\n */\n set_admin: ({new_admin, operator}: {new_admin: string, operator: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * 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.\n */\n set_authorized: ({id, authorize, operator}: {id: string, authorize: boolean, operator: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * 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.\n */\n clawback: ({from, amount, operator}: {from: string, amount: i128, operator: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * 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.\n */\n mint: ({to, amount, operator}: {to: string, amount: i128, operator: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * 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.\n * Returns the underlying SAC (Stellar Asset Contract) address.\n */\n underlying_sac: (options?: MethodOptions) => Promise<AssembledTransaction<string>>\n\n /**\n * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n */\n authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current owner address, or None if no owner is set.\n */\n owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.\n */\n pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Transfers ownership immediately to a new address.\n * \n * Use with caution - if you transfer to a wrong address, ownership is lost forever.\n * Consider using `begin_ownership_transfer` instead.\n * \n * # Panics\n * - `OwnerNotSet` if no owner is currently set\n * - `TransferInProgress` if a 2-step transfer is in progress\n */\n transfer_ownership: ({new_owner}: {new_owner: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a begin_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Begins an ownership transfer to a new address.\n * \n * The new owner must call `accept_ownership()` within `ttl` ledgers\n * to complete the transfer. The pending transfer will automatically expire after.\n * \n * # Arguments\n * - `new_owner` - The proposed new owner\n * - `ttl` - Number of ledgers the new owner has to accept.\n * Use `0` to cancel a pending transfer (new_owner must match pending).\n * \n * # Panics\n * - `OwnerNotSet` if no owner is currently set\n * - `NoPendingTransfer` when cancelling and no pending transfer exists\n * - `InvalidTtl` if ttl exceeds max TTL\n * - `InvalidPendingOwner` when cancelling with wrong new_owner address\n */\n begin_ownership_transfer: ({new_owner, ttl}: {new_owner: string, ttl: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Accepts a pending 2-step ownership transfer.\n * \n * Must be called by the pending owner before the TTL expires.\n * \n * # Panics\n * - `NoPendingTransfer` if there is no pending transfer (or it expired)\n */\n accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Permanently renounces ownership.\n * \n * # Panics\n * - `OwnerNotSet` if no owner is currently set\n * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)\n */\n renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Extends the instance TTL.\n * \n * # Arguments\n * \n * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).\n * * `extend_to` - The TTL to extend to.\n */\n extend_instance_ttl: ({threshold, extend_to}: {threshold: u32, extend_to: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets TTL configs for instance and persistent storage.\n * \n * - `None` values remove the corresponding config (disables auto-extension for that type)\n * - Validates that `threshold <= extend_to <= MAX_TTL`\n * \n * # Arguments\n * - `instance` - TTL config for instance storage\n * - `persistent` - TTL config for persistent storage\n * \n * # Panics\n * - `TtlConfigFrozen` if configs are frozen\n * - `InvalidTtlConfig` if validation fails\n */\n set_ttl_configs: ({instance, persistent}: {instance: Option<TtlConfig>, persistent: Option<TtlConfig>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current TTL configs as (instance_config, persistent_config).\n */\n ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>\n\n /**\n * Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Permanently freezes TTL configs, preventing any future modifications.\n * \n * This is irreversible and provides immutability guarantees to users.\n * Emits `TtlConfigsFrozen` event.\n * \n * # Panics\n * - `TtlConfigAlreadyFrozen` if already frozen\n */\n freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns whether TTL configs are frozen.\n */\n is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n}\nexport class Client extends ContractClient {\n static async deploy<T = Client>(\n /** Constructor/Initialization Args for the contract's `__constructor` method */\n {sac_token, owner}: {sac_token: string, owner: string},\n /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */\n options: MethodOptions &\n Omit<ContractClientOptions, \"contractId\"> & {\n /** The hash of the Wasm blob, which must already be installed on-chain. */\n wasmHash: Buffer | string;\n /** Salt used to generate the contract's ID. Passed through to {@link Operation.createCustomContract}. Default: random. */\n salt?: Buffer | Uint8Array;\n /** The format used to decode `wasmHash`, if it's provided as a string. */\n format?: \"hex\" | \"base64\";\n }\n ): Promise<AssembledTransaction<T>> {\n return ContractClient.deploy({sac_token, owner}, options)\n }\n constructor(public readonly options: ContractClientOptions) {\n super(\n new ContractSpec([ \"AAAAAAAAAQxHcmFudHMgYSByb2xlIHRvIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byBncmFudCB0aGUgcm9sZSB0by4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBncmFudC4KKiBgY2FsbGVyYCAtIFRoZSBhY2NvdW50IHRoYXQgaXMgZ3JhbnRpbmcgdGhlIHJvbGUuIE11c3QgYmUgb3duZXIgb3IgaGF2ZSB0aGUgcm9sZSdzIGFkbWluIHJvbGUuAAAACmdyYW50X3JvbGUAAAAAAAMAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAA=\",\n \"AAAAAAAAARNSZXZva2VzIGEgcm9sZSBmcm9tIGFuIGFjY291bnQuIENhbGxlciBtdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgoKIyBBcmd1bWVudHMKKiBgYWNjb3VudGAgLSBUaGUgYWNjb3VudCB0byByZXZva2UgdGhlIHJvbGUgZnJvbS4KKiBgcm9sZWAgLSBUaGUgcm9sZSB0byByZXZva2UuCiogYGNhbGxlcmAgLSBUaGUgYWNjb3VudCB0aGF0IGlzIHJldm9raW5nIHRoZSByb2xlLiBNdXN0IGJlIG93bmVyIG9yIGhhdmUgdGhlIHJvbGUncyBhZG1pbiByb2xlLgAAAAALcmV2b2tlX3JvbGUAAAAAAwAAAAAAAAAHYWNjb3VudAAAAAATAAAAAAAAAARyb2xlAAAAEQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAA==\",\n \"AAAAAAAAAO1BbGxvd3MgYW4gYWNjb3VudCB0byByZW5vdW5jZSBhIHJvbGUgYXNzaWduZWQgdG8gaXRzZWxmLgpVc2VycyBjYW4gb25seSByZW5vdW5jZSByb2xlcyBmb3IgdGhlaXIgb3duIGFjY291bnQuCgojIEFyZ3VtZW50cwoqIGByb2xlYCAtIFRoZSByb2xlIHRvIHJlbm91bmNlLgoqIGBjYWxsZXJgIC0gVGhlIGFjY291bnQgdGhhdCBpcyByZW5vdW5jaW5nIHRoZSByb2xlLiBNdXN0IGJlIHRoZSBhY2NvdW50IGl0c2VsZi4AAAAAAAANcmVub3VuY2Vfcm9sZQAAAAAAAAIAAAAAAAAABHJvbGUAAAARAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAA\",\n \"AAAAAAAAAVdTZXRzIGBhZG1pbl9yb2xlYCBhcyB0aGUgYWRtaW4gcm9sZSBvZiBgcm9sZWAuIENhbGxlciBtdXN0IGJlIHRoZSBhdXRob3JpemVyLgoKIyBBcmd1bWVudHMKKiBgcm9sZWAgLSBUaGUgcm9sZSB0byBzZXQgdGhlIGFkbWluIGZvci4KKiBgYWRtaW5fcm9sZWAgLSBUaGUgYWRtaW4gcm9sZSB0byBzZXQgZm9yIHRoZSByb2xlLgoKIyBOb3RlcwoKVGhlIGFkbWluIHJvbGUgY2FuIGJlIGFueSBgU3ltYm9sYCwgaW5jbHVkaW5nIG9uZSB3aXRoIG5vIG1lbWJlcnMuIElmIHRoZSBhZG1pbgpyb2xlIGhhcyBubyBtZW1iZXJzLCBvbmx5IHRoZSBhdXRob3JpemVyIGNhbiBncmFudC9yZXZva2UgdGhlIHJvbGUuAAAAAA5zZXRfcm9sZV9hZG1pbgAAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAACmFkbWluX3JvbGUAAAAAABEAAAAA\",\n \"AAAAAAAAANhSZW1vdmVzIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmllZCByb2xlLiBDYWxsZXIgbXVzdCBiZSB0aGUgYXV0aG9yaXplci4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gcmVtb3ZlIHRoZSBhZG1pbiBmb3IuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6OkFkbWluUm9sZU5vdEZvdW5kYCAtIElmIG5vIGFkbWluIHJvbGUgaXMgc2V0IGZvciB0aGUgcm9sZS4AAAARcmVtb3ZlX3JvbGVfYWRtaW4AAAAAAAABAAAAAAAAAARyb2xlAAAAEQAAAAA=\",\n \"AAAAAAAAAPZSZXR1cm5zIGBTb21lKGluZGV4KWAgaWYgdGhlIGFjY291bnQgaGFzIHRoZSBzcGVjaWZpZWQgcm9sZSwgd2hlcmUgYGluZGV4YAppcyB0aGUgaW5kZXggb2YgdGhlIGFjY291bnQgaW4gdGhlIHJvbGUuIFJldHVybnMgYE5vbmVgIGlmIG5vdC4KCiMgQXJndW1lbnRzCiogYGFjY291bnRgIC0gVGhlIGFjY291bnQgdG8gY2hlY2sgdGhlIHJvbGUgZm9yLgoqIGByb2xlYCAtIFRoZSByb2xlIHRvIGNoZWNrIHRoZSBhY2NvdW50IGZvci4AAAAAAAhoYXNfcm9sZQAAAAIAAAAAAAAAB2FjY291bnQAAAAAEwAAAAAAAAAEcm9sZQAAABEAAAABAAAD6AAAAAQ=\",\n \"AAAAAAAAAHZSZXR1cm5zIHRoZSBhZG1pbiByb2xlIGZvciBhIHNwZWNpZmljIHJvbGUsIG9yIE5vbmUgaWYgbm90IHNldC4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBhZG1pbiBmb3IuAAAAAAAOZ2V0X3JvbGVfYWRtaW4AAAAAAAEAAAAAAAAABHJvbGUAAAARAAAAAQAAA+gAAAAR\",\n \"AAAAAAAAAHpSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWNjb3VudHMgdGhhdCBoYXZlIHRoZSBzcGVjaWZpZWQgcm9sZS4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBtZW1iZXIgY291bnQgZm9yLgAAAAAAFWdldF9yb2xlX21lbWJlcl9jb3VudAAAAAAAAAEAAAAAAAAABHJvbGUAAAARAAAAAQAAAAQ=\",\n \"AAAAAAAAAOlSZXR1cm5zIHRoZSBhY2NvdW50IGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggZm9yIGEgZ2l2ZW4gcm9sZS4KCiMgQXJndW1lbnRzCiogYHJvbGVgIC0gVGhlIHJvbGUgdG8gZ2V0IHRoZSBtZW1iZXIgZm9yLgoqIGBpbmRleGAgLSBUaGUgaW5kZXggb2YgdGhlIG1lbWJlciB0byBnZXQuCgojIEVycm9ycwoqIGBSYmFjRXJyb3I6OkluZGV4T3V0T2ZCb3VuZHNgIGlmIHRoZSBpbmRleCBpcyBvdXQgb2YgYm91bmRzLgAAAAAAAA9nZXRfcm9sZV9tZW1iZXIAAAAAAgAAAAAAAAAEcm9sZQAAABEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAT\",\n \"AAAAAAAAAPJSZXR1cm5zIGFsbCByb2xlcyB0aGF0IGN1cnJlbnRseSBoYXZlIGF0IGxlYXN0IG9uZSBtZW1iZXIuCkRlZmF1bHRzIHRvIGVtcHR5IHZlY3RvciBpZiBubyByb2xlcyBleGlzdC4KCiMgTm90ZXMKClRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbGwgcm9sZXMgdGhhdCBjdXJyZW50bHkgaGF2ZSBhdCBsZWFzdCBvbmUgbWVtYmVyLgpUaGUgbWF4aW11bSBudW1iZXIgb2Ygcm9sZXMgaXMgbGltaXRlZCBieSBbYE1BWF9ST0xFU2BdLgAAAAAAEmdldF9leGlzdGluZ19yb2xlcwAAAAAAAAAAAAEAAAPqAAAAEQ==\",\n \"AAAAAAAAAAAAAAAJc2V0X2FkbWluAAAAAAAAAgAAAAAAAAAJbmV3X2FkbWluAAAAAAAAEwAAAAAAAAAIb3BlcmF0b3IAAAATAAAAAA==\",\n \"AAAAAAAAAAAAAAAOc2V0X2F1dGhvcml6ZWQAAAAAAAMAAAAAAAAAAmlkAAAAAAATAAAAAAAAAAlhdXRob3JpemUAAAAAAAABAAAAAAAAAAhvcGVyYXRvcgAAABMAAAAA\",\n \"AAAAAAAAAAAAAAAIY2xhd2JhY2sAAAADAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAhvcGVyYXRvcgAAABMAAAAA\",\n \"AAAAAAAAAAAAAAAEbWludAAAAAMAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAACG9wZXJhdG9yAAAAEwAAAAA=\",\n \"AAAAAAAAALdDb25zdHJ1Y3RzIHRoZSBTQUMgbWFuYWdlciBjb250cmFjdC4KCiMgQXJndW1lbnRzCiogYHNhY190b2tlbmAgLSBUaGUgdW5kZXJseWluZyBTdGVsbGFyIEFzc2V0IENvbnRyYWN0IGFkZHJlc3MKKiBgb3duZXJgIC0gVGhlIGluaXRpYWwgb3duZXIgYWRkcmVzcyAoZm9yIFRUTCBtYW5hZ2VtZW50LCByb2xlIGdyYW50cykAAAAADV9fY29uc3RydWN0b3IAAAAAAAACAAAAAAAAAAlzYWNfdG9rZW4AAAAAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAA\",\n \"AAAAAAAAADxSZXR1cm5zIHRoZSB1bmRlcmx5aW5nIFNBQyAoU3RlbGxhciBBc3NldCBDb250cmFjdCkgYWRkcmVzcy4AAAAOdW5kZXJseWluZ19zYWMAAAAAAAAAAAABAAAAEw==\",\n \"AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEw==\",\n \"AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==\",\n \"AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==\",\n \"AAAAAAAAASlUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==\",\n \"AAAAAAAAAlpCZWdpbnMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAAAAAGGJlZ2luX293bmVyc2hpcF90cmFuc2ZlcgAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAA==\",\n \"AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=\",\n \"AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA\",\n \"AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==\",\n \"AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==\",\n \"AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==\",\n \"AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==\",\n \"AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==\",\n \"AAAAAgAAAAAAAAAAAAAAEVNBQ01hbmFnZXJTdG9yYWdlAAAAAAAAAQAAAAAAAAAAAAAACFNhY1Rva2Vu\",\n \"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp\",\n \"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=\",\n \"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=\",\n \"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAw=\",\n \"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==\",\n \"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBs=\",\n \"AAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELA==\",\n \"AAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQu\",\n \"AAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4=\",\n \"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC\",\n \"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=\",\n \"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==\",\n \"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC\",\n \"AAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIHJldm9rZWQuAAAAAAAAAAAAAAtSb2xlUmV2b2tlZAAAAAABAAAADHJvbGVfcmV2b2tlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACtFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGFkbWluIGlzIGNoYW5nZWQuAAAAAAAAAAAQUm9sZUFkbWluQ2hhbmdlZAAAAAEAAAAScm9sZV9hZG1pbl9jaGFuZ2VkAAAAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAE3ByZXZpb3VzX2FkbWluX3JvbGUAAAAD6AAAABEAAAAAAAAAAAAAAA5uZXdfYWRtaW5fcm9sZQAAAAAD6AAAABEAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAC1JiYWNTdG9yYWdlAAAAAAUAAAAAAAAAAAAAAA1FeGlzdGluZ1JvbGVzAAAAAAAAAQAAAAAAAAASUm9sZUluZGV4VG9BY2NvdW50AAAAAAACAAAAEQAAAAQAAAABAAAAAAAAABJSb2xlQWNjb3VudFRvSW5kZXgAAAAAAAIAAAARAAAAEwAAAAEAAAAAAAAAEVJvbGVBY2NvdW50c0NvdW50AAAAAAAAAQAAABEAAAABAAAAAAAAAAlSb2xlQWRtaW4AAAAAAAABAAAAEQ==\",\n \"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=\",\n \"AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==\",\n \"AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA==\" ]),\n options\n )\n }\n public readonly fromJSON = {\n grant_role: this.txFromJSON<null>,\n revoke_role: this.txFromJSON<null>,\n renounce_role: this.txFromJSON<null>,\n set_role_admin: this.txFromJSON<null>,\n remove_role_admin: this.txFromJSON<null>,\n has_role: this.txFromJSON<Option<u32>>,\n get_role_admin: this.txFromJSON<Option<string>>,\n get_role_member_count: this.txFromJSON<u32>,\n get_role_member: this.txFromJSON<string>,\n get_existing_roles: this.txFromJSON<Array<string>>,\n set_admin: this.txFromJSON<null>,\n set_authorized: this.txFromJSON<null>,\n clawback: this.txFromJSON<null>,\n mint: this.txFromJSON<null>,\n underlying_sac: this.txFromJSON<string>,\n authorizer: this.txFromJSON<Option<string>>,\n owner: this.txFromJSON<Option<string>>,\n pending_owner: this.txFromJSON<Option<string>>,\n transfer_ownership: this.txFromJSON<null>,\n begin_ownership_transfer: this.txFromJSON<null>,\n accept_ownership: this.txFromJSON<null>,\n renounce_ownership: this.txFromJSON<null>,\n extend_instance_ttl: this.txFromJSON<null>,\n set_ttl_configs: this.txFromJSON<null>,\n ttl_configs: this.txFromJSON<readonly [Option<TtlConfig>, Option<TtlConfig>]>,\n freeze_ttl_configs: this.txFromJSON<null>,\n is_ttl_configs_frozen: this.txFromJSON<boolean>\n }\n}"]}