{ "name": "AbstractedAccount", "desc": "", "methods": [ { "name": "createApplication", "desc": "Create an abstracted account application.\nThis is not part of ARC58 and implementation specific.", "args": [ { "name": "controlledAddress", "type": "address", "desc": "The address of the abstracted account. If zeroAddress, then the address of the contract account will be used" }, { "name": "admin", "type": "address", "desc": "The admin for this app" } ], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "arc58_changeAdmin", "desc": "Attempt to change the admin for this app. Some implementations MAY not support this.", "args": [ { "name": "newAdmin", "type": "address", "desc": "The new admin" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_pluginChangeAdmin", "desc": "Attempt to change the admin via plugin.", "args": [ { "name": "plugin", "type": "uint64", "desc": "The app calling the plugin" }, { "name": "allowedCaller", "type": "address", "desc": "The address that triggered the plugin" }, { "name": "newAdmin", "type": "address", "desc": "The new admin" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_getAdmin", "desc": "Get the admin of this app. This method SHOULD always be used rather than reading directly from state\nbecause different implementations may have different ways of determining the admin.", "args": [], "returns": { "type": "address" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_verifyAuthAddr", "desc": "Verify the abstracted account is rekeyed to this app", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_rekeyTo", "desc": "Rekey the abstracted account to another address. Primarily useful for rekeying to an EOA.", "args": [ { "name": "addr", "type": "address", "desc": "The address to rekey to" }, { "name": "flash", "type": "bool", "desc": "Whether or not this should be a flash rekey. If true, the rekey back to the app address must done in the same txn group as this call" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_rekeyToPlugin", "desc": "Temporarily rekey to an approved plugin app address", "args": [ { "name": "plugin", "type": "uint64", "desc": "The app to rekey to" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_rekeyToNamedPlugin", "desc": "Temporarily rekey to a named plugin app address", "args": [ { "name": "name", "type": "string", "desc": "The name of the plugin to rekey to" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_addPlugin", "desc": "Add an app to the list of approved plugins", "args": [ { "name": "app", "type": "uint64", "desc": "The app to add" }, { "name": "allowedCaller", "type": "address", "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses" }, { "name": "lastValidRound", "type": "uint64", "desc": "The round when the permission expires" }, { "name": "cooldown", "type": "uint64", "desc": "The number of rounds that must pass before the plugin can be called again" }, { "name": "adminPrivileges", "type": "bool", "desc": "Whether the plugin has permissions to change the admin account" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_removePlugin", "desc": "Remove an app from the list of approved plugins", "args": [ { "name": "app", "type": "uint64", "desc": "The app to remove" }, { "name": "allowedCaller", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_addNamedPlugin", "desc": "Add a named plugin", "args": [ { "name": "name", "type": "string", "desc": "The plugin name" }, { "name": "app", "type": "uint64", "desc": "The plugin app" }, { "name": "allowedCaller", "type": "address", "desc": "The address of that's allowed to call the app\nor the global zero address for all addresses" }, { "name": "lastValidRound", "type": "uint64", "desc": "The round when the permission expires" }, { "name": "cooldown", "type": "uint64", "desc": "The number of rounds that must pass before the plugin can be called again" }, { "name": "adminPrivileges", "type": "bool", "desc": "Whether the plugin has permissions to change the admin account" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc58_removeNamedPlugin", "desc": "Remove a named plugin", "args": [ { "name": "name", "type": "string", "desc": "The plugin name" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": { "PluginInfo": [ { "name": "lastValidRound", "type": "uint64" }, { "name": "cooldown", "type": "uint64" }, { "name": "lastCalled", "type": "uint64" }, { "name": "adminPrivileges", "type": "bool" } ], "PluginsKey": [ { "name": "application", "type": "uint64" }, { "name": "allowedCaller", "type": "address" } ] }, "state": { "schema": { "global": { "bytes": 2, "ints": 0 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "admin": { "key": "YQ==", "keyType": "AVMBytes", "valueType": "address" }, "controlledAddress": { "key": "Yw==", "keyType": "AVMBytes", "valueType": "address" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "plugins": { "keyType": "PluginsKey", "valueType": "PluginInfo", "prefix": "cA==" }, "namedPlugins": { "keyType": "AVMBytes", "valueType": "PluginsKey", "prefix": "bg==" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 0 ] }, { "teal": 2, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1, 2, 3, 4, 5, 6 ] }, { "teal": 3, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 ] }, { "teal": 15, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 34, 35 ] }, { "teal": 16, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 36 ] }, { "teal": 17, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 37 ] }, { "teal": 18, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 38 ] }, { "teal": 19, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 39, 40 ] }, { "teal": 20, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 41 ] }, { "teal": 21, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 ] }, { "teal": 25, "source": "examples/arc58/arc58.algo.ts:21", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 68 ] }, { "teal": 31, "source": "examples/arc58/arc58.algo.ts:44", "pc": [ 69, 70, 71 ] }, { "teal": 34, "source": "examples/arc58/arc58.algo.ts:44", "pc": [ 72 ] }, { "teal": 35, "source": "examples/arc58/arc58.algo.ts:44", "pc": [ 73, 74 ] }, { "teal": 39, "source": "examples/arc58/arc58.algo.ts:45", "pc": [ 75 ] }, { "teal": 40, "source": "examples/arc58/arc58.algo.ts:45", "pc": [ 76, 77 ] }, { "teal": 44, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 78, 79 ] }, { "teal": 45, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 80, 81 ] }, { "teal": 50, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 82, 83 ] }, { "teal": 51, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 84, 85 ] }, { "teal": 52, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 86 ] }, { "teal": 53, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 87, 88, 89 ] }, { "teal": 57, "source": "examples/arc58/arc58.algo.ts:48", "pc": [ 90, 91 ] }, { "teal": 58, "source": "examples/arc58/arc58.algo.ts:48", "pc": [ 92, 93 ] }, { "teal": 63, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 94, 95 ] }, { "teal": 64, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 96, 97 ] }, { "teal": 65, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 98 ] }, { "teal": 66, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 99 ] }, { "teal": 67, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 100 ] }, { "teal": 68, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 101 ] }, { "teal": 69, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 102, 103, 104 ] }, { "teal": 70, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 105, 106 ] }, { "teal": 71, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 107, 108 ] }, { "teal": 72, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 109 ] }, { "teal": 73, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 110 ] }, { "teal": 74, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 111 ] }, { "teal": 75, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 112 ] }, { "teal": 78, "source": "examples/arc58/arc58.algo.ts:51", "pc": [ 113, 114, 115 ] }, { "teal": 83, "source": "examples/arc58/arc58.algo.ts:52", "pc": [ 116 ] }, { "teal": 84, "source": "examples/arc58/arc58.algo.ts:52", "pc": [ 117, 118 ] }, { "teal": 85, "source": "examples/arc58/arc58.algo.ts:53", "pc": [ 119, 120, 121 ] }, { "teal": 94, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 122, 123 ] }, { "teal": 95, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 124, 125 ] }, { "teal": 96, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 126 ] }, { "teal": 97, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 127 ] }, { "teal": 98, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 128 ] }, { "teal": 99, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 129, 130, 131 ] }, { "teal": 100, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 132, 133 ] }, { "teal": 101, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 134, 135 ] }, { "teal": 102, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 136, 137, 138 ] }, { "teal": 103, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 139 ] }, { "teal": 104, "source": "examples/arc58/arc58.algo.ts:58", "pc": [ 140 ] }, { "teal": 107, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 141 ] }, { "teal": 108, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 142, 143, 144 ] }, { "teal": 109, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 145, 146 ] }, { "teal": 110, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 147, 148 ] }, { "teal": 111, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 149 ] }, { "teal": 112, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 150 ] }, { "teal": 113, "source": "examples/arc58/arc58.algo.ts:59", "pc": [ 151 ] }, { "teal": 116, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 152 ] }, { "teal": 117, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 153, 154, 155 ] }, { "teal": 118, "source": "examples/arc58/arc58.algo.ts:61", "pc": [ 156, 157 ] }, { "teal": 119, "source": "examples/arc58/arc58.algo.ts:61", "pc": [ 158, 159, 160 ] }, { "teal": 120, "source": "examples/arc58/arc58.algo.ts:61", "pc": [ 161, 162 ] }, { "teal": 121, "source": "examples/arc58/arc58.algo.ts:61", "pc": [ 163 ] }, { "teal": 122, "source": "examples/arc58/arc58.algo.ts:60", "pc": [ 164 ] }, { "teal": 125, "source": "examples/arc58/arc58.algo.ts:57", "pc": [ 165, 166, 167 ] }, { "teal": 130, "source": "examples/arc58/arc58.algo.ts:63", "pc": [ 168 ] }, { "teal": 131, "source": "examples/arc58/arc58.algo.ts:63", "pc": [ 169, 170 ] }, { "teal": 132, "source": "examples/arc58/arc58.algo.ts:64", "pc": [ 171, 172, 173 ] }, { "teal": 139, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 174, 175 ] }, { "teal": 140, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 176 ] }, { "teal": 141, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 177 ] }, { "teal": 142, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 178, 179 ] }, { "teal": 143, "source": "examples/arc58/arc58.algo.ts:47", "pc": [ 180, 181, 182 ] }, { "teal": 148, "source": "examples/arc58/arc58.algo.ts:68", "pc": [ 183, 184 ] }, { "teal": 149, "source": "examples/arc58/arc58.algo.ts:68", "pc": [ 185 ] }, { "teal": 150, "source": "examples/arc58/arc58.algo.ts:44", "pc": [ 186 ] }, { "teal": 157, "source": "examples/arc58/arc58.algo.ts:75", "pc": [ 187, 188, 189 ] }, { "teal": 161, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 190 ] }, { "teal": 162, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 191 ] }, { "teal": 163, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 192, 193 ] }, { "teal": 164, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 194 ] }, { "teal": 165, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 195, 196, 197 ] }, { "teal": 166, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 198, 199 ] }, { "teal": 167, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 200, 201, 202 ] }, { "teal": 170, "source": "examples/arc58/arc58.algo.ts:76", "pc": [ 203, 204 ] }, { "teal": 173, "source": "examples/arc58/arc58.algo.ts:75", "pc": [ 205 ] }, { "teal": 178, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 206, 207, 208 ] }, { "teal": 179, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 209 ] }, { "teal": 180, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 210 ] }, { "teal": 181, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 211 ] }, { "teal": 182, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 212 ] }, { "teal": 185, "source": "examples/arc58/arc58.algo.ts:86", "errorMessage": "argument 0 (admin) for createApplication must be a address", "pc": [ 213 ] }, { "teal": 188, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 214, 215, 216 ] }, { "teal": 189, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 217 ] }, { "teal": 190, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 218 ] }, { "teal": 191, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 219 ] }, { "teal": 192, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 220 ] }, { "teal": 195, "source": "examples/arc58/arc58.algo.ts:86", "errorMessage": "argument 1 (controlledAddress) for createApplication must be a address", "pc": [ 221 ] }, { "teal": 198, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 222, 223, 224 ] }, { "teal": 199, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 225 ] }, { "teal": 200, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 226 ] }, { "teal": 210, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 227, 228, 229 ] }, { "teal": 217, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 230, 231 ] }, { "teal": 218, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 232, 233 ] }, { "teal": 219, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 234 ] }, { "teal": 220, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 235, 236 ] }, { "teal": 221, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 237, 238 ] }, { "teal": 222, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 239 ] }, { "teal": 223, "source": "examples/arc58/arc58.algo.ts:88", "pc": [ 240 ] }, { "teal": 226, "source": "examples/arc58/arc58.algo.ts:88", "errorMessage": "transaction verification failed: {\"txn\":{\"txnText\":\"this.txn\"},\"field\":\"sender\",\"condition\":\"includedIn\",\"expected\":\"[controlledAddress, admin]\"}", "pc": [ 241 ] }, { "teal": 230, "source": "examples/arc58/arc58.algo.ts:91", "pc": [ 242, 243 ] }, { "teal": 231, "source": "examples/arc58/arc58.algo.ts:91", "pc": [ 244, 245 ] }, { "teal": 232, "source": "examples/arc58/arc58.algo.ts:91", "pc": [ 246 ] }, { "teal": 233, "source": "examples/arc58/arc58.algo.ts:91", "pc": [ 247 ] }, { "teal": 237, "source": "examples/arc58/arc58.algo.ts:93", "pc": [ 248 ] }, { "teal": 238, "source": "examples/arc58/arc58.algo.ts:93", "pc": [ 249, 250 ] }, { "teal": 239, "source": "examples/arc58/arc58.algo.ts:93", "pc": [ 251 ] }, { "teal": 243, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 252 ] }, { "teal": 244, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 253, 254 ] }, { "teal": 245, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 255, 256 ] }, { "teal": 246, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 257 ] }, { "teal": 247, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 258, 259, 260 ] }, { "teal": 248, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 261, 262 ] }, { "teal": 249, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 263, 264, 265 ] }, { "teal": 252, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 266, 267 ] }, { "teal": 255, "source": "examples/arc58/arc58.algo.ts:94", "pc": [ 268 ] }, { "teal": 256, "source": "examples/arc58/arc58.algo.ts:86", "pc": [ 269 ] }, { "teal": 261, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 270, 271, 272 ] }, { "teal": 262, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 273 ] }, { "teal": 263, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 274 ] }, { "teal": 264, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 275 ] }, { "teal": 265, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 276 ] }, { "teal": 268, "source": "examples/arc58/arc58.algo.ts:102", "errorMessage": "argument 0 (newAdmin) for arc58_changeAdmin must be a address", "pc": [ 277 ] }, { "teal": 271, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 278, 279, 280 ] }, { "teal": 272, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 281 ] }, { "teal": 273, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 282 ] }, { "teal": 281, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 283, 284, 285 ] }, { "teal": 286, "source": "examples/arc58/arc58.algo.ts:103", "pc": [ 286, 287 ] }, { "teal": 287, "source": "examples/arc58/arc58.algo.ts:103", "pc": [ 288 ] }, { "teal": 288, "source": "examples/arc58/arc58.algo.ts:103", "pc": [ 289 ] }, { "teal": 289, "source": "examples/arc58/arc58.algo.ts:103", "pc": [ 290 ] }, { "teal": 292, "source": "examples/arc58/arc58.algo.ts:103", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 291 ] }, { "teal": 296, "source": "examples/arc58/arc58.algo.ts:104", "pc": [ 292 ] }, { "teal": 297, "source": "examples/arc58/arc58.algo.ts:104", "pc": [ 293, 294 ] }, { "teal": 298, "source": "examples/arc58/arc58.algo.ts:104", "pc": [ 295 ] }, { "teal": 299, "source": "examples/arc58/arc58.algo.ts:102", "pc": [ 296 ] }, { "teal": 304, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 297, 298, 299 ] }, { "teal": 305, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 300 ] }, { "teal": 306, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 301 ] }, { "teal": 307, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 302 ] }, { "teal": 308, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 303 ] }, { "teal": 311, "source": "examples/arc58/arc58.algo.ts:115", "errorMessage": "argument 0 (newAdmin) for arc58_pluginChangeAdmin must be a address", "pc": [ 304 ] }, { "teal": 314, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 305, 306, 307 ] }, { "teal": 315, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 308 ] }, { "teal": 316, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 309 ] }, { "teal": 317, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 310 ] }, { "teal": 318, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 311 ] }, { "teal": 321, "source": "examples/arc58/arc58.algo.ts:115", "errorMessage": "argument 1 (allowedCaller) for arc58_pluginChangeAdmin must be a address", "pc": [ 312 ] }, { "teal": 324, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 313, 314, 315 ] }, { "teal": 325, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 316 ] }, { "teal": 328, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 317, 318, 319 ] }, { "teal": 329, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 320 ] }, { "teal": 330, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 321 ] }, { "teal": 340, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 322, 323, 324 ] }, { "teal": 343, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 325 ] }, { "teal": 348, "source": "examples/arc58/arc58.algo.ts:116", "pc": [ 326, 327 ] }, { "teal": 349, "source": "examples/arc58/arc58.algo.ts:116", "pc": [ 328, 329 ] }, { "teal": 350, "source": "examples/arc58/arc58.algo.ts:116", "pc": [ 330, 331 ] }, { "teal": 351, "source": "examples/arc58/arc58.algo.ts:116", "pc": [ 332 ] }, { "teal": 352, "source": "examples/arc58/arc58.algo.ts:116", "pc": [ 333 ] }, { "teal": 355, "source": "examples/arc58/arc58.algo.ts:116", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"plugin.address\"}", "pc": [ 334 ] }, { "teal": 359, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 335 ] }, { "teal": 360, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 336 ] }, { "teal": 361, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 337, 338 ] }, { "teal": 362, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 339 ] }, { "teal": 363, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 340, 341 ] }, { "teal": 364, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 342, 343 ] }, { "teal": 365, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 344 ] }, { "teal": 366, "source": "examples/arc58/arc58.algo.ts:117", "pc": [ 345 ] }, { "teal": 369, "source": "examples/arc58/arc58.algo.ts:117", "errorMessage": "This plugin is not in control of the account", "pc": [ 346 ] }, { "teal": 373, "source": "examples/arc58/arc58.algo.ts:119", "pc": [ 347, 348 ] }, { "teal": 374, "source": "examples/arc58/arc58.algo.ts:119", "pc": [ 349 ] }, { "teal": 375, "source": "examples/arc58/arc58.algo.ts:119", "pc": [ 350, 351 ] }, { "teal": 376, "source": "examples/arc58/arc58.algo.ts:119", "pc": [ 352 ] }, { "teal": 377, "source": "examples/arc58/arc58.algo.ts:119", "pc": [ 353, 354 ] }, { "teal": 384, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 355 ] }, { "teal": 385, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 356, 357 ] }, { "teal": 386, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 358 ] }, { "teal": 387, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 359 ] }, { "teal": 388, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 360 ] }, { "teal": 389, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 361 ] }, { "teal": 390, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 362 ] }, { "teal": 391, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 363, 364, 365 ] }, { "teal": 392, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 366 ] }, { "teal": 393, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 367, 368 ] }, { "teal": 394, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 369 ] }, { "teal": 395, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 370 ] }, { "teal": 398, "source": "examples/arc58/arc58.algo.ts:121", "errorMessage": "box value does not exist: this.plugins(key).value", "pc": [ 371 ] }, { "teal": 399, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 372, 373 ] }, { "teal": 400, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 374, 375 ] }, { "teal": 401, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 376, 377, 378 ] }, { "teal": 402, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 379 ] }, { "teal": 403, "source": "examples/arc58/arc58.algo.ts:121", "pc": [ 380 ] }, { "teal": 407, "source": "examples/arc58/arc58.algo.ts:120", "errorMessage": "This plugin does not have admin privileges", "pc": [ 381 ] }, { "teal": 411, "source": "examples/arc58/arc58.algo.ts:125", "pc": [ 382 ] }, { "teal": 412, "source": "examples/arc58/arc58.algo.ts:125", "pc": [ 383, 384 ] }, { "teal": 413, "source": "examples/arc58/arc58.algo.ts:125", "pc": [ 385 ] }, { "teal": 414, "source": "examples/arc58/arc58.algo.ts:115", "pc": [ 386 ] }, { "teal": 419, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 387, 388, 389, 390, 391, 392 ] }, { "teal": 422, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 393, 394, 395 ] }, { "teal": 423, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 396 ] }, { "teal": 424, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 397 ] }, { "teal": 425, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 398 ] }, { "teal": 426, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 399 ] }, { "teal": 433, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 400, 401, 402 ] }, { "teal": 437, "source": "examples/arc58/arc58.algo.ts:133", "pc": [ 403 ] }, { "teal": 438, "source": "examples/arc58/arc58.algo.ts:133", "pc": [ 404 ] }, { "teal": 439, "source": "examples/arc58/arc58.algo.ts:132", "pc": [ 405 ] }, { "teal": 444, "source": "examples/arc58/arc58.algo.ts:139", "pc": [ 406, 407, 408 ] }, { "teal": 445, "source": "examples/arc58/arc58.algo.ts:139", "pc": [ 409 ] }, { "teal": 446, "source": "examples/arc58/arc58.algo.ts:139", "pc": [ 410 ] }, { "teal": 452, "source": "examples/arc58/arc58.algo.ts:139", "pc": [ 411, 412, 413 ] }, { "teal": 456, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 414 ] }, { "teal": 457, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 415 ] }, { "teal": 458, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 416, 417 ] }, { "teal": 459, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 418 ] }, { "teal": 460, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 419, 420, 421 ] }, { "teal": 461, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 422 ] }, { "teal": 462, "source": "examples/arc58/arc58.algo.ts:140", "pc": [ 423 ] }, { "teal": 463, "source": "examples/arc58/arc58.algo.ts:139", "pc": [ 424 ] }, { "teal": 468, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 425, 426, 427 ] }, { "teal": 469, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 428 ] }, { "teal": 470, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 429 ] }, { "teal": 471, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 430 ] }, { "teal": 472, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 431 ] }, { "teal": 475, "source": "examples/arc58/arc58.algo.ts:149", "errorMessage": "argument 0 (flash) for arc58_rekeyTo must be a bool", "pc": [ 432 ] }, { "teal": 476, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 433 ] }, { "teal": 477, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 434 ] }, { "teal": 480, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 435, 436, 437 ] }, { "teal": 481, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 438 ] }, { "teal": 482, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 439 ] }, { "teal": 483, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 440 ] }, { "teal": 484, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 441 ] }, { "teal": 487, "source": "examples/arc58/arc58.algo.ts:149", "errorMessage": "argument 1 (addr) for arc58_rekeyTo must be a address", "pc": [ 442 ] }, { "teal": 490, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 443, 444, 445 ] }, { "teal": 491, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 446 ] }, { "teal": 492, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 447 ] }, { "teal": 501, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 448, 449, 450 ] }, { "teal": 506, "source": "examples/arc58/arc58.algo.ts:150", "pc": [ 451, 452 ] }, { "teal": 507, "source": "examples/arc58/arc58.algo.ts:150", "pc": [ 453 ] }, { "teal": 508, "source": "examples/arc58/arc58.algo.ts:150", "pc": [ 454 ] }, { "teal": 509, "source": "examples/arc58/arc58.algo.ts:150", "pc": [ 455 ] }, { "teal": 512, "source": "examples/arc58/arc58.algo.ts:150", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 456 ] }, { "teal": 521, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 457 ] }, { "teal": 522, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 458 ] }, { "teal": 523, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 459, 460 ] }, { "teal": 527, "source": "examples/arc58/arc58.algo.ts:153", "pc": [ 461 ] }, { "teal": 528, "source": "examples/arc58/arc58.algo.ts:153", "pc": [ 462 ] }, { "teal": 529, "source": "examples/arc58/arc58.algo.ts:153", "pc": [ 463, 464 ] }, { "teal": 533, "source": "examples/arc58/arc58.algo.ts:154", "pc": [ 465, 466 ] }, { "teal": 534, "source": "examples/arc58/arc58.algo.ts:154", "pc": [ 467, 468 ] }, { "teal": 538, "source": "examples/arc58/arc58.algo.ts:155", "pc": [ 469, 470 ] }, { "teal": 539, "source": "examples/arc58/arc58.algo.ts:155", "pc": [ 471, 472 ] }, { "teal": 543, "source": "examples/arc58/arc58.algo.ts:156", "pc": [ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501 ] }, { "teal": 544, "source": "examples/arc58/arc58.algo.ts:156", "pc": [ 502, 503 ] }, { "teal": 547, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 504 ] }, { "teal": 548, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 505, 506 ] }, { "teal": 551, "source": "examples/arc58/arc58.algo.ts:152", "pc": [ 507 ] }, { "teal": 556, "source": "examples/arc58/arc58.algo.ts:159", "pc": [ 508, 509 ] }, { "teal": 557, "source": "examples/arc58/arc58.algo.ts:159", "pc": [ 510, 511, 512 ] }, { "teal": 562, "source": "examples/arc58/arc58.algo.ts:159", "pc": [ 513, 514, 515 ] }, { "teal": 565, "source": "examples/arc58/arc58.algo.ts:149", "pc": [ 516 ] }, { "teal": 569, "source": "examples/arc58/arc58.algo.ts:162", "pc": [ 517, 518, 519 ] }, { "teal": 572, "source": "examples/arc58/arc58.algo.ts:162", "pc": [ 520 ] }, { "teal": 576, "source": "examples/arc58/arc58.algo.ts:163", "pc": [ 521, 522 ] }, { "teal": 577, "source": "examples/arc58/arc58.algo.ts:163", "pc": [ 523 ] }, { "teal": 578, "source": "examples/arc58/arc58.algo.ts:163", "pc": [ 524, 525 ] }, { "teal": 579, "source": "examples/arc58/arc58.algo.ts:163", "pc": [ 526 ] }, { "teal": 580, "source": "examples/arc58/arc58.algo.ts:163", "pc": [ 527, 528 ] }, { "teal": 588, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 529 ] }, { "teal": 589, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 530, 531 ] }, { "teal": 590, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 532 ] }, { "teal": 591, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 533 ] }, { "teal": 592, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 534 ] }, { "teal": 593, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 535 ] }, { "teal": 594, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 536 ] }, { "teal": 595, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 537, 538, 539 ] }, { "teal": 596, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 540 ] }, { "teal": 597, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 541, 542 ] }, { "teal": 598, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 543 ] }, { "teal": 599, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 544 ] }, { "teal": 602, "source": "examples/arc58/arc58.algo.ts:167", "errorMessage": "box value does not exist: this.plugins(key).value", "pc": [ 545 ] }, { "teal": 603, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 546, 547 ] }, { "teal": 604, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 548, 549 ] }, { "teal": 605, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 550, 551, 552 ] }, { "teal": 606, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 553 ] }, { "teal": 607, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 554, 555 ] }, { "teal": 608, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 556 ] }, { "teal": 609, "source": "examples/arc58/arc58.algo.ts:166", "pc": [ 557 ] }, { "teal": 612, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 558 ] }, { "teal": 613, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 559, 560, 561 ] }, { "teal": 614, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 562, 563 ] }, { "teal": 615, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 564 ] }, { "teal": 616, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 565, 566 ] }, { "teal": 617, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 567 ] }, { "teal": 618, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 568 ] }, { "teal": 621, "source": "examples/arc58/arc58.algo.ts:168", "errorMessage": "box value does not exist: this.plugins(key).value", "pc": [ 569 ] }, { "teal": 622, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 570, 571 ] }, { "teal": 623, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 572, 573 ] }, { "teal": 624, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 574, 575, 576 ] }, { "teal": 625, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 577 ] }, { "teal": 626, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 578 ] }, { "teal": 627, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 579 ] }, { "teal": 628, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 580, 581 ] }, { "teal": 629, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 582 ] }, { "teal": 630, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 583 ] }, { "teal": 633, "source": "examples/arc58/arc58.algo.ts:168", "errorMessage": "box value does not exist: this.plugins(key).value", "pc": [ 584 ] }, { "teal": 634, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 585, 586 ] }, { "teal": 635, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 587, 588 ] }, { "teal": 636, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 589, 590, 591 ] }, { "teal": 637, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 592 ] }, { "teal": 638, "source": "examples/arc58/arc58.algo.ts:168", "pc": [ 593 ] }, { "teal": 639, "source": "examples/arc58/arc58.algo.ts:167", "pc": [ 594 ] }, { "teal": 643, "source": "examples/arc58/arc58.algo.ts:162", "pc": [ 595, 596 ] }, { "teal": 644, "source": "examples/arc58/arc58.algo.ts:162", "pc": [ 597 ] }, { "teal": 649, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 598, 599, 600 ] }, { "teal": 650, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 601 ] }, { "teal": 653, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 602, 603, 604 ] }, { "teal": 654, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 605 ] }, { "teal": 655, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 606 ] }, { "teal": 663, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 607, 608, 609 ] }, { "teal": 666, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 610 ] }, { "teal": 670, "source": "examples/arc58/arc58.algo.ts:178", "pc": [ 611, 612 ] }, { "teal": 671, "source": "examples/arc58/arc58.algo.ts:178", "pc": [ 613, 614 ] }, { "teal": 672, "source": "examples/arc58/arc58.algo.ts:178", "pc": [ 615, 616, 617 ] }, { "teal": 673, "source": "examples/arc58/arc58.algo.ts:178", "pc": [ 618, 619 ] }, { "teal": 678, "source": "examples/arc58/arc58.algo.ts:180", "pc": [ 620, 621 ] }, { "teal": 679, "source": "examples/arc58/arc58.algo.ts:180", "pc": [ 622 ] }, { "teal": 680, "source": "examples/arc58/arc58.algo.ts:180", "pc": [ 623, 624, 625 ] }, { "teal": 685, "source": "examples/arc58/arc58.algo.ts:181", "pc": [ 626, 627 ] }, { "teal": 686, "source": "examples/arc58/arc58.algo.ts:181", "pc": [ 628, 629 ] }, { "teal": 687, "source": "examples/arc58/arc58.algo.ts:181", "pc": [ 630, 631, 632 ] }, { "teal": 690, "source": "examples/arc58/arc58.algo.ts:181", "errorMessage": "This sender is not allowed to trigger this plugin", "pc": [ 633 ] }, { "teal": 700, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 634 ] }, { "teal": 701, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 635 ] }, { "teal": 702, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 636, 637 ] }, { "teal": 706, "source": "examples/arc58/arc58.algo.ts:184", "pc": [ 638 ] }, { "teal": 707, "source": "examples/arc58/arc58.algo.ts:184", "pc": [ 639 ] }, { "teal": 708, "source": "examples/arc58/arc58.algo.ts:184", "pc": [ 640, 641 ] }, { "teal": 712, "source": "examples/arc58/arc58.algo.ts:185", "pc": [ 642 ] }, { "teal": 713, "source": "examples/arc58/arc58.algo.ts:185", "pc": [ 643 ] }, { "teal": 714, "source": "examples/arc58/arc58.algo.ts:185", "pc": [ 644, 645 ] }, { "teal": 718, "source": "examples/arc58/arc58.algo.ts:186", "pc": [ 646, 647 ] }, { "teal": 719, "source": "examples/arc58/arc58.algo.ts:186", "pc": [ 648, 649 ] }, { "teal": 720, "source": "examples/arc58/arc58.algo.ts:186", "pc": [ 650 ] }, { "teal": 721, "source": "examples/arc58/arc58.algo.ts:186", "pc": [ 651, 652 ] }, { "teal": 725, "source": "examples/arc58/arc58.algo.ts:187", "pc": [ 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676 ] }, { "teal": 726, "source": "examples/arc58/arc58.algo.ts:187", "pc": [ 677, 678 ] }, { "teal": 729, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 679 ] }, { "teal": 730, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 680, 681 ] }, { "teal": 733, "source": "examples/arc58/arc58.algo.ts:183", "pc": [ 682 ] }, { "teal": 740, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 683 ] }, { "teal": 741, "source": "examples/arc58/arc58.algo.ts:191", "pc": [ 684, 685 ] }, { "teal": 742, "source": "examples/arc58/arc58.algo.ts:191", "pc": [ 686 ] }, { "teal": 743, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 687, 688 ] }, { "teal": 744, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 689, 690, 691 ] }, { "teal": 745, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 692, 693 ] }, { "teal": 746, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 694, 695, 696 ] }, { "teal": 749, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 697, 698 ] }, { "teal": 752, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 699 ] }, { "teal": 753, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 700 ] }, { "teal": 754, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 701 ] }, { "teal": 757, "source": "examples/arc58/arc58.algo.ts:190", "errorMessage": "box value does not exist: this.plugins({ application: plugin, allowedCaller: globalAllowed ? Address.zeroAddress : this.txn.sender, }).value", "pc": [ 702 ] }, { "teal": 758, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 703, 704 ] }, { "teal": 759, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 705, 706 ] }, { "teal": 760, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 707, 708 ] }, { "teal": 761, "source": "examples/arc58/arc58.algo.ts:193", "pc": [ 709, 710 ] }, { "teal": 762, "source": "examples/arc58/arc58.algo.ts:193", "pc": [ 711 ] }, { "teal": 763, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 712 ] }, { "teal": 764, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 713 ] }, { "teal": 765, "source": "examples/arc58/arc58.algo.ts:191", "pc": [ 714, 715 ] }, { "teal": 766, "source": "examples/arc58/arc58.algo.ts:191", "pc": [ 716 ] }, { "teal": 767, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 717, 718 ] }, { "teal": 768, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 719, 720, 721 ] }, { "teal": 769, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 722, 723 ] }, { "teal": 770, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 724, 725, 726 ] }, { "teal": 773, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 727, 728 ] }, { "teal": 776, "source": "examples/arc58/arc58.algo.ts:192", "pc": [ 729 ] }, { "teal": 777, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 730 ] }, { "teal": 778, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 731 ] }, { "teal": 779, "source": "examples/arc58/arc58.algo.ts:190", "pc": [ 732 ] }, { "teal": 783, "source": "examples/arc58/arc58.algo.ts:195", "pc": [ 733, 734, 735 ] }, { "teal": 784, "source": "examples/arc58/arc58.algo.ts:177", "pc": [ 736 ] }, { "teal": 789, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 737, 738, 739 ] }, { "teal": 790, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 740, 741, 742 ] }, { "teal": 793, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 743, 744, 745 ] }, { "teal": 794, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 746 ] }, { "teal": 795, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 747 ] }, { "teal": 803, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 748, 749, 750 ] }, { "teal": 807, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 751 ] }, { "teal": 808, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 752, 753 ] }, { "teal": 809, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 754, 755 ] }, { "teal": 810, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 756, 757 ] }, { "teal": 811, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 758 ] }, { "teal": 812, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 759, 760 ] }, { "teal": 813, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 761 ] }, { "teal": 814, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 762 ] }, { "teal": 815, "source": "examples/arc58/arc58.algo.ts:204", "pc": [ 763, 764, 765 ] }, { "teal": 816, "source": "examples/arc58/arc58.algo.ts:203", "pc": [ 766 ] }, { "teal": 821, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 767, 768, 769 ] }, { "teal": 822, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 770 ] }, { "teal": 823, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 771 ] }, { "teal": 824, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 772 ] }, { "teal": 825, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 773 ] }, { "teal": 828, "source": "examples/arc58/arc58.algo.ts:222", "errorMessage": "argument 0 (adminPrivileges) for arc58_addPlugin must be a bool", "pc": [ 774 ] }, { "teal": 829, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 775 ] }, { "teal": 830, "source": "examples/arc58/arc58.algo.ts:222", "pc": [ 776 ] }, { "teal": 833, "source": "examples/arc58/arc58.algo.ts:221", "pc": [ 777, 778, 779 ] }, { "teal": 834, "source": "examples/arc58/arc58.algo.ts:221", "pc": [ 780 ] }, { "teal": 837, "source": "examples/arc58/arc58.algo.ts:220", "pc": [ 781, 782, 783 ] }, { "teal": 838, "source": "examples/arc58/arc58.algo.ts:220", "pc": [ 784 ] }, { "teal": 841, "source": "examples/arc58/arc58.algo.ts:219", "pc": [ 785, 786, 787 ] }, { "teal": 842, "source": "examples/arc58/arc58.algo.ts:219", "pc": [ 788 ] }, { "teal": 843, "source": "examples/arc58/arc58.algo.ts:219", "pc": [ 789 ] }, { "teal": 844, "source": "examples/arc58/arc58.algo.ts:219", "pc": [ 790 ] }, { "teal": 845, "source": "examples/arc58/arc58.algo.ts:219", "pc": [ 791 ] }, { "teal": 848, "source": "examples/arc58/arc58.algo.ts:219", "errorMessage": "argument 3 (allowedCaller) for arc58_addPlugin must be a address", "pc": [ 792 ] }, { "teal": 851, "source": "examples/arc58/arc58.algo.ts:218", "pc": [ 793, 794, 795 ] }, { "teal": 852, "source": "examples/arc58/arc58.algo.ts:218", "pc": [ 796 ] }, { "teal": 855, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 797, 798, 799 ] }, { "teal": 856, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 800 ] }, { "teal": 857, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 801 ] }, { "teal": 870, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 802, 803, 804 ] }, { "teal": 873, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 805 ] }, { "teal": 878, "source": "examples/arc58/arc58.algo.ts:224", "pc": [ 806, 807 ] }, { "teal": 879, "source": "examples/arc58/arc58.algo.ts:224", "pc": [ 808 ] }, { "teal": 880, "source": "examples/arc58/arc58.algo.ts:224", "pc": [ 809 ] }, { "teal": 881, "source": "examples/arc58/arc58.algo.ts:224", "pc": [ 810 ] }, { "teal": 884, "source": "examples/arc58/arc58.algo.ts:224", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 811 ] }, { "teal": 888, "source": "examples/arc58/arc58.algo.ts:225", "pc": [ 812, 813 ] }, { "teal": 889, "source": "examples/arc58/arc58.algo.ts:225", "pc": [ 814 ] }, { "teal": 890, "source": "examples/arc58/arc58.algo.ts:225", "pc": [ 815, 816 ] }, { "teal": 891, "source": "examples/arc58/arc58.algo.ts:225", "pc": [ 817 ] }, { "teal": 892, "source": "examples/arc58/arc58.algo.ts:225", "pc": [ 818, 819 ] }, { "teal": 901, "source": "examples/arc58/arc58.algo.ts:226", "pc": [ 820 ] }, { "teal": 902, "source": "examples/arc58/arc58.algo.ts:226", "pc": [ 821, 822 ] }, { "teal": 903, "source": "examples/arc58/arc58.algo.ts:226", "pc": [ 823 ] }, { "teal": 904, "source": "examples/arc58/arc58.algo.ts:227", "pc": [ 824, 825 ] }, { "teal": 905, "source": "examples/arc58/arc58.algo.ts:227", "pc": [ 826 ] }, { "teal": 906, "source": "examples/arc58/arc58.algo.ts:228", "pc": [ 827, 828 ] }, { "teal": 907, "source": "examples/arc58/arc58.algo.ts:228", "pc": [ 829 ] }, { "teal": 908, "source": "examples/arc58/arc58.algo.ts:228", "pc": [ 830 ] }, { "teal": 909, "source": "examples/arc58/arc58.algo.ts:229", "pc": [ 831, 832 ] }, { "teal": 910, "source": "examples/arc58/arc58.algo.ts:229", "pc": [ 833 ] }, { "teal": 911, "source": "examples/arc58/arc58.algo.ts:230", "pc": [ 834, 835 ] }, { "teal": 912, "source": "examples/arc58/arc58.algo.ts:230", "pc": [ 836 ] }, { "teal": 913, "source": "examples/arc58/arc58.algo.ts:230", "pc": [ 837, 838 ] }, { "teal": 914, "source": "examples/arc58/arc58.algo.ts:230", "pc": [ 839 ] }, { "teal": 915, "source": "examples/arc58/arc58.algo.ts:226", "pc": [ 840 ] }, { "teal": 916, "source": "examples/arc58/arc58.algo.ts:226", "pc": [ 841 ] }, { "teal": 917, "source": "examples/arc58/arc58.algo.ts:217", "pc": [ 842 ] }, { "teal": 922, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 843, 844, 845 ] }, { "teal": 923, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 846 ] }, { "teal": 924, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 847 ] }, { "teal": 925, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 848 ] }, { "teal": 926, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 849 ] }, { "teal": 929, "source": "examples/arc58/arc58.algo.ts:239", "errorMessage": "argument 0 (allowedCaller) for arc58_removePlugin must be a address", "pc": [ 850 ] }, { "teal": 932, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 851, 852, 853 ] }, { "teal": 933, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 854 ] }, { "teal": 936, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 855, 856, 857 ] }, { "teal": 937, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 858 ] }, { "teal": 938, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 859 ] }, { "teal": 946, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 860, 861, 862 ] }, { "teal": 949, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 863 ] }, { "teal": 954, "source": "examples/arc58/arc58.algo.ts:240", "pc": [ 864, 865 ] }, { "teal": 955, "source": "examples/arc58/arc58.algo.ts:240", "pc": [ 866 ] }, { "teal": 956, "source": "examples/arc58/arc58.algo.ts:240", "pc": [ 867 ] }, { "teal": 957, "source": "examples/arc58/arc58.algo.ts:240", "pc": [ 868 ] }, { "teal": 960, "source": "examples/arc58/arc58.algo.ts:240", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 869 ] }, { "teal": 964, "source": "examples/arc58/arc58.algo.ts:242", "pc": [ 870, 871 ] }, { "teal": 965, "source": "examples/arc58/arc58.algo.ts:242", "pc": [ 872 ] }, { "teal": 966, "source": "examples/arc58/arc58.algo.ts:242", "pc": [ 873, 874 ] }, { "teal": 967, "source": "examples/arc58/arc58.algo.ts:242", "pc": [ 875 ] }, { "teal": 968, "source": "examples/arc58/arc58.algo.ts:242", "pc": [ 876, 877 ] }, { "teal": 972, "source": "examples/arc58/arc58.algo.ts:243", "pc": [ 878 ] }, { "teal": 973, "source": "examples/arc58/arc58.algo.ts:243", "pc": [ 879, 880 ] }, { "teal": 974, "source": "examples/arc58/arc58.algo.ts:243", "pc": [ 881 ] }, { "teal": 975, "source": "examples/arc58/arc58.algo.ts:243", "pc": [ 882 ] }, { "teal": 976, "source": "examples/arc58/arc58.algo.ts:239", "pc": [ 883 ] }, { "teal": 981, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 884, 885, 886 ] }, { "teal": 982, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 887 ] }, { "teal": 983, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 888 ] }, { "teal": 984, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 889 ] }, { "teal": 985, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 890 ] }, { "teal": 988, "source": "examples/arc58/arc58.algo.ts:263", "errorMessage": "argument 0 (adminPrivileges) for arc58_addNamedPlugin must be a bool", "pc": [ 891 ] }, { "teal": 989, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 892 ] }, { "teal": 990, "source": "examples/arc58/arc58.algo.ts:263", "pc": [ 893 ] }, { "teal": 993, "source": "examples/arc58/arc58.algo.ts:262", "pc": [ 894, 895, 896 ] }, { "teal": 994, "source": "examples/arc58/arc58.algo.ts:262", "pc": [ 897 ] }, { "teal": 997, "source": "examples/arc58/arc58.algo.ts:261", "pc": [ 898, 899, 900 ] }, { "teal": 998, "source": "examples/arc58/arc58.algo.ts:261", "pc": [ 901 ] }, { "teal": 1001, "source": "examples/arc58/arc58.algo.ts:260", "pc": [ 902, 903, 904 ] }, { "teal": 1002, "source": "examples/arc58/arc58.algo.ts:260", "pc": [ 905 ] }, { "teal": 1003, "source": "examples/arc58/arc58.algo.ts:260", "pc": [ 906 ] }, { "teal": 1004, "source": "examples/arc58/arc58.algo.ts:260", "pc": [ 907 ] }, { "teal": 1005, "source": "examples/arc58/arc58.algo.ts:260", "pc": [ 908 ] }, { "teal": 1008, "source": "examples/arc58/arc58.algo.ts:260", "errorMessage": "argument 3 (allowedCaller) for arc58_addNamedPlugin must be a address", "pc": [ 909 ] }, { "teal": 1011, "source": "examples/arc58/arc58.algo.ts:259", "pc": [ 910, 911, 912 ] }, { "teal": 1012, "source": "examples/arc58/arc58.algo.ts:259", "pc": [ 913 ] }, { "teal": 1015, "source": "examples/arc58/arc58.algo.ts:258", "pc": [ 914, 915, 916 ] }, { "teal": 1016, "source": "examples/arc58/arc58.algo.ts:258", "pc": [ 917, 918, 919 ] }, { "teal": 1019, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 920, 921, 922 ] }, { "teal": 1020, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 923 ] }, { "teal": 1021, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 924 ] }, { "teal": 1035, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 925, 926, 927 ] }, { "teal": 1038, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 928 ] }, { "teal": 1043, "source": "examples/arc58/arc58.algo.ts:265", "pc": [ 929, 930 ] }, { "teal": 1044, "source": "examples/arc58/arc58.algo.ts:265", "pc": [ 931 ] }, { "teal": 1045, "source": "examples/arc58/arc58.algo.ts:265", "pc": [ 932 ] }, { "teal": 1046, "source": "examples/arc58/arc58.algo.ts:265", "pc": [ 933 ] }, { "teal": 1049, "source": "examples/arc58/arc58.algo.ts:265", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 934 ] }, { "teal": 1053, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 935, 936 ] }, { "teal": 1054, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 937, 938 ] }, { "teal": 1055, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 939 ] }, { "teal": 1056, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 940 ] }, { "teal": 1057, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 941 ] }, { "teal": 1058, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 942 ] }, { "teal": 1059, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 943 ] }, { "teal": 1060, "source": "examples/arc58/arc58.algo.ts:266", "pc": [ 944 ] }, { "teal": 1064, "source": "examples/arc58/arc58.algo.ts:268", "pc": [ 945, 946 ] }, { "teal": 1065, "source": "examples/arc58/arc58.algo.ts:268", "pc": [ 947 ] }, { "teal": 1066, "source": "examples/arc58/arc58.algo.ts:268", "pc": [ 948, 949 ] }, { "teal": 1067, "source": "examples/arc58/arc58.algo.ts:268", "pc": [ 950 ] }, { "teal": 1068, "source": "examples/arc58/arc58.algo.ts:268", "pc": [ 951, 952 ] }, { "teal": 1072, "source": "examples/arc58/arc58.algo.ts:269", "pc": [ 953, 954 ] }, { "teal": 1073, "source": "examples/arc58/arc58.algo.ts:269", "pc": [ 955, 956 ] }, { "teal": 1074, "source": "examples/arc58/arc58.algo.ts:269", "pc": [ 957 ] }, { "teal": 1075, "source": "examples/arc58/arc58.algo.ts:269", "pc": [ 958, 959 ] }, { "teal": 1076, "source": "examples/arc58/arc58.algo.ts:269", "pc": [ 960 ] }, { "teal": 1085, "source": "examples/arc58/arc58.algo.ts:270", "pc": [ 961 ] }, { "teal": 1086, "source": "examples/arc58/arc58.algo.ts:270", "pc": [ 962, 963 ] }, { "teal": 1087, "source": "examples/arc58/arc58.algo.ts:270", "pc": [ 964 ] }, { "teal": 1088, "source": "examples/arc58/arc58.algo.ts:271", "pc": [ 965, 966 ] }, { "teal": 1089, "source": "examples/arc58/arc58.algo.ts:271", "pc": [ 967 ] }, { "teal": 1090, "source": "examples/arc58/arc58.algo.ts:272", "pc": [ 968, 969 ] }, { "teal": 1091, "source": "examples/arc58/arc58.algo.ts:272", "pc": [ 970 ] }, { "teal": 1092, "source": "examples/arc58/arc58.algo.ts:272", "pc": [ 971 ] }, { "teal": 1093, "source": "examples/arc58/arc58.algo.ts:273", "pc": [ 972, 973 ] }, { "teal": 1094, "source": "examples/arc58/arc58.algo.ts:273", "pc": [ 974 ] }, { "teal": 1095, "source": "examples/arc58/arc58.algo.ts:274", "pc": [ 975, 976 ] }, { "teal": 1096, "source": "examples/arc58/arc58.algo.ts:274", "pc": [ 977 ] }, { "teal": 1097, "source": "examples/arc58/arc58.algo.ts:274", "pc": [ 978, 979 ] }, { "teal": 1098, "source": "examples/arc58/arc58.algo.ts:274", "pc": [ 980 ] }, { "teal": 1099, "source": "examples/arc58/arc58.algo.ts:270", "pc": [ 981 ] }, { "teal": 1100, "source": "examples/arc58/arc58.algo.ts:270", "pc": [ 982 ] }, { "teal": 1101, "source": "examples/arc58/arc58.algo.ts:257", "pc": [ 983 ] }, { "teal": 1106, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 984, 985, 986 ] }, { "teal": 1107, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 987, 988, 989 ] }, { "teal": 1110, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 990, 991, 992 ] }, { "teal": 1111, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 993 ] }, { "teal": 1112, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 994 ] }, { "teal": 1120, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 995, 996, 997 ] }, { "teal": 1123, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 998 ] }, { "teal": 1128, "source": "examples/arc58/arc58.algo.ts:284", "pc": [ 999, 1000 ] }, { "teal": 1129, "source": "examples/arc58/arc58.algo.ts:284", "pc": [ 1001 ] }, { "teal": 1130, "source": "examples/arc58/arc58.algo.ts:284", "pc": [ 1002 ] }, { "teal": 1131, "source": "examples/arc58/arc58.algo.ts:284", "pc": [ 1003 ] }, { "teal": 1134, "source": "examples/arc58/arc58.algo.ts:284", "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"sender\",\"expected\":\"this.admin.value\"}", "pc": [ 1004 ] }, { "teal": 1138, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1005, 1006 ] }, { "teal": 1139, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1007, 1008 ] }, { "teal": 1140, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1009 ] }, { "teal": 1141, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1010, 1011 ] }, { "teal": 1145, "source": "examples/arc58/arc58.algo.ts:287", "pc": [ 1012, 1013 ] }, { "teal": 1146, "source": "examples/arc58/arc58.algo.ts:287", "pc": [ 1014, 1015 ] }, { "teal": 1147, "source": "examples/arc58/arc58.algo.ts:287", "pc": [ 1016 ] }, { "teal": 1148, "source": "examples/arc58/arc58.algo.ts:287", "pc": [ 1017 ] }, { "teal": 1152, "source": "examples/arc58/arc58.algo.ts:288", "pc": [ 1018 ] }, { "teal": 1153, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1019, 1020 ] }, { "teal": 1154, "source": "examples/arc58/arc58.algo.ts:286", "pc": [ 1021 ] }, { "teal": 1157, "source": "examples/arc58/arc58.algo.ts:286", "errorMessage": "box value does not exist: this.namedPlugins(name).value", "pc": [ 1022 ] }, { "teal": 1158, "source": "examples/arc58/arc58.algo.ts:288", "pc": [ 1023 ] }, { "teal": 1159, "source": "examples/arc58/arc58.algo.ts:288", "pc": [ 1024 ] }, { "teal": 1160, "source": "examples/arc58/arc58.algo.ts:283", "pc": [ 1025 ] }, { "teal": 1163, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1026, 1027, 1028, 1029, 1030, 1031 ] }, { "teal": 1164, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1032, 1033, 1034 ] }, { "teal": 1165, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1035, 1036, 1037, 1038 ] }, { "teal": 1168, "source": "examples/arc58/arc58.algo.ts:21", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 1039 ] }, { "teal": 1171, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1040, 1041, 1042, 1043, 1044, 1045 ] }, { "teal": 1172, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1046, 1047, 1048, 1049, 1050, 1051 ] }, { "teal": 1173, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1052, 1053, 1054, 1055, 1056, 1057 ] }, { "teal": 1174, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1058, 1059 ] }, { "teal": 1175, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1060, 1061, 1062, 1063, 1064, 1065 ] }, { "teal": 1176, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1066, 1067, 1068, 1069, 1070, 1071 ] }, { "teal": 1177, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1072, 1073, 1074, 1075, 1076, 1077 ] }, { "teal": 1178, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1078, 1079, 1080, 1081, 1082, 1083 ] }, { "teal": 1179, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1084, 1085, 1086, 1087, 1088, 1089 ] }, { "teal": 1180, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1090, 1091, 1092, 1093, 1094, 1095 ] }, { "teal": 1181, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1096, 1097, 1098, 1099, 1100, 1101 ] }, { "teal": 1182, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1102, 1103, 1104 ] }, { "teal": 1183, "source": "examples/arc58/arc58.algo.ts:21", "pc": [ 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128 ] }, { "teal": 1186, "source": "examples/arc58/arc58.algo.ts:21", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 1129 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIgNgpieXRlY2Jsb2NrIDB4NzAgMHg2MSAweCAweDYzIDB4NmUgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MGY4ODU0OTMgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDcuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAzIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCk6IHZvaWQKLy8KLy8gRW5zdXJlIHRoYXQgYnkgdGhlIGVuZCBvZiB0aGUgZ3JvdXAgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBoYXMgY29udHJvbCBvZiBpdHMgYWRkcmVzcwp2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQ6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NQoJLy8gcmVrZXllZEJhY2sgPSBmYWxzZQoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGZvciAobGV0IGkgPSB0aGlzLnR4bi5ncm91cEluZGV4OyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGg7IGkgKz0gMSkKCXR4biBHcm91cEluZGV4CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZ2xvYmFsIEdyb3VwU2l6ZQoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDgKCS8vIHR4biA9IHRoaXMudHhuR3JvdXBbaV0KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIHR4bjogdHhuCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTEKCS8vIHR4bi5zZW5kZXIgPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUgJiYgdHhuLnJla2V5VG8gPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MgoJLy8gcmVrZXllZEJhY2sgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTgKCS8vIHR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCAmJgoJLy8gICAgICAgICB0eG4uYXBwbGljYXRpb25JRCA9PT0gdGhpcy5hcHAgJiYKCS8vICAgICAgICAgdHhuLm51bUFwcEFyZ3MgPT09IDEgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uQXJnc1swXSA9PT0gbWV0aG9kKCdhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCcpCglmcmFtZV9kaWcgMiAvLyB0eG46IHR4bgoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNiAvLyAgbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gYWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW4pIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJvbGxlZEFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoY29udHJvbGxlZEFkZHJlc3MpIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MsIGFkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBDcmVhdGUgYW4gYWJzdHJhY3RlZCBhY2NvdW50IGFwcGxpY2F0aW9uLgovLyBUaGlzIGlzIG5vdCBwYXJ0IG9mIEFSQzU4IGFuZCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4KLy8KLy8gQHBhcmFtIGNvbnRyb2xsZWRBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBhYnN0cmFjdGVkIGFjY291bnQuIElmIHplcm9BZGRyZXNzLCB0aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBhY2NvdW50IHdpbGwgYmUgdXNlZAovLyBAcGFyYW0gYWRtaW4gVGhlIGFkbWluIGZvciB0aGlzIGFwcApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6ODcKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCT09Cgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Iltjb250cm9sbGVkQWRkcmVzcywgYWRtaW5dIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTEKCS8vIGFzc2VydChhZG1pbiAhPT0gY29udHJvbGxlZEFkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTMKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBhZG1pbgoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo5NAoJLy8gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSA9IGNvbnRyb2xsZWRBZGRyZXNzID09PSBBZGRyZXNzLnplcm9BZGRyZXNzID8gdGhpcy5hcHAuYWRkcmVzcyA6IGNvbnRyb2xsZWRBZGRyZXNzCglieXRlYyAzIC8vICAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTA0CgkvLyB0aGlzLmFkbWluLnZhbHVlID0gbmV3QWRtaW4KCWJ5dGVjIDEgLy8gICJhIgoJZnJhbWVfZGlnIC0xIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwbHVnaW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbihwbHVnaW46IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIHZpYSBwbHVnaW4uCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCBjYWxsaW5nIHRoZSBwbHVnaW4KLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3MgdGhhdCB0cmlnZ2VyZWQgdGhlIHBsdWdpbgovLyBAcGFyYW0gbmV3QWRtaW4gVGhlIG5ldyBhZG1pbgphcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTYKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHBsdWdpbi5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoicGx1Z2luLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTcKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSBwbHVnaW4uYWRkcmVzcywgJ1RoaXMgcGx1Z2luIGlzIG5vdCBpbiBjb250cm9sIG9mIHRoZSBhY2NvdW50JykKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNAoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglnZXRiaXQKCSYmCgoqc2tpcF9hbmQ0OgoJLy8gVGhpcyBwbHVnaW4gZG9lcyBub3QgaGF2ZSBhZG1pbiBwcml2aWxlZ2VzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEyNQoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlYyAxIC8vICAiYSIKCWZyYW1lX2RpZyAtMyAvLyBuZXdBZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNThfZ2V0QWRtaW4oKWFkZHJlc3MKKmFiaV9yb3V0ZV9hcmM1OF9nZXRBZG1pbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJLy8gZXhlY3V0ZSBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoJY2FsbHN1YiBhcmM1OF92ZXJpZnlBdXRoQWRkcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKTogdm9pZAovLwovLyBWZXJpZnkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBpcyByZWtleWVkIHRvIHRoaXMgYXBwCmFyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNDAKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSB0aGlzLmdldEF1dGhBZGRyKCkpCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglhY2N0X3BhcmFtc19nZXQgQWNjdEF1dGhBZGRyCglwb3AKCWNhbGxzdWIgZ2V0QXV0aEFkZHIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG86CgkvLyBmbGFzaDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGZsYXNoKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhZGRyKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG8oYWRkcjogQWRkcmVzcywgZmxhc2g6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIFJla2V5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgdG8gYW5vdGhlciBhZGRyZXNzLiBQcmltYXJpbHkgdXNlZnVsIGZvciByZWtleWluZyB0byBhbiBFT0EuCi8vCi8vIEBwYXJhbSBhZGRyIFRoZSBhZGRyZXNzIHRvIHJla2V5IHRvCi8vIEBwYXJhbSBmbGFzaCBXaGV0aGVyIG9yIG5vdCB0aGlzIHNob3VsZCBiZSBhIGZsYXNoIHJla2V5LiBJZiB0cnVlLCB0aGUgcmVrZXkgYmFjayB0byB0aGUgYXBwIGFkZHJlc3MgbXVzdCBkb25lIGluIHRoZSBzYW1lIHR4biBncm91cCBhcyB0aGlzIGNhbGwKYXJjNThfcmVrZXlUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUwCgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUzCgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglwdXNoYnl0ZXMgMHg3MjY1NmI2NTc5Njk2ZTY3MjA2MTYyNzM3NDcyNjE2Mzc0NjU2NDIwNjE2MzYzNmY3NTZlNzQgLy8gInJla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIGZsYXNoCglmcmFtZV9kaWcgLTIgLy8gZmxhc2g6IGJvb2xlYW4KCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE1OQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCippZjJfZW5kOgoJcmV0c3ViCgovLyBwbHVnaW5DYWxsQWxsb3dlZChhcHA6IEFwcElELCBjYWxsZXI6IEFkZHJlc3MpOiBib29sZWFuCnBsdWdpbkNhbGxBbGxvd2VkOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2MwoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBjYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBjYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTY1CgkvLyByZXR1cm4gKAoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkuZXhpc3RzICYmCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5sYXN0VmFsaWRSb3VuZCA+PSBnbG9iYWxzLnJvdW5kICYmCgkvLyAgICAgICBnbG9iYWxzLnJvdW5kIC0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdENhbGxlZCA+PSB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5jb29sZG93bgoJLy8gICAgICk7CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNQoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxNiA4CglidG9pCgktCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCT49CgkmJgoKKnNraXBfYW5kNjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbjoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4ocGx1Z2luOiBBcHBJRCk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYW4gYXBwcm92ZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCB0byByZWtleSB0bwphcmM1OF9yZWtleVRvUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsQWxsb3dlZCA9IHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoJZnJhbWVfYnVyeSAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODAKCS8vICFnbG9iYWxBbGxvd2VkCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODEKCS8vIGFzc2VydCh0aGlzLnBsdWdpbkNhbGxBbGxvd2VkKHBsdWdpbiwgdGhpcy50eG4uc2VuZGVyKSwgJ1RoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4nKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWNhbGxzdWIgcGx1Z2luQ2FsbEFsbG93ZWQKCgkvLyBUaGlzIHNlbmRlciBpcyBub3QgYWxsb3dlZCB0byB0cmlnZ2VyIHRoaXMgcGx1Z2luCglhc3NlcnQKCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODMKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MsCgkvLyAgICAgICBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODQKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZWMgMyAvLyAgImMiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NQoJLy8gcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCXB1c2hieXRlcyAweDcyNjU2YjY1Nzk2OTZlNjcyMDc0NmYyMDcwNmM3NTY3Njk2ZTIwNjE3MDcwIC8vICJyZWtleWluZyB0byBwbHVnaW4gYXBwIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTkwCgkvLyB0aGlzLnBsdWdpbnMoewoJLy8gICAgICAgYXBwbGljYXRpb246IHBsdWdpbiwKCS8vICAgICAgIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgIH0pLnZhbHVlLmxhc3RDYWxsZWQgPSBnbG9iYWxzLnJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTNfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTNfZW5kCgoqdGVybmFyeTNfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTNfZW5kOgoJY29uY2F0Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyh7IGFwcGxpY2F0aW9uOiBwbHVnaW4sIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLCB9KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxNgoJZ2xvYmFsIFJvdW5kCglpdG9iCglyZXBsYWNlMwoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIDAgLy8gZ2xvYmFsQWxsb3dlZDogYm9vbAoJYnogKnRlcm5hcnk1X2ZhbHNlCglnbG9iYWwgWmVyb0FkZHJlc3MKCWIgKnRlcm5hcnk1X2VuZAoKKnRlcm5hcnk1X2ZhbHNlOgoJdHhuIFNlbmRlcgoKKnRlcm5hcnk1X2VuZDoKCWNvbmNhdAoJY29uY2F0Cglzd2FwCglib3hfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxOTUKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZWtleVRvTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFRlbXBvcmFyaWx5IHJla2V5IHRvIGEgbmFtZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdG8gcmVrZXkgdG8KYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMDQKCS8vIHRoaXMuYXJjNThfcmVrZXlUb1BsdWdpbih0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZS5hcHBsaWNhdGlvbikKCWludGMgMSAvLyAwCglwdXNoaW50IDgKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBhcmM1OF9yZWtleVRvUGx1Z2luCglyZXRzdWIKCi8vIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbjoKCS8vIGFkbWluUHJpdmlsZWdlczogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluUHJpdmlsZWdlcykgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGRQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9hZGRQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYW4gYXBwIHRvIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIGFkZAovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyBvZiB0aGF0J3MgYWxsb3dlZCB0byBjYWxsIHRoZSBhcHAKLy8gb3IgdGhlIGdsb2JhbCB6ZXJvIGFkZHJlc3MgZm9yIGFsbCBhZGRyZXNzZXMKLy8gQHBhcmFtIGxhc3RWYWxpZFJvdW5kIFRoZSByb3VuZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGV4cGlyZXMKLy8gQHBhcmFtIGNvb2xkb3duICBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0aGF0IG11c3QgcGFzcyBiZWZvcmUgdGhlIHBsdWdpbiBjYW4gYmUgY2FsbGVkIGFnYWluCi8vIEBwYXJhbSBhZG1pblByaXZpbGVnZXMgV2hldGhlciB0aGUgcGx1Z2luIGhhcyBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIGFkbWluIGFjY291bnQKYXJjNThfYWRkUGx1Z2luOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIyNAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC00IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC01IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVQbHVnaW46CgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9yZW1vdmVQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3JlbW92ZVBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzKTogdm9pZAovLwovLyBSZW1vdmUgYW4gYXBwIGZyb20gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gcmVtb3ZlCmFyYzU4X3JlbW92ZVBsdWdpbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDAKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQyCgkvLyBrZXk6IFBsdWdpbnNLZXkgPSB7IGFwcGxpY2F0aW9uOiBhcHAsIGFsbG93ZWRDYWxsZXI6IGFsbG93ZWRDYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI0MwoJLy8gdGhpcy5wbHVnaW5zKGtleSkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjYKCS8vIGFzc2VydCghdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkuZXhpc3RzKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjgKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTIgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY5CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZSA9IGtleQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTQgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC01IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC02IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4oc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFJlbW92ZSBhIG5hbWVkIHBsdWdpbgovLwovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NgoJLy8gYXBwID0gdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4OAoJLy8gdGhpcy5wbHVnaW5zKGFwcCkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWFzc2VydAoJY29uY2F0Cglib3hfZGVsCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI0Yzc3ZDcxIC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkMjRiNzU1NiAvLyBtZXRob2QgImFyYzU4X2NoYW5nZUFkbWluKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDVmYTQ0OWM2IC8vIG1ldGhvZCAiYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNiYzQ0ZTQgLy8gbWV0aG9kICJhcmM1OF9nZXRBZG1pbigpYWRkcmVzcyIKCWJ5dGVjIDYgLy8gIG1ldGhvZCAiYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQiCglwdXNoYnl0ZXMgMHhjOTVhNWQzZCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHg3Yzc2NmRkYyAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1NmYyOGI1OCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGQxMmRjYjYxIC8vIG1ldGhvZCAiYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQzNzIzNTUgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhhNzJhNzUwIC8vIG1ldGhvZCAiYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTM1MGI5ZDQgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNThfY2hhbmdlQWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluICphYmlfcm91dGVfYXJjNThfdmVyaWZ5QXV0aEFkZHIgKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvICphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3JlbW92ZVBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZE5hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAEAQAgBiYIAXABYQABYwFuCAAAAAAAAAAABA+IVJMBADEYFCULMRkIjQwDzAAAAAAAAAAAAAADvgAAAAAAAAAAAAAAigAAKkcCI4wAMRaMAYsBMgQMQQBdiwGMAosCOAArZBJJQQAIiwI4ICtkEhBBAAYijABCAD2LAjgQJRJJQQAJiwI4GDYyABIQSUEAB4sCOBsiEhBJQQAJiwI5GgAnBhIQQQAGIowAQgAJiwEiCIwBQv+biwBEiYoAAStkMgoSQQAFMgNCAAIyCok2GgJJFSQSRDYaAUkVJBJEiAACIkOKAgAxAIv/EjEAi/4SEUSL/ov/E0Qpi/5nK4v/MgMSQQAFMgpCAAKL/2eJNhoBSRUkEkSIAAIiQ4oBADEAKWQSRCmL/2eJNhoDSRUkEkQ2GgJJFSQSRDYaAReIAAIiQ4oDACoxAIv/cghIEkQrZHMCSIv/cghIEkSL/xaL/lCMACiLAFC9TEhJQQAPKIsAUL5ENf80/4HAAVMQRCmL/WeJgAQVH3x1iAAEULAiQ4oAASlkiYgAAiJDigAAK2RzAkiI/xUSRIk2GgJJFSISRCNTNhoBSRUkEkSIAAIiQ4oCADEAKWQSRLEishArZLIAi/+yB4v/siCAG3Jla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudLIFI7IBs4v+QQADiP5BiYoCASqL/xaL/lCMACiLAFC9TEhJQQASKIsAUL5ENf80/1cACBcyBg8QSUEAITIGKIsAUL5ENf80/1cQCBcJKIsAUL5ENf80/1cICBcPEIwAiTYaAReIAAIiQ4oBACoyA4v/iP+bjACLABRBAAgxAIv/iP+MRLEishArZLIAK2SyB4v/cghIsiCAFnJla2V5aW5nIHRvIHBsdWdpbiBhcHCyBSOyAbMoi/8WiwBBAAUyA0IAAjEAUFC+RDX/NP+BEDIGFl0oi/8WiwBBAAUyA0IAAjEAUFBMv4j9ZYk2GgFXAgCIAAIiQ4oBACOBCCcEi/9QTgK6F4j/YYk2GgVJFSISRCNTNhoEFzYaAxc2GgJJFSQSRDYaAReIAAIiQ4oFACoxAClkEkSL/xaL/lCMACiLAFCL/RaL/BZQJwVQJwcji/tUUL+JNhoCSRUkEkQ2GgEXiAACIkOKAgAqMQApZBJEi/8Wi/5QjAAoiwBQvIk2GgZJFSISRCNTNhoFFzYaBBc2GgNJFSQSRDYaAhc2GgFXAgCIAAIiQ4oGACoxAClkEkQnBIv/UL1MSBREi/4Wi/1QjAAnBIv/UIsAvyiLAFCL/BaL+xZQJwVQJwcji/pUUL+JNhoBVwIAiAACIkOKAQAqMQApZBJEJwSL/1CMACcEi/9QvCiLAL5EULyJgAS0x31xNhoAjgH8vwCABNJLdVaABF+kScaABBO8ROQnBoAEyVpdPYAEfHZt3IAEVvKLWIAE0S3LYYAETTcjVYAEinKnUIAE41C51DYaAI4L/KX8wP0a/S39QP3t/nj+lv7i/wv/bwA=", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4" } } }